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