繁体   English   中英

更改wso2 esb中的标头

[英]change a header in wso2 esb

我使用wso2 esb代理服务,按我的顺序之一,我想在发送到端点之前先删除标头,但它在soapUI中无法正常工作,但可以在ESB中“尝试此服务”中工作。 ,这是我的序列源视图:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="SECBalanceInQueryYaghout">
<log level="full" category="FATAL"/>
<header name="Action" scope="default" action="remove"/>
<property xmlns:ns="http://org.apache.synapse/xsd"     xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:p="http://tempuri.org/"     name="MethodName" expression="local-name(//*[local-name()='Body']/*[1])" scope="default"     type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd"  name="Token" expression="//tem:*[1]/tem:Token" scope="default" type="STRING"/>
<property name="ElementCode" value="test" scope="default" type="STRING"/>
<property name="OperationCode" value="temp" scope="default" type="STRING"/>
<property name="ApplicationCode" value="jj" scope="default" type="STRING"/>
<property name="applicationPassword" value="123" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="PAN" expression="//tem:*[1]/tem:PAN" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="PIN2" expression="//tem:*[1]/tem:PIN2" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="BillID" expression="//tem:*[1]/tem:billID" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="PayID" expression="//tem:*[1]/tem:payID" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="Amount" expression="//tem:*[1]/tem:amount" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="InvoiceNumber" expression="//tem:*[1]/tem:invoiceNumber" scope="default" type="STRING"/>
<property xmlns:tem="http://tempuri.org/" xmlns:ns="http://org.apache.synapse/xsd" name="RRN" expression="//tem:*[1]/tem:RRN" scope="default" type="STRING"/>
<log level="headers">
  <property xmlns:ns="http://org.apache.synapse/xsd" name="1" expression="$ctx:Token"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="2" expression="$ctx:ElementCode"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="3" expression="$ctx:OperationCode"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="4" expression="$ctx:ApplicationCode"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="5" expression="$ctx:applicationPassword"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="6" expression="$ctx:PAN"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="7" expression="$ctx:PIN2"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="8" expression="$ctx:MethodName"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="9" expression="$ctx:BillID"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="10" expression="$ctx:PayID"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="11" expression="$ctx:Amount"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="12" expression="$ctx:InvoiceNumber"/>
  <property xmlns:ns="http://org.apache.synapse/xsd" name="13" expression="$ctx:RRN"/>
</log>
<log level="headers"/>
<payloadFactory media-type="xml">
  <format>
     <p:AthorizateOperation xmlns:p="http://tempuri.org/">
        <!--0 to 1 occurrence-->
           <s:tokenStr xmlns:s="http://tempuri.org/">$1</s:tokenStr>
           <!--0 to 1 occurrence-->
              <s:PageCode xmlns:s="http://tempuri.org/">$2</s:PageCode>
              <!--0 to 1 occurrence-->
                 <s:OperationName xmlns:s="http://tempuri.org/">$3</s:OperationName>
              </p:AthorizateOperation>
           </format>
           <args>
              <arg xmlns:ns="http://org.apache.synapse/xsd" expression="$ctx:Token" evaluator="xml"/>
              <arg xmlns:ns="http://org.apache.synapse/xsd" expression="$ctx:ElementCode" evaluator="xml"/>
              <arg xmlns:ns="http://org.apache.synapse/xsd" expression="$ctx:MethodName" evaluator="xml"/>
           </args>
        </payloadFactory>
        <log level="headers" category="WARN"/>
        <send receive="SECAAAServerReccive" buildmessage="true">
           <endpoint>
              <address uri="http://10.187.105.144:8280/services/AAServer/AthorizateOperation"/>
           </endpoint>
        </send>
     </sequence>

当我使用soapui时出现错误,这是我的soap代码:

 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
 <soapenv:Body>
  <tem:balanceInquery>
     <!--Optional:-->

     <!--Optional:-->
     <tem:PAN>5047061006204444</tem:PAN>
     <!--Optional:-->
     <tem:PIN2>444444</tem:PIN2>
<tem:Token>test</tem:Token>
  </tem:balanceInquery>
  </soapenv:Body>
 </soapenv:Envelope>

和日志是:

To: /services/AAServer/AthorizateOperation, WSAction: http://tempuri.org/balanceInquery, SOAPAction: http://tempuri.org/balanceInquery

我想删除WSAction标头和SOAPAction标头谢谢。

要删除SOAPAction:

<header name="Action" action="remove" />  
<property name="SOAPAction" scope="transport" action="remove" />  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM