项目组希望我写一个java调用C#Webservice的例子,尝试了一下。
我写了一个C# webservice,并在iis下发布,类似于http://localhost//SayHello.asmx
该webservice,函数为SayHello,输入一个string,输入为一个string。如果输入为“xixi”,返回的结果为 “Hi,xixi,How are you?”
(1) 在myEclipse 6.5中添加一个java project。
(2) 在java project下选择File-> others-> webservice client
(3) 选择下一步,FramWork选用默认的JAX-WS。
(4) 选择下一步,选择WSDL URL,应该在刚才发布的C# webservice后添加?wsdl,即:http://localhost//SayHello.asmx?wsdl
(5) 继续下一步,等待生成客户端的代码。C#的webservice是基于HTTP 1.1的。在生成的过程中可能会提示错误,但是选择“忽略”所有的错误,只要生成的客户端的代码还有提示错误即可。
主要的客户端代码有:
ObjectFactory.java
package-info.java
SayHello_Service.java
SayHello_Type.java
SayHello.java
SayHelloResponse.java
第二个阶段就是写一个测试程序了。测试的基本步骤是:
(1) 生成Service端,直接通过new即可。
SayHello_Service service = new SayHello_Service();
(2) 获取Webservice函数。通过service的getsoap方法即可。
SayHello helloProxy = service.getSayHelloSOAP();
(3) 调用该方法,获得返回值。
System.out.println(helloProxy.sayHello("xixi"));