cancel
Showing results for 
Search instead for 
Did you mean: 

soap sender issues

Former Member
0 Kudos

Hi All,

First of all my apology to create another discussion on the same soap channel issue,but my old thread are getting lost in pool of issues.

I am working on SAP PI 7.3 sp 04.

I have soap to proxy synchronous scenario.

my scenario was working fine till last Friday,but suddenly on 18'th all my scenario went on error" premature end of file"

Since then whatever i am trying to make my scenario work.the situation is getting more worst.so i decided to go for fresh start.

I have few questions on soap sender:

1) from where we should take the wsdl.

     from Tool or from sender agreement.

2) Most imp question :which url we need to use:

     1)  http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>

or

     2) http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?senderParty=&senderService=XXX&receiverParty=...

3) if we do any changes in URL,should we change the same in wsdl also?

Please suggest me!!!

Regards,

Monika

   

          

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi All,

we have resolved this issue by deleting all existing soap interfaces.

and created with new names.

after that it started working fine.

so it seems it was cache issue,even though we have refreshed cache thousands of time and restarted java also.

I know it is weird but worked for me.

Thanks a lot all the mentors to providing me your valuable inputs.

Regards,

Monika

former_member184681
Active Contributor
0 Kudos

Hi Monika,

1. From the Sender Agreement.

2. Here is what SAP Help says on this topic:

http://help.sap.com/saphelp_nw73/helpdata/en/48/3555240bea31c3e10000000a42189d/content.htm

So your answer is: both can be used, but the second one is recommended.

3. In general, when a change is made to the sender SOAP scenario (structure change, configuration change, ...), you should simply generate the .wsdl once again and reimport it to the sender system.

Hope this clarifies,

Greg

Former Member
0 Kudos

Hi Greg!!

Thanks a lot for our quick response..

So if we use wsdl from sender agreement,we get a wsdl URL from there:

http://<host>:<j2ee-port>/dir/wsdl?p=sa/7d34446a5dca3dd2806a16684d6dc756

what is the significance of this?

former_member184681
Active Contributor
0 Kudos

There are two modes to share the .wsdl:

1. As a link (the one you provided). You simply share the link with the party responsible for the sender system, and they download the web service description from PI directly, via this link.

2. As a file (in the popup window of Sender Agreement -> right-click -> Display WSDL there is a button to save as a file). This way, you simply share the file with the sender and they import web service description from this file.

Bear in mind that for some sender systems, only one of the options above can be technically feasible.

Regards,

Greg

Former Member
0 Kudos

sure,My client doesn't recognise system generated url.

So this part i am clear.

Now i refered the link you provided and generated the wsdl.

i imported the same wsdl and gave the url as per the suggesion:

http://XXX:XXX/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_XXX&interface=SI_XX&receiv...http://pi-sapdev.ad.cambridge.org:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_P...&interfaceNamespace=http:/XXX

error in UI tool:

Now geting the below error in UI tool

<code>ADAPTER.JAVA_EXCEPTION</code>

               <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIServer:CX_RD_PLSRV:

Error in Moni

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  - <!--

 Receiver Determination 
-->

- <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="RCVR_DETERMINATION">CX_RD_PLSRV</SAP:Code>

<SAP:P1>Problem while determining receivers using interface mapping: Error while determining root tag of XML: Unable to read payload</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Error when determining the receiver: Problem while determining receivers using interface mapping: Error while determining root tag of XML: Unable to read payload Problem while determining receivers using interface mapping: Error while determining root tag of XML: Unable to read payload Error while determining root tag of XML: Unable to read payload</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

So if i am not wrong the error is because of URL,i can see RCV determination error in moni.

Now what changes i have to make in URL

Thanks for your suggestion

Monika

former_member184681
Active Contributor
0 Kudos

Dear Monika,

The error you mentioned is not caused by an incorrect URL. Instead, it looks like the test call had an empty or incorrect payload. Because of this, the Receiver Determination (which was found successfully by PI, no issues here) couldn't parse the message, probably for some payload-based routing (are you using one?). Make sure to pass correct message payload to PI. You can try executing some example calls from a tool like SOAP UI, it generates the payload automatically based on the .wsdl file.

Regards,

Greg

Former Member
0 Kudos

Thanks a lot for not telling url issue Greg!!!

I checked moni and i can not find the payload in inbound message.so i guess i am back on my original issue.

It means soap adapter is not able to send the message properly.

is there any specific setting to be done in sender soap channel?

i used

transport protocol : HTTP

message protocol : soap 1.1

adapter engine : central adapter engine

QoS : best effort

former_member184681
Active Contributor
0 Kudos

SOAP sender channel config is very limited, yours look fine. And it isn't very likely that PI "loses" the payload it receives . So you have these options:

1. Make sure sender sends a correct message (check it there, if possible), test the message mapping on this payload as a simple verification if it is correct.

2. Send a well-prepared test payload from SOAP UI, as I mentioned before.

Regards,

Greg

Former Member
0 Kudos

Hi Greg,

Okay now the rcv det error got resolved.I selected operaion specific button earlier,

Now my message is stuck in message mapping step with below error:

<SAP:Category>Application</SAP:Category> 

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_MM_ProductFamily_from_Jerome_PUB_T~</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException:</SAP:P2>

<SAP:P3>Premature end of file.</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_MM_ProductFamily_from_Jerome_PUB_T~; com.sap.aii.utilxi.misc.api.BaseRuntimeException:Premature end of file.</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Issue is the same,I am not getting payload.

I tried a test run with the interation engine url (which we get when we do propose url)

and i am getting proper message,but when it comes in adapter engine it ia not able to parse the payload

what could be the reason please?

Thanks for all your support

Monika

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Obvious the problem is in your message mapping step. Copy the payload from SXMB_Moni and test in the mapping tool. See whether you miss values for the mandatory tag element or  invalid data coming from the sender and your mapping step fails ...  Do the test.. You will get more details on this error.

Former Member
0 Kudos

Hi Baskar,

I am not geting any payload in moni,that is my problem.

In the inbound message step,i just receive Soap Header and Soap Body ,no payload

as greg suggested in my old thread to check sap note 1522630

i asked my basis to check and it seems i am working on 7.3 sp 04 so it's been corrected in my version of PI.

and still i am facing the issue,not sure why...

Monika

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Is this behaviour happens for all Soap sender interfaces or just this one? Possibilities are invalid sender xml structure payload could cause this issue. But you can try using external tool like xmlspy or soapui to send the valid payload request and see how that helps. If still you have issues, You might want to check the sap note again (Greg mentioned) or search similar note on this case.

Former Member
0 Kudos

Hi Basker,

It is with all the soap sender interface.

I am using soap ui 4.5 to test and my client also uses the same.

This is sound wierd but earlier two of my scenario was working fine and one had this issue.

But now suddenly all my soap channel went on this error.

I again crossed check with my basis but he says it's all there in my system (SAP_BASIS 730 SP4).

I tried a test run(with same payload) through interation engine url (which we get when we do propose url) and i can see the payload fine.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Yes, this is sound weird. I suspect one more thing. Please check your payload and see whether it contains special character example say '&'.  if you find special character this could cause error like premature end of file because of the invalid xml data.  So if you find special character like  '&' you have to convert into &amp.  Though you push the message successful via integration engine, still there is nothing wrong in seeing this payload.

Former Member
0 Kudos

Hi Basker,

i have craeted a new soap channel and used it in interface.

So started having new error:

Cache status of object CC_SOAP_SND_XX for cache instance Central adapter engine is inconsistent.

I checked all relevent thread,did all the steps.but no luck

I have done full cache refresh,i can see soap channel in green in cc monitoring,but i am not able to create wsdl with that.

Somehow i feel My soap adapter itself has some problem.