关于java调用.net的web服务问题,今天郁闷了半个下午,我印象中在这之前我调通过一次,但是当时太粗心,没有把关键的东西记录下来,所以才导致今天这个结果,十分后悔呀。主要是java我很久都没用过了,而且网上对于这类的文章讲的太少了,所以今天用加班的时间记录下来,以做备用。
1:首先把.net的webservice建好,下面是webservice代码:
2:发布webservice,并且在IIS上配置好,IIS配置时需要注意下面一点,看下图标红处:
3:在浏览器中输入webservice地址,检查webservice功能是否正常,下图标红处是需注意。
4:调通webservice后,编写java代码调用webservice,我使用的是axis。
5:运行java程序,检查是否调用成功。
注意:在调式java程序时,你有可能有以下几种情况:
1:org.apache.axis.client.Service类无法new成功
2:java.net.UnknownHostException异常
3:运行到invoke时程序报超时或没有反应
以上几种情况是因为.net的webservice中没有设置SoapRpcMethod属性。
直接用axis 来进行webservice 调用,这种方法比较原始,而且如果配置不对就会出错,所以推荐使用WSDL代码生成器来生成webservice代理来进行操作。