2013-04-01 48 views
0

我在WSO2中創建一個簡單的WSDL代理,以允許啓用了Soap 1.2的應用程序僅與Soap 1.1一起使用外部Web服務。一切都很好,除了當我通過Soap12 WSO端點發送請求時,WSO2不會將soap11回覆轉換回soap12。WSO2 soap12端點到soap11外部服務

<proxy xmlns="http://ws.apache.org/ns/synapse" name="MySOAP" transports="http" 
     statistics="disable" trace="disable" startOnLoad="true"> 
     <target> 
      <endpoint> 
      <wsdl service="ExtService" port="ExtPort" uri="https://my.local/wsdl/current 
      /ExtService.wsdl"/> 
      <property name="DISABLE_CHUNKING" value="true" scope="axis2"/> 
      </endpoint> 
     </target> 
     <publishWSDL uri="file:///home/sysadmin/MySOAP.wsdl"/> 
    <description></description> 
     </proxy> 

有人遇到過類似的東西嗎? WSO2 ESB版本4.6.0

回答

1

您需要添加格式如下。

<endpoint> 
     <address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11" /> 
    </endpoint> 

格式 - 端點的消息格式。可用的值有:

[format="soap11|soap12|pox|get"] 
  • 保留原樣,是 - 沒有改造完成到傳出消息。
  • SOAP 1.1 - 將消息轉換爲SOAP 1.1。
  • SOAP 1.2 - 將消息轉換爲SOAP 1.2。
  • 普通舊XML(POX) - 轉化爲純老XML格式
  • 具象狀態傳輸(REST) - 轉化到HTTP GET 請求
  • GET

http://docs.wso2.org/wiki/display/ESB460/Default+Endpoint

+0

謝蘭,謝謝你指點我。我之前嘗試過。不幸的是,這是行不通的。我仍然在接收SOAP 1.1響應。 I.e代理不會將它們轉換爲與發送請求相同的格式。我所需要的只是簡單 - 我想以SOAP12格式與WSO進行交換,並且我希望WSO2與SOAP11格式的Web服務交換。 – Porro