<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">我在
上一篇中说,Apache CXF中的HelloWorld Service中的pingMe无法和WCF 互通,jim说他以前就碰到过这个问题,ted和他在cxf里有过这方面的交流, 原因是,CXF的wsdl里是这么描述的:
<wsdl> <soap use="literal"/""""> </wsdl> <wsdl> <soap use="literal"/""""> </wsdl>
而在WCF里,你必须要写成:
<wsdl name="pingMeRequest"> <soap use="literal"/""""> </wsdl> <wsdl name="pingMeResponse"> <soap use="literal"/""""> </wsdl>
也就是说把binding里的input 和output必须加上name 参数
在论坛里, 我还得到另外一个解决方案, 就是把:
<wsdl message="tns:pingMeRequest" name="pingMeRequest"/""""> <wsdl message="tns:pingMeResponse" name="pingMeResponse"/"""">
改为:
<wsdl message="tns:pingMeRequest"/""""> <wsdl message="tns:pingMeResponse"/"""">
也就是把portType里的input 和output的name去掉
不知道这个算不算svcutil.exe的一个bug呢?