2012-10-30 7 views
1

XML 요청을 WSO2ESB의 XSLT를 통해 SOAP로 변환 중입니다. 요청 매개 변수를 응답으로 사용할 수있게 할 수 있습니까?stWSO2ESB OutSequence 처리

예.

<request> 
<test>123</test> 
<param1>testing</param1> 
</request> 

->이

<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:testresponse xmlns:ns2="http://xml.testing.com/test"><responsestring>success</responsestring></ns2:testresponse></S:Body></S:Envelope></soapenv:Body></soapenv:Envelope> 

난 당신이 보듯이 XML

<responsestring> 
<test>123</test> 
<return1>success</return1> 
</responsestring> 

에 반환 할 응답에 SOAP

<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">#S:Body><ns2:testrequest xmlns:ns2="http://xml.testing.com/test"><teststring>testing</teststring></ns2:testrequest></S:Body></S:Envelope></soapenv:Body></soapenv:Envelope> 

로 변환 (123)는 아니다 서버에 보내고, 서버로부터 수신하지 않았다. ver. 그러나 클라이언트가이 매개 변수를 보내고 있으며 요청시이 매개 변수를 사용하고 응답으로 다시 보내고 싶습니다. 이것이 가능합니까? 어떻게? 나는 시냅스에 매우 익숙하고 WSO2ESB에 대해 매우 새로운 분이라 누구나 나를 계몽 해줄 수 있습니까?

감사합니다.

답변

0

예 가능합니다. Insequence에 property mediator을 사용하여 필요한 값을 속성으로 설정 한 다음 enrich mediator을 사용하여 응답에 결과를 추가 할 수 있습니다.

0

이제 작동했습니다. xslt가 테스트 속성에서 값을 가져 오려고하는 XSLT와 함께 순서대로 또는 차례대로 속성 조정자를 추가하기 만하면됩니다. 그게 다야!

INSEQUENCE

<property xmlns:ns="http://org.apache.synapse/xsd" name="TEST" expression="//request/*[local-name()=test]" scope="default"/> 

outsequence

<xslt key="xxxx.xslt"> 
<property name="test" expression="get-property('TEST')"/> 
</xslt>