1

我有一个托管在使用 Web 服务寻址 (WS-A) 的 Weblogic Server 中的 SOAP Web 服务。我正在尝试使用 WSO2 API Manager 发布它。

原始请求有一个完整的 SOAP 标头,包括一个 Action 和 MessageID:

    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
     <wsa:Action>urn:es:cetelem:ws:venta:promociones:services:promocionesService:promocionesService_v03:PromocionesServicePortType:obtenerPromocionesOperacionVndRequest</wsa:Action>
   <wsa:MessageID>uuid:969e636c-067f-4bed-a38a-65f0f81c295d</wsa:MessageID>
</soapenv:Header>

但是 wso2-am 在发送到 Werblogic 服务器中的最终端点之前会从 SOAP 标头中删除字段 Action 和 MessageID。这是 wso2-am 发送的错误侦听器的示例 <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"/>

如何配置 wso2-am 以保留客户端发送的 SOAP 标头。

4

1 回答 1

1

我找到了解决方案。我添加了一个新的序列中介扩展[CARBON-HOME]/repository/deployment/server/synapse-configs/default/sequences来保留原始的 WS-A 标头。新的扩展设置为 truePRESERVE_WS_ADDRESSING属性。

访问https://docs.wso2.com/display/ESB460/Generic+Properties
新中介的代码是:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="WSO2AM--Ext--In">
    <property name="PRESERVE_WS_ADDRESSING" value="true" scope="default" type="STRING"/>
</sequence> 
于 2015-11-02T12:58:12.927 回答