Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
aashish_sinha
Active Contributor

I have been working upon SOAP adapters since long time. Including myself, a lot of people are dependent upon third party software like XMLSPY, SOAPUI, and MS InfoPath etc to push SOAP request to SAP PI.

For pushing a SOAP request to SAP PI, SAP already provided wsnavigator since 7.0 releases but I can see its robustness from PI 7.1.1 release and it moved way ahead in PI7.3/PI7.31 and gave use a good option to push and test it within SAP/SAP PI.

Earlier we used to test it through SOAPUI, XMLSPY and MS InfoPath, because of that I can see lots of threads open in SCN/SDN, discussing these errors.

Below is a small list of generic Error while testing through third party UI tools.

Sr. No

Error Text

Possible Solution

1.

Error: HTTP method POST is not supported by this URL

WSDL URL error.

2.

CPAObjectNotFoundException: Couldn't retrieve binding for   the given channelId: Binding:CID=null;

WSDL URL error. Sometimes Sender SOAP channel   configuration problem.

3.

CPAException: Couldn't retrieve inbound binding for the   given P/S/A values: FP=;TP=;FS=temp;TS=null

WSDL URL error.

To avoid these common errors and to minimize our development effort due to these errors we can test sender SOAP scenario using wsnavigator.

Pushing SOAP request to SAP PI through WSNAVIGATOR


To test this, I have created one simple scenario SOAP – SAP PI – File.

I am assuming that all ESR and ID activities are done for SOAP – PI – File scenario. In ID, we have created ICo’s with Sender SOAP Adapter and receiver as File Adapter. I am using SAP PI 7.31 Java Stack.

Approach 1 Steps

  1. First step is to open your ICO and click on Integrated Configuration -> Publish in SR


             After that, you will get below screenshot. Click on publish to publish your object to Service Registry.

       It generates 2 endpoints, one for HTTP and another for HTTPS connection.

     In case, your Service Registry is not configured you will get an error message on this. To configure Service Registry, Please follow SAP Note – 1458315.      Configuration of Service Registry is out of scope of this blog.


2. Click on service registry as shown in below screenshot.

3. It will open below screen.

Enter WSDL port type name as your Service Interface name and click on go to find your published WSDL in service Registry.



4. Click on Endpoints tab to see configured endpoints for HTTP and HTTPS port.

If you scroll it down, you will see target WSDL URL/Address, which you can use for your purpose.

Also we can test it for configured ports directly from service registry. Click on Test button will take you to wsnavigator.

For detailed testing through wsnavigator, Please follow approach 2 below, which will contain all steps for testing this scenario through WSNAVIGATOR.

Approach 2 Steps


  1. We need to go to Integration Directory and Open ICO for SOAP –PI – File scenario. Click on Integrated Configuration -> Display WSDL. Below screen will pop up.

From Above screenshot, you can save your WSDL. Now we will copy WSDL URL from above.


2. Now open WSNAVIGATOR by using link – http://host:port/wsnavigator. Below screen will come.


Paste the copied WSDL URL above in the box and click on next. It will show you below screenshot which is similar to the screen we have got in approach 1 through service registry.

Select operation name and click on next to create SOAP request ready to be sent to PI. Enter values.

After input, click on next to post SOAP request to SAP PI. Below is the success screen.

To check if message is posted to PI or no, go to Message Monitoring and check out for the status.You can see the success message below. You can also check message logs for exact execution.

Above 2 approaches was just an overview how to send SOAP request to PI without using third party software.  We can also use Service registry test directly in WSNAVIGATOR by selecting radio Button of Service Registry. Then we can search for published WSDL and test it.

1 Comment
Labels in this area