当前时间:

[ypre] 调用之前先导入程序依赖Jar包:[br] 1、axis-1.4.jar[br] 2、commons-discovery-0.2.jar[br] 3、commons-logging-1.2.jar[br] 4、javax.xml.rpc-api-1.1.2.jar[br] 5、wsdl4j-1.4.jar [/ypre] [pre] 具体实现代码如下:[br] String TokenCode = "97f80fe138a9596a3cee5fa69ddb7a08"; String endpoint = "http://10.198.6.66:801/daserver/webService.asmx"; // 创建一个服务(service)调用(call) Service service = new Service(); Call call = (Call) service.createCall();// 通过service创建call对象 // 设置service所在URL call.setTargetEndpointAddress(new java.net.URL(endpoint)); call.setOperationName(new QName("http://tempuri.org/", "GetShareUser")); // GetShareUser 是net 那边的方法 "http://tempuri.org/" 这个也要注意Namespace 的地址,不带也会报错 call.addParameter(new QName("http://tempuri.org/", "TokenCode"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); // 这就是我搞了一天的原因所在,"TokenCode" 这个就是传参数的变量,也就是NET方面的参数,一定不要带错了 // 我当初不知道 ,以为这个参数是自己随便写的,结果总是报NULL,真是气死人了 call.setUseSOAPAction(true); call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); // 返回参数的类型 call.setSOAPActionURI("http://tempuri.org/GetShareUser"); // 这个也要注意 // 就是要加上要调用的方法GetShareUser,不然也会报错 // Object 数组封装了参数,调用processService(String arg) String result = (String) call.invoke(new Object[] { TokenCode }); [/pre] 运行测试,可正常调用.NET开发的WebService接口

讲述Java调用.NET发布WebService接口过程

推荐
WebService
0 402
VIP3 2018-06-28 09:11:56
回复区