Mule-Anypoint studio在http响应返回pdf时冻结

Mule-Anypoint studio在http响应返回pdf时冻结,mule,mule-studio,mule-component,anypoint-studio,mule-esb,Mule,Mule Studio,Mule Component,Anypoint Studio,Mule Esb,我是Mule和Anypoint工作室的新手 我在mulesoft集成docusign。我有个奇怪的问题 docusingn'/v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}'的其中一个api将返回一个pdf文档作为响应 但是Mulesoft挂起,没有正确响应。使用curl命令运行相同的命令时,效果良好。有什么需要帮忙的吗 curl -i -H 'X-DocuSign-Authentication: { "

我是Mule和Anypoint工作室的新手

我在mulesoft集成docusign。我有个奇怪的问题

docusingn'/v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}'的其中一个api将返回一个pdf文档作为响应

但是Mulesoft挂起,没有正确响应。使用curl命令运行相同的命令时,效果良好。有什么需要帮忙的吗

curl -i -H 'X-DocuSign-Authentication: { "Username":"asdf@asdf.com.au", "Password": "asdf@123", "IntegratorKey":"a59asdfssadfdsc0af6237a37f"}' https://demo.docusign.net/restapi/v2/accounts/c62afb10-455a-4f48-87cd-eb0f0949c9bd/envelopes/c8ed9a1d-dbb6-458f-b674-b8ecff9824b5/documents/combined > /data/t.pdf
上面的命令运行良好。但不是这个

 <flow name="docusignGet">
         <flow-ref name="docusignInit" doc:name="docusignInit"/>
         <flow-ref name="docusignCredentials" doc:name="docusignCredentials"/>
         <http:request config-ref="Docusign_HTTP_Request_Configuration" path="/v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}" method="GET" doc:name="HTTP">
             <http:request-builder>
                 <http:uri-param paramName="accountId" value="#[sessionVars.docuSignAccountId]"/>
                 <http:uri-param paramName="envelopeId" value="7cadba0e-5fc6-4858-b0ea-c6eb13847a22"/>
                 <http:uri-param paramName="documentId" value="0"/>
             </http:request-builder>
         </http:request>
     </flow>
我试图在HTTP之后向ByteArray transformer添加对象。但它不起作用

我希望下面的命令能够像docusign一样工作

 curl -i -v -X GET http://localhost:8081/api/docusign_get > tt.pdf

提前感谢

检查您的HTTP请求/响应是否正确生成

在log4j2.xml文件中,将HttpMessageLogger更改为调试级别

<!-- Http Logger shows wire traffic on DEBUG -->
<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="DEBUG"/>
您应该能够在控制台输出中看到请求/响应,将其与curl会话进行比较,在curl命令中添加-v以获得请求和响应

注意:我更喜欢使用Fiddler,因为除其他外,它更擅长处理二进制数据。

让它工作起来了

原来是拉姆的问题。RAML文件我所拥有的就是这个

    /docusign_get:
  get:
    queryParameters: 
    responses: 
      200:
        body: 
          application/json:
正确的位置在哪里

    /docusign_get:
  get:
    queryParameters: 
    responses: 
      200:
        body: 
          application/pdf:

没想到Mule如此依赖RAML文件

最初的问题是记录器。我有所有的调试日志,它冻结了HTTP响应的bcoz。现在我又犯了一个错误。使用更新更新问题。仍然不确定如何修复此问题。感谢您的支持禁用所有日志是我最不愿意做的事情,如果响应导致问题,请将HttpMessageLogger更改为级别警告,然后使用Fiddler检查流量,您需要将http_连接器代理设置为Fiddler端口通常为localhost:8888I已将日志级别更改为警告。如果我使用file并写入本地文件,一切都很好,但是如果我想按原样将此响应传输给调用方,则会出现问题。看起来响应已转换为某个mule对象。我在http连接器中也禁用了解析。我将使用Fidler并检查是否获得任何信息。感谢曾经的想法,因为文件是以分块二进制形式提交的,所以您需要读取http_连接器的流以请求下一个分块…这正是您的文件连接器所做的。因此,实际上您需要做的就是传递有效负载,即添加另一个流感知连接器
    /docusign_get:
  get:
    queryParameters: 
    responses: 
      200:
        body: 
          application/json:
    /docusign_get:
  get:
    queryParameters: 
    responses: 
      200:
        body: 
          application/pdf: