cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Request error

Former Member
0 Kudos

Hi Guys,

I have developed SOAP - SOAP Synchronus scenario and i am posting the data directly to the integration server and i am getting the following error with the xmlspy.

The url is

http://sapxx:8001/sap/xi/engine?type=entry&version=3.0&Sender.Service=DS5LOGICAL&Interface=http%3A%2F%2Fsap.com%2Fxi%2FSAPGlobal20%2FGlobal%5EPaymentCardPaymentAuthorisationRequest

I have checked in moni and there is no sender service recognized

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

<SOAP:Body>

<SOAP:Fault>

<faultcode>SOAP:Server</faultcode>

<faultstring>System Error</faultstring>

<detail>

<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

<context/>

<code>RCVR_DETERMINATION.MESSAGE_INCOMPLETE</code>

<text>Message is incomplete. No Sender found</text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

any help would be appreciated.

Message was edited by:

raj reddy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Raj,

If you did not define a sender partner to your integration scenario then always have the "channel=:<service>:<channel>" in your url, likewise the sender must have at least the SOAP envelope (i.e. has the header ad the payload).

Former Member
0 Kudos

Hi Erwin,

I have created the webservice in ID with the following url

http://sapxx:50100/XISOAPAdapter/MessageServlet?channel=:DS5LOGICAL:CC_SOAP_SEND and when i test with the xml spy, i am getting the following error

<?xml version="1.0"?>

<!-- see the documentation -->

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

<SOAP:Body>

<SOAP:Fault>

<faultcode>SOAP:Server</faultcode>

<faultstring>Server Error</faultstring>

<detail>

<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

<context>XIAdapter</context>

<code>ModuleUnknownException</code>

<text><![CDATA[

com.sap.aii.af.mp.module.ModuleException: either no channelID specified or no channel found for the specified party, service, and channel name, MessageServlet(Version $Id: //tc/xi/NW04S_08_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#3 $)

at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:409)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

]]></text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

any help would be appreciated

Thanks,

Raj

Message was edited by:

raj reddy

bhavesh_kantilal
Active Contributor
0 Kudos

Did you create a Sender SOAP adapter under the Business System "DS5LOGICAL" with name "CC_SOAP_SEND" .

If no, then this is what the URL is looking for, please check that and also make sure that this adapter is active.

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Thanks for the reply. I have created a cc under DS5LOGICAL with the name CC_SOAP_SEND. I have also cleared the cache.

when i test the scenario from the RWB test message tab, it works fine. When i send the request from the soap client tool it is giving the following error

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

- <!-- Receiver Identification

-->

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

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

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

<SAP:P1>Sender</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Message is incomplete. No Sender found</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

It is not taking the sender service from the url.

any help would be appreciated

Thanks,

Raj

bhavesh_kantilal
Active Contributor
0 Kudos

Raj,

1. What is the URL that gives you this error "Message Incomplete"

There are 2 Url 's possible and there 2 different error messages you have posted and hence am lost.

Can you let me know what URL causes which error?

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

I have tested the configuration in ID and i am getting the following errors

Sender Agreement

 

Internal Error

HTTP connection to ABAP Runtime failed. Error: 403 Forbidden URL: http://sap29:8001/sap/xi/simulation?sap-client= User: XIDIRUSER

 

 any help would be appreciated

Thanks,

Raj

Former Member
0 Kudos

Hi Bhavesh,

The url pointing directly to the integration server is giving the message incomplete error

The url pointing to the soap adapter as below gives the channel not found error.

http://sap29:50100/XISOAPAdapter/MessageServlet?channel=:DS5LOGICAL:CC_SOAP_SEND &amp;version=3.0&amp;Sender.Service=DS5LOGICAL&amp;Interface=http%3A%2F%2Fsap.com%2Fxi%2FSAPGlobal20%2FGlobal%5EPaymentCardPaymentAuthorisationRequest

The errors in the ID testing fixed after i activated the simulation service in sicf.

any help would be appreciated

Thanks,

srini

bhavesh_kantilal
Active Contributor
0 Kudos

When you use the Integration Server URL, you need to ensure that the SOAP action is set to as per the blog by Stefan.

Also, if youa re using XML spy, then you would need to manually edit the SOAP URL for the Integration Server .

XML Spy does not change the & amp ; as & when you load the WSDL and hence you would need to change thins manually and then triger the interface

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

I have resolved the issue, the problem is same as you said, the xml spy is not changing the &amp; to &. I did that manually as per your suggestions and i got it.

Thanks for your patience and valuable relies and i really appreciate your help and suggestions.

Thanks again,

raj

bhavesh_kantilal
Active Contributor
0 Kudos

been there done that and sweated as much as you did

Glad to have helped

Regards

Bhavesh

Answers (3)

Answers (3)

bhavesh_kantilal
Active Contributor
0 Kudos

When posting the SOAP request directly to the Integration Server you would need to make sure that you have a SOAP Action in your request is <b>http://sap.com/xi/WebService/soap1.1</b>

More in this blog,

/people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine

Regards

Bhavesh

Former Member
0 Kudos

Hi,

I think you have used HTTP Port "8001" ,as seen in your gven URL.

but it should be J2ee port.change the URL with J2EE port and regenerate your WSDL file in ID and make sure you dont use the default URL given by the system there.

give URL of this format

http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel

Babu Sri

Former Member
0 Kudos

Hi,

you have to create a Communication Channel SOAP Sender and post to following adress:

http://server:port/XISOAPAdapter/MessageServlet?channel=:<BusinessSystem>:<CC_Channel>&version=3.0&S...

or just use http://server:port/XISOAPAdapter/MessageServlet?channel=:<BusinessSystem>:<CC_Channel>; while creating your wsdl in directory

regards,

robin

Former Member
0 Kudos

Hi Robin,

I can even post the data directly to the integration server bypassing the adapter right. I have gone through a blog and there it mentioned we can post the data directly to the integration server by using the ABAP Port and with out the sender adapter.

plz correct me if i am wrong

Thanks.,

raj

Former Member
0 Kudos

Hi,

yes you can.

than you have to use this url:

http://host:port/sap/xi/adapter_plain?service=<BusinessSystem>&namespace=<namespace>&interface=<inte... or EO or EOIO>

regards,

robin

Former Member
0 Kudos

Hi Robin,

During the development of the webservice in the ID, i said propose url which has given me the integration engine url which we see in sld, then finally my url is as above.

under propose url do i need to use the url as you said and proceed further ?

Thanks,

raj