0
我使用wso2 esb代理服務,在我的一個序列中,我希望在發送到端點之前刪除標頭,但它在soapUI中不能正常工作但是在ESB中的「嘗試此服務」中工作。 ,這裏是我的序源視圖:在wso2 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我得到一個錯誤,這是我的肥皂代碼:
<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標頭 謝謝。
感謝您的回覆 – behzad