WSO2 API管理器(WSO2-AM)和Web服务寻址(WS-A)

WSO2 API管理器(WSO2-AM)和Web服务寻址(WS-A),wso2,wso2-am,ws-addressing,Wso2,Wso2 Am,Ws Addressing,我在使用web服务寻址(WS-a)的Weblogic服务器中托管了一个SOAP web服务。我正在尝试使用WSO2 API管理器发布它 原始请求有一个完整的SOAP头,包括一个操作和消息ID: <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Action>urn:es:cetelem:ws:venta:promociones:services:promocion

我在使用web服务寻址(WS-a)的Weblogic服务器中托管了一个SOAP web服务。我正在尝试使用WSO2 API管理器发布它

原始请求有一个完整的SOAP头,包括一个操作和消息ID:

    <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>

urn:es:cetelem:ws:venta:promociones:services:promocionesService\u v03:PromocionesServicePortType:obtenerpromocionesperacionvndrequest
uuid:969e636c-067f-4bed-a38a-65f0f81c295d
但是wso2 am在发送到Werblogic服务器中的最终端点之前,会从SOAP头中删除字段Action和MessageID。这是wso2 am发送的错误侦听器的一个示例


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

我找到了一个解决方案。我在
[CARBON-HOME]/repository/deployment/server/synapse configs/default/sequences
中添加了一个新的序列中介扩展,以保留原始的WS-a头。新扩展名将
PRESERVE\u WS\u ADDRESSING
属性设置为true

访问。
新调解人的代码为:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="WSO2AM--Ext--In">
    <property name="PRESERVE_WS_ADDRESSING" value="true" scope="default" type="STRING"/>
</sequence>