前几天使用Net Beans时练习Java中使用WebService也没发现有什么问题,.net 端仍然使用的是Document格式,但昨天和一客户间进行接口调用测试时却发现,我使用.net 写的WebService他们竟然调用不了,但我自己用C#就一切正常。查找原因的同时也感叹微软的东西做的很不错,同时也否定了前些天我认为Java调用.Net WebService简单的观点。.Net 调用其它厂商的WebService都没问题,反过来Java就是相当不爽了。
需要使用axis包,进行手工调用。
.Net WebService:
为了Java能够调用,所以WebService要声明为Rpc方法,即添加"[SoapRpcMethod.....]"
在这里感觉到微软很不爽,不向下兼容,就像IE7,不兼容6,6不兼容5一样。.net 3.5生成的WebService代码都不向下兼容.net2.0,此处是。Net3.5写的,所以要加上Use = SoapBindingUse.Literal,要不自己都运行不起来,至于为什么还不太清楚,有待研究!
Java代码: