如何在 mule 4 的 Web 服务消费者组件中传递持有者令牌?



我需要按照以下格式将持有者令牌传递给下游系统(使用 Web 服务使用者组件连接(。

Bearer [token value]

我尝试使用键传递它的内联标头:持有者和值=令牌值,但它不起作用。 我尝试传递下面的 XML:

%dw 2.0
output application/xml
---
headers : {
Authorization: {
"Bearer " ++ vars.licenseServerTocken
}
}

但得到以下错误:

"Error trying to acquire a new connection:Error fetching the resource [https://abc123.com/xyz/Contract.svc?wsdl]: Server returned HTTP response code: 500 for URL: https://abc123.com/xyz/Contract.svc?wsdl"

当我在正文中传递如下内容时,它正在从 SOAP UI 工作

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tem.org/">
<soapenv:Header>
<Authorization>Bearer sada3123gjkada1231</Authorization>
</soapenv:Header>
<soapenv:Body>

请建议

授权标头不是 SOAP 请求的一部分,也不是 SOAP 标头的一部分。它是 HTTP 请求的一部分,是 SOAP 请求的传输。因此,您需要在传输标头部分中进行定义。

例:

<wsc:consume doc:name="Consume" config-ref="Web_Service_Consumer_Config" operation="MyService">
<wsc:message >
<wsc:body > ... </wsc:body>
</wsc:message>
<wsc:transport-headers >
<wsc:transport-header key="Authorization" value="#['Bearer ' ++  vars.licenseServerTocken ]" />
</wsc:transport-headers>
</wsc:consume>

这是授权令牌。你这样传递它

授权:持有者令牌

标头中的键:值示例

授权:承载 fc654rrhfdc643q6ecyi6uo6thvg

最新更新