0

我真的很难理解 WSO2 ESB 是如何工作的。文档——尤其是图形工具的文档——非常缺乏。我希望有人能指出我正确的道路。

我有一个带有 RPC/Encoded 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/user@emailaddress.com/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/user@emailaddress.com/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 表示。我什至没有得到这么多的错误。没有日志向我显示有关调解或任何内容的任何详细信息。我很迷茫,即将放弃。关于我接下来应该尝试什么的任何提示?

4

1 回答 1

3

我认为您在“inSequence”末尾缺少“发送”......基本上您不会在任何地方发送您精心制作的消息:-)。请参阅:http ://synapse.apache.org/userguide/samples/sample800.html 。

于 2012-10-08T18:54:40.753 回答