我有一個Mule應用程序,它使用<http:request
連接器通過HTTPS調用外部API。當我在本地構建和部署我的應用程序時,通話正常。當我使用Mule應用程序發送的完全相同的有效載荷對同一個外部API進行郵差調用時,調用工作正常。但是,當我將Mule應用程序部署到Cloudhub併發出請求時 - 我從外部API獲得400響應。Mule HTTPS POST請求在部署到Cloudhub時不起作用
這裏是我的流程:
<http:request-config name="mambuRequestConfiguration" protocol="HTTPS" doc:name="HTTP Request Configuration">
<http:basic-authentication username="${mambu.username}" password="${mambu.password}" preemptive="true" />
<tls:context>
<tls:key-store type="jks" path="keystore.jks" alias="${keystore.alias}" keyPassword="${keystore.keypassword}" password="${keystore.password}" />
</tls:context>
</http:request-config>
<flow name="createClientDepositAccount">
<dw:transform-message metadata:id="412fd434-12bb-47a3-9605-9bfc1d9fec46" doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
savingsAccount: {
accountHolderKey: payload.clientKey,
accountHolderType: "CLIENT",
productTypeKey: payload.productKey,
name: payload.clientProductName,
accountType: payload.accountType,
accountState: payload.accountState,
interestRate: payload.interestRate
}
}]]></dw:set-payload>
</dw:transform-message>
<http:request config-ref="mambuRequestConfiguration" path="${mambu.deposit.path}" method="POST" host="${mambu.host}" port="${mambu.port}" doc:name="Mambu: Create Client Deposit Account">
<http:success-status-code-validator values="0..599"/>
</http:request>
<dw:transform-message metadata:id="49f1231f-485f-433c-82c4-3d83856ac442" doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
message: "Account created successfully",
key: payload.savingsAccount.encodedKey
}]]></dw:set-payload>
</dw:transform-message>
</flow>
我打電話給外部服務是Mambu,雲銀行平臺。我在我的應用程序中有許多其他流程,都會向其他各種Mambu API發出GET
請求 - 所有工作都正常(所有GET
請求也通過HTTPS)。我從Mambu得到的響應是400
與有效載荷:
{"returnCode":3,"returnStatus":"INVALID_API_OPERATION"}
我無法複製我在本地實例的Cloudhub中看到的行爲。唯一不同的是這個電話給我正在做的其他人,這是一個POST
請求。