我真的很難理解WSO2 ESB是如何工作的。文檔 - 尤其是圖形工具 - 非常需要。我希望有人能指出我走對了路。REST調用通過WSO2的代理SOAP API ESB
我有一個RPC /編碼WSDL的SOAP API。我是能夠成功地將其設置爲一個基於WSDL的代理,並於ESB管理面板中進行測試的工具表明,它工作得很好 - 我能得到一個會議回來,等
我去了設置一個API來處理REST請求並將它們轉發到SOAP API。爲了測試這一點,我以我們的login()函數開始。你可以看到如下API的源代碼視圖的資源:
<api xmlns="http://ws.apache.org/ns/synapse" name="VRRestAPI" context="/vrrest">
<resource methods="GET" uri-template="/session/{username}/{password}">
<inSequence>
<log level="full"/>
<payloadFactory>
<format>
<m0:login xmlns:m0="http://services.samples">
<m0:request>
<m0:username>$1</m0:username>
<m0:password>$2</m0:password>
</m0:request>
</m0:login>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('uri.var.username')"/>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('uri.var.password')"/>
</args>
</payloadFactory>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</resource>
</api>
它節省了罰款,並說該API正在運行。所以我儘量使用curl調用它:
curl -v http://10.0.6.223:8280/vrrest/session/[email protected]/password
,並得到如下:
* About to connect() to 10.0.6.223 port 8280 (#0)
* Trying 10.0.6.223... connected
* Connected to 10.0.6.223 (10.0.6.223) port 8280 (#0)
> GET /vrrest/session/[email protected]/password HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
> Host: 10.0.6.223:8280
> Accept: */*
>
< HTTP/1.1 202 Accepted
< Date: Fri, 05 Oct 2012 21:06:54 GMT
< Server: Synapse-HttpComponents-NIO
< Transfer-Encoding: chunked
<
* Connection #0 to host 10.0.6.223 left intact
* Closing connection #0
我很期待看到的是我的SOAP端點的login()方法的輸出的POX表示。我甚至沒有像這裏的錯誤那麼多。沒有日誌向我顯示關於調解或任何事情的任何細節。我很迷茫,即將放棄。這裏有什麼我應該嘗試的提示?
啊 - 好吧,我覺得啞巴。我以爲我已經包括了這一點。然而,即使包括髮送,它仍然給了我同樣的錯誤。然後我意識到它可能與curl URL中的電子郵件地址有關。所以我URL編碼的地址,現在我得到了代理API的迴應。如此甜蜜!謝謝! –