2010-05-05 132 views
1

我對Web服務比較陌生,但我需要在應用程序中集成對現有服務的調用。理想情況下,我想使用JAX-WS,因爲我正在尋找最簡單,最快速的開發解決方案,而MyEclipse能夠從WSDL生成JAX-WS客戶端。不幸的是,我繼承的WSDL是基於使用RPC的Axis構建的。這會繼續嗎?當試圖生成的代碼,我得到這些錯誤,我已經找到了網絡搜索似乎在說,它是服務端需要升級:Axis服務的JAX-WS客戶端

<restriction base="soapenc:Array"> 
    <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:MyTypeList[]" /> 
</restriction> 
  • WS-I:(BP2108)數組聲明使用 - 限制或擴展 - soapEnc:數組類型,或者在類型聲明中使用wsdl:arrayType特性。

  • WS-I:(BP2122)wsdl:types元素包含數據類型定義,不是XML架構定義

    <的wsdlsoap:身體的encodingStyle = 「http://schemas.xmlsoap.org/soap/encoding/」 命名空間= 「http://ws.host.com」 使用= 「編碼」/>

  • WS-I:(BP2406)soapbind:body,soapbind:fault,soapbind:header和soapbind:headerfault的use屬性沒有「literal」的值。

回答

1

你知道服務器使用了什麼版本的Axis嗎?

最好的辦法是使用服務使用的相同版本的Axis生成客戶端。這絕對是最快的開發解決方案。使用JAX-WS將不起作用。