Search code examples
wso2wso2-integration-studio

How to retrieve operation value from SOAP payload using WSO2 Integration Studio


I have created a custom WSDL Definition using WSO2 Integration Studio ,I have different endpoint in the Backend,so i have in the WSDL many operations,How can i access operation value using WSO2.

The operation name is projet ,how to retrieve the value if it is projet or another operation to be done .

This is SOAP payload sample :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.samples">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:projet>
         <!--Optional:-->
         <ser:name>test3</ser:name>
         <!--Optional:-->
         <ser:description>test</ser:description>
      </ser:projet>
   </soapenv:Body>
</soapenv:Envelope>

I tried to retrieve the value to be used in the switch mediator as below but it didn't work.

<switch source="//soapenv:Body//ser">

Solution

  • I use this XPath expression and it works fine

     <property expression="local-name(/*[local-name()='Envelope']/*[local-name()='Body']/*)" name="symbol" scope="default" type="STRING" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>