当前位置: 首页 > news >正文

品牌网站建设内容wordpress资源下载主题

品牌网站建设内容,wordpress资源下载主题,建设银行贷款网站,软文写作服务使用Eclipse自动生成Soap Client的代码 在项目按右键#xff0c;选择New - Other -Web Services - Web Service Client#xff0c;进入向导。 加入自有代码#xff0c;例如加入Envelope Header 在xxxxStub.java文件相应的方法中加入#xff1a; public com.…使用Eclipse自动生成Soap Client的代码 在项目按右键选择New - Other -Web Services - Web Service Client进入向导。 加入自有代码例如加入Envelope Header 在xxxxStub.java文件相应的方法中加入 public com.example.api.ApiStatus.EchoResponse echo(com.example.api.ApiStatus.Echo echo) throws java.rmi.RemoteException {if (super.cachedEndpoint null) {throw new org.apache.axis.NoEndPointException();}org.apache.axis.client.Call _call createCall();_call.setOperation(_operations[0]);_call.setUseSOAPAction(true);_call.setSOAPActionURI();_call.setEncodingStyle(null);_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName(, echo));setRequestHeaders(_call);setAttachments(_call);//这里是加入的Header的内容SoapUtils.addAuthSoapHeader(_call); try { 。。。。。。 public class SoapUtils {private static final Logger log LogManager.getLogger();private static SOAPFactory soapFactory;static{try {soapFactory SOAPFactory.newInstance();} catch (SOAPException e) {log.fatal([FATAL] create SOAP Factory error : {},e.toString());}}//参考http://blog.csdn.net/oscar999/article/details/40340819private static SOAPHeaderElement createDcpSoapHeader(String userName, String password){try {String AUTH_PREFIX wsse;String AUTH_NS http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd;SOAPElement wsSecHeaderElm soapFactory.createElement(Security, AUTH_PREFIX, AUTH_NS);SOAPElement userNameTokenElm soapFactory.createElement(UsernameToken, AUTH_PREFIX, AUTH_NS);SOAPElement userNameElm soapFactory.createElement(Username, AUTH_PREFIX, AUTH_NS);SOAPElement passwdElm soapFactory.createElement(Password, AUTH_PREFIX, AUTH_NS);userNameElm.addTextNode(userName);passwdElm.addTextNode(password);userNameTokenElm.addChildElement(userNameElm);userNameTokenElm.addChildElement(passwdElm);wsSecHeaderElm.addChildElement(userNameTokenElm);SOAPHeaderElement soapHeaderElement new SOAPHeaderElement(wsSecHeaderElm);soapHeaderElement.setMustUnderstand(true);return soapHeaderElement;} catch (Exception e) {return null;}}public static void addAuthSoapHeader(org.apache.axis.client.Call call,String userName, String password){SOAPHeaderElement header createDcpSoapHeader(userName,password);if(header ! null)call.addHeader(header);} } 更好的方式还可以参考 Web Service SOAP Client 设置 SOAP Header那里给出更通用的解决方式而这里需要对每个接口都进行设置。主要是了解一下soap client的代码。 网络出现问题多次重发的实现 利用Java的Function类在SoapUtils实现通用的多次重发方法。 public class SoapUtils {private static final Logger log LogManager.getLogger();......//在log上显示错误并判断是否因为网络连接问题而需要重复public static boolean showAndCheckRetryEAxisFault(Exception e){if( e instanceof ConnectException)return true;if( e instanceof AxisFault){AxisFault fault (AxisFault)e;if(fault.getFaultString().startsWith(java.net.ConnectException))return true;log.error( fault.dumpToString());return false;}return false;}//在log上显示错误 public static void showAxisFault(Exception e){ if( e instanceof AxisFault){AxisFault fault (AxisFault)e;log.error( fault.dumpToString());} }// 根据重复后退的retriesDelay参数在网络出现故障时进行重复。其中SoapUtils.ThrowingFunctionT, R func就是soap proxy中的具体某个方法。这个func因为抛出异常不能直接使用FunctionT,R需要通过ThrowingFunctionT,R extends FunctionT,R来实现。public static T, R R funcApplyWithThrow(SoapUtils.ThrowingFunctionT, R func,T param, Long ... retriesDelay) throws AxisFault,Exception{ if(retriesDelay ! null){for(int i 0 ; i retriesDelay.length ; i ){ try {return func.applyThrows(param);} catch (Exception e) { if(!SoapUtils.showAndCheckRetryEAxisFault(e))throw e;log.debug(Try to fix {}, resend({}) after {}ms, e.toString(), i1, retriesDelay[i]); } NormalUtils.sleep(retriesDelay[i]); }}try{return func.applyThrows(param);}catch(Exception e){SoapUtils.showAxisFault(e);throw e;} } //参考slieb.org/blog/throwable-interfaces/FunctionalInterfacepublic static interface ThrowingFunctionT,R extends FunctionT,R {Overridedefault R apply(T t){try{return applyThrows(t);}catch (RemoteException e){throw new RuntimeException(e);}}R applyThrows(T t) throws RemoteException;} } 具体某个重发的实现 private final MySoapProxy proxy new MySoapProxy(url);Override public QueryResponse query(Long ...retriesDelay) throws AxisFault,Exception{ QueryParam param new QueryParam();return SoapUtils.funcApplyWithThrow(proxy::query, param, retriesDelay); } 相关链接我的Professional Java for Web Applications相关文章
http://www.dnsts.com.cn/news/68444.html

相关文章:

  • 海门做网站专业搭建网站公司
  • 知乎 上海做网站的公司成立一个做网站的公司
  • 网站备案电话现货黄金什么网站可以做直播
  • 英语网站都可以做哪些内容外贸网站免费模板
  • 网站建设企业 熊掌号深圳网络营销推广方案
  • 长沙创建一个网站需要多少钱公司怎么样做网站
  • 广东网站seo国外比较好的设计网站
  • 软件开发公司网站模板门户网站cms程序
  • 网站毕业设计论文模板网站官网设计规范
  • 外贸英文网站建设网站购物车功能怎么做
  • 加快政务网站建设网站建设款属于什么科目
  • 网站备案后有可能会被注销吗wordpress 归类插件
  • 网站图片宽度做视频解析网站犯法吗
  • 群晖nas怎样做网站九江php网站建设兼职
  • 网站有没有做网站地图怎么看佛山住房和城乡建设部网站官网
  • 酒店网站建站保障性租赁住房管理平台
  • 怎么样自己做百度网站第八章 电子商务网站建设课件
  • 胶州哪家公司做网站做塑胶网站需要什么材料
  • 关于网站建设的策划案wordpress缩略图大小
  • 城市介绍网站模板0代码开发平台有哪些
  • app产品网站模板云南app开发制作
  • 网络推广运营培训班单页网站怎么优化
  • 电子商务网站建设的作用wordpress进入文字版
  • 嘉兴城乡建设局网站游戏开发app
  • 深圳微信网站棋牌软件开发源代码
  • 企业手机网站建设教程广州冼村街道办
  • 震旦网站谁做的珠海微信网站开发
  • 外贸网站建设公司方案青海网站设计企业
  • 做自己个人网站网站引导页设计
  • 青岛网站建设谁家好一些有帮忙做阿里巴巴网站的吗