Mule https使用查询字符串和HTTP POST方法调用字符串有效负载

时间:2015-10-29 22:27:59

标签: amazon-web-services mule esb middleware

我是ESB mule的新手。我曾尝试使用ESB mule达到https网址。

对于我的请求,我必须构建URL和POST内容。

构建网址 - 我准备了值并在java字符串中设置它。这是使用--setInvocationProperty。

在配置文件中映射的

发布内容: 发布内容是字符串消息。

当我运行程序时,我收到错误信息

  

我们计算的请求签名与您提供的签名不匹配

在我的java文件中,我有行在控制台中打印查询字符串值和有效负载。 当我使用postman chrome扩展程序在控制台中写入帖子内容时,我获得了成功的响应。

但是对于ESB骡子我无法得到成功的回应。 你能否说清楚解决这个问题?

这里我粘贴了我的ESB mule配置文件内容。

    <?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:wmq="http://www.mulesoft.org/schema/mule/ee/wmq" xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/wmq http://www.mulesoft.org/schema/mule/ee/wmq/current/mule-wmq-ee.xsd">

<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8084" basePath="/mule" doc:name="HTTP Listener Configuration"/>
<http:request-config name="HTTP_Request_Configuration" host="mws.amazonservices.com" port="443" doc:name="HTTP Request Configuration" protocol="HTTPS" >
        <http:proxy host="proxy.aaa.com" port="8080" username="John" password="pass"/>
    </http:request-config>
<flow name="secondflowFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
        <custom-transformer class="com.mule.URLBuilding.BuildURL" doc:name="Java"/>
        <set-payload value="#[message.payloadAs(java.lang.String)]" doc:name="Set Payload"/>
<http:request config-ref="HTTP_Request_Configuration" method="POST" path="/Products/2011-10-01" doc:name="Amazon_Call_HTTPS">
<http:request-builder>
                <http:query-param paramName="MarketplaceId" value="#[flowVars.strMarketplaceId]"/>
                <http:query-param paramName="ASINList.ASIN.1" value="#[flowVars.strASINListASIN1]"/>
                <http:query-param paramName="AWSAccessKeyId" value="#[flowVars.strAWSAccessKeyId]"/>
                <http:query-param paramName="Action" value="#[flowVars.strAction]"/>
                <http:query-param paramName="SellerId" value="#[flowVars.strSellerId]"/>
                <http:query-param paramName="MWSAuthToken" value="#[flowVars.strMWSAuthToken]"/>
                <http:query-param paramName="SignatureVersion" value="2"/>
                <http:query-param paramName="Timestamp" value="#[flowVars.strtimestamp]"/>
                <http:query-param paramName="Version" value="#[flowVars.strVersion]"/>
                <http:query-param paramName="Signature" value="#[flowVars.strsignature]"/>
                <http:query-param paramName="SignatureMethod" value="#[flowVars.strSignatureMethod]"/>
</http:request-builder>
<http:success-status-code-validator values="0..599"/>
</http:request>
</flow>
</mule>

0 个答案:

没有答案