Apache CXF interop with WCF

我在上一篇中說,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呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章