mule - Web服务使用者(soap)始终返回null

时间:2016-06-29 15:40:53

标签: web-services soap wsdl mule dataweave

我正在使用Zuora soap API。我正在尝试执行查询。我没有得到任何错误,但是当我将有效负载输出到log时结果总是为null。我究竟做错了什么? (我在下面提供的查询应该返回320条记录,如果我在本地非骡测试脚本中执行相同的查询,这就是我得到的)

这是流程的一部分。

enter image description here

  1. 我将zoql查询设置为flowVars(flowVars.query)。例如:select id from Account WHERE updatedDate > '2016-06-24T23:00:00-06:00'
  2. 我使用dataweave创建xml有效负载(下面提供dw)
  3. 我执行查询(下面提供的Web服务使用者应用程序xml详细信息)
  4. DataWeave设置有效负载:

    %dw 1.0
    %output application/xml
    %namespace ns0 http://api.zuora.com/
    ---
    {
        ns0#query: {
            ns0#queryString: flowVars.query
        }
    }
    

    Web服务消费者应用xml

    <ws:consumer config-ref="ZuoraWebServiceConsumer" operation="query" doc:name="query_zuora"/>

    ZuoraWebServiceConsumer配置详情:

    <ws:consumer-config name="ZuoraWebServiceConsumer" wsdlLocation="zuora.a.49.0-sandbox.wsdl" service="ZuoraService" port="Soap" serviceAddress="https://apisandbox-api.zuora.com" doc:name="Web Service Consumer">
        <ws:security>
            <ws:wss-username-token username="myusername.here" password="mypassword.here" passwordType="TEXT" />
        </ws:security>
    </ws:consumer-config>
    

    和WSDL: https://www.dropbox.com/s/fkrppvv7i5s1a4w/zuora.a.49.0-sandbox.wsdl?dl=0

1 个答案:

答案 0 :(得分:1)

使用MuleSoft支持后,发现Zuora连接器存在错误。当Zuora返回无效的会话错误时,Zuora连接器不会捕获它,破坏池中的连接,并启动新连接。 MuleSoft证实了这个错误。