SOAP to SOAP with Axis framework in PI 7.1

In SOA time, we integrate other systems with SAP PI, and discover and consume the web services in the Enterprise Service Repository.

Recently there is an idea that, manage the web service implemented by Axis with PI. It's SOAP to SOAP scenario. There are lots of topics about SOAP at SDN, but not too much information about Axis web services.

Here I just use Calculator web service which is an example in Axis. We define message interfaces just from the WSDL http://sp005:8080/axis/services/Calculator?wsdl .

 
 


And create External Definition

 
 


 
 

Create two interfaces: Outbound and Inbound Synchronous.

 
 

 

 
 

Don't need mapping here, because the outbound and inbound interface have the same structure.

IR part is done.

 
 

 
 

Create SOAP Sender communication channel

 
 


 
 

And Receiver Adapter with Axis SOAP.

 
 


 
 

And create Integration Configuration, nothing special.

 
 


 
 

And now I use xmlspy, send SOAP to the XI sender adapter.

I use the WSDL which download from http://sp005:8080/axis/services/Calculator?wsdl.

Create New SOAP Request, the SOAP message is like this:

 
 

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
        <m:add xmlns:m="http://my.namespace.com/myservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <i1 xsi:type="xsd:int">4</i1>
            <i2 xsi:type="xsd:int">2</i2>
        </m:add>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 
 

And Connection Endpoint is

http://sp100:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=DEMO&receiverParty=&receiverService=&interface=add1&interfaceNamespace=http://aaa.com/axis/add

Another way is to use Display WSDL in ID.

 
 

And get the response SOAP in xmlspy.

 
 

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

    <SOAP:Header/>

    <SOAP:Body>

        <ns1:addResponse xmlns:ns1="http://my.namespace.com/myservice"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

            <addReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:int">6</addReturn>

        </ns1:addResponse>

    </SOAP:Body>

</SOAP:Envelope>

 
 

 And monitor the messages in RWB.

 
 


 
 

The SOAP (Axis) receiver adapter

 
 


 
 

 
 

A few words regarding PI 7.11

There is a Receiver Tab more in PI 7.11 than PI 7.10. Just select Not Operation-Sepecific.

 
 

 
 


 
 


 

 
 

 
 

Useful Information

 
 

Configuring a Central Services Registry

http://help.sap.com/saphelp_nwpi711/helpdata/en/47/d391d7b8fc3c83e10000000a42189c/content.htm

Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter

Note 1039369 - FAQ XI Axis Adapter

 
 

SAP Developer Network SAP Weblogs: SAP Process Integration (PI)