dotNet使用JAVA开发的WSDL注意项

1、开发WSDL时,需要注意wsdl:portType与wsdl:binding中的operation关系;

如有一WSDL如下:

<wsdl:definitions ……>

 ……



 <wsdl:portType name="TESTWebService">
  <wsdl:operation name="queryTestInfo">
   <wsdl:input message="tns:QueryTestInfo" name="queryTestInfo" />
   <wsdl:output message="tns:QueryTestInfoResponse" name="queryTestInfoResponse" />

  </wsdl:operation>



  <wsdl:binding name="TESTWebService" type="tns:TESTWebService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="queryTestInfo">
      <soap:operation soapAction="queryTestInfo" style="document" />
      <wsdl:input> <!-- name属性为空 -->
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output> <!-- name属性为空 -->
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>



 ……

</wsdl:definitions>

 

以上的WSDL如使用dotNet中的wsdl.exe进行编译,会出现“R2718  A wsdl:binding in a DESCRIPTION MUST have the same set of wsdl:operations as the wsdl:portType to which it refers.”这个错误。原因在于dotNet在编译binding中的operation时,找不到与binding中的wsdl:input和wsdl:output相同名字的wsdl:port定义。解决上述问题(在JAVA中不会出现此问题),有两种方法:

(1)、删除wsdl:portType中的wsdl:input的name属性;

(2)、添加wsdl:portType中的wsdl:input的name属性到wsdl:binding中的wsdl:input的name属性;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值