java 客户端调用 .net webservice 添加
来源:互联网 发布:mysql 数据库撞库工具 编辑:程序博客网 时间:2024/05/21 09:03
<pre name="code" class="java">使用wadl2java 自动生成客户端代码,有个测试类可以直接测试
URL wsdlURL = TestService.WSDL_LOCATION; if (args.length > 0 && args[0] != null && !"".equals(args[0])) { File wsdlFile = new File(args[0]); try { if (wsdlFile.exists()) { wsdlURL = wsdlFile.toURI().toURL(); } else { wsdlURL = new URL(args[0]); } } catch (MalformedURLException e) { e.printStackTrace(); } } //要加header的话,改为此方式(通过拦截器的方法添加header,拦截器<span style="font-family: Arial, Helvetica, sans-serif;">SoapHeaderInterceptor代码在后面</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span> JaxWsProxyFactoryBean factory=new JaxWsProxyFactoryBean(); SoapHeaderInterceptor ash = new SoapHeaderInterceptor();ArrayList list = new ArrayList();// 添加soap header 信息list.add(ash);factory.setOutInterceptors(list);factory.setServiceClass(TestServiceSoap.class);factory.setAddress(wsdlURL.toString());factory.getInInterceptors().add(new LoggingInInterceptor()); factory.getOutInterceptors().add(new LoggingOutInterceptor()); TestServiceSoap port =(TestServiceSoap) factory.create(); //不加header的话,使用此方式 // TestService ss = new TestService(wsdlURL, SERVICE_NAME); //TestServiceSoap port = ss.getTestServiceSoap(); System.out.println("Invoking getPaymentRecord..."); java.lang.String canshu1= "aaaa"; java.lang.String canshu2= "bbb"; javax.xml.ws.Holder<java.lang.Integer> out_canshu1= new javax.xml.ws.Holder<java.lang.Integer>();//out参数,如果调用的是.net服务, 使用wadl2java 自动生成客户端代码的话,会作为out参数放到参数中 javax.xml.ws.Holder<java.lang.String> out_canshu2= new javax.xml.ws.Holder<java.lang.String>();//其他的out参数。一定要是new 的,不能用默认值null,会获取不到值 port.getTestMethod();//调用对应的方法 System.out.println("getTestMethod.out参数1=" + out_canshu1.value); System.out.println("getTestMethod._out参数2=" + out_canshu2.value);
public class SoapHeaderInterceptor extends AbstractSoapInterceptor {public SoapHeaderInterceptor() {super(Phase.POST_LOGICAL);}@Overridepublic void handleMessage(SoapMessage message) throws Fault {List<Header> headers = message.getHeaders();CredentialSoapHeader testHeader=new CredentialSoapHeader();testHeader.setUserCode("xxx");testHeader.setPassword("xxx");JAXBElement<CredentialSoapHeader> testHeaders = new ObjectFactory().createCredentialSoapHeader(testHeader);try {Header header = new Header(testHeaders.getName(), testHeader,new JAXBDataBinding(CredentialSoapHeader.class));headers.add(header);message.put(Header.HEADER_LIST, headers);} catch (JAXBException e) {e.printStackTrace();}}}
0 0
- java 客户端调用 .net webservice 添加
- java客户端调用webservice
- java调用WebService(客户端)
- java调用WebService(客户端)
- java客户端调用webservice
- java客户端调用webservice
- .NET作为客户端调用Java和.NET WebService 简单示例
- java调用.net Webservice
- Java调用.net webservice
- java 调用.net webService
- .NET调用java webservice
- Java调用.net webservice
- java 调用 .net WebService
- java 调用.net webservice
- java调用.net webservice
- Java 客户端调用HttS Webservice....
- 用java客户端调用webservice
- Java客户端调用Https Webservice
- Maven搭建SpringMVC+Hibernate项目详解
- 浅谈java.util.concurrent包的并发处理
- 函数模板
- JavaScript中window.open用法实例详解
- Android Studio 简单介绍和使用问题小结
- java 客户端调用 .net webservice 添加
- Axure预览不了
- vfp dbf正则表达式函数,可在vfp的sql使用
- 编译器学习
- 利用|,&,^,~,<<,>>>写出高效艺术的代码
- Shell数组
- 颜色空间YUV简介
- DataFactory生成mysql数据
- ios7开发的一些技巧 textfiled tableview重用 idfa 证书