使用基本身份验证的外部 HTTPS REST 调用在 Mule 中不起作用
External HTTPS REST call with Basic Auth isn't working in Mule
我正在尝试使用基本身份验证在 Mule 中进行外部 HTTPS 调用。以下是我的申请的摘录:
<http:request-config name="HTTPS_Request_Configuration" protocol="HTTPS" doc:name="HTTP Request Configuration">
<http:basic-authentication username="username" password="password"/>
<tls:context>
<tls:key-store type="jks" path="keystore.jks" alias="mule" keyPassword="password" password="password"/>
</tls:context>
</http:request-config>
<flow name="get:/clients/{clientId}:api-config">
<logger message="#['Retrieving client with ID: ' + flowVars['clientId']]" level="INFO" doc:name="Logger"/>
<http:request config-ref="HTTPS_Request_Configuration" path="/api/clients/{clientId}" method="GET" host="host.com" port="443" doc:name="HTTP">
<http:request-builder>
<http:uri-param paramName="clientId" value="#[flowVars['clientId']]"/>
</http:request-builder>
<http:success-status-code-validator values="0..599"/>
</http:request>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
使用上述配置,我始终从我尝试呼叫的 API 收到 401 条响应。使用完全相同的详细信息通过 Postman 拨打电话工作正常。
我已经将目标主机的证书导入到我的密钥库中。我正在使用 Mule 版本 3.7.3。
关于我可能遗漏了什么/我做错了什么有什么想法吗?
将 preemptive="true"
添加到 http:basic-authentication
元素:
<http:basic-authentication username="username"
password="password"
preemptive="true" />
我正在尝试使用基本身份验证在 Mule 中进行外部 HTTPS 调用。以下是我的申请的摘录:
<http:request-config name="HTTPS_Request_Configuration" protocol="HTTPS" doc:name="HTTP Request Configuration">
<http:basic-authentication username="username" password="password"/>
<tls:context>
<tls:key-store type="jks" path="keystore.jks" alias="mule" keyPassword="password" password="password"/>
</tls:context>
</http:request-config>
<flow name="get:/clients/{clientId}:api-config">
<logger message="#['Retrieving client with ID: ' + flowVars['clientId']]" level="INFO" doc:name="Logger"/>
<http:request config-ref="HTTPS_Request_Configuration" path="/api/clients/{clientId}" method="GET" host="host.com" port="443" doc:name="HTTP">
<http:request-builder>
<http:uri-param paramName="clientId" value="#[flowVars['clientId']]"/>
</http:request-builder>
<http:success-status-code-validator values="0..599"/>
</http:request>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
使用上述配置,我始终从我尝试呼叫的 API 收到 401 条响应。使用完全相同的详细信息通过 Postman 拨打电话工作正常。
我已经将目标主机的证书导入到我的密钥库中。我正在使用 Mule 版本 3.7.3。
关于我可能遗漏了什么/我做错了什么有什么想法吗?
将 preemptive="true"
添加到 http:basic-authentication
元素:
<http:basic-authentication username="username"
password="password"
preemptive="true" />