cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP->XI->RFC , while posting soap request thru SPY , getting exception,

Former Member
0 Kudos

Hello friends,

I am trying <b>SOAP->XI->RFC</b> scenario. would like to explain in brief about requirement then <b>let me know if this is correct approach</b>

<i>Our client wants a pull approach from R/3 , for example lets say he wants to get Material Master data from R/3.

So he will send a SOAP request with the material number and r/3 should return back the details.</i>

<b>So we have decided to go with SOAP->XI->RFC approach

That means a sender SOAP Adapter and a receiver RFC adapter,</b>

I have done all the designing, like creating my own DataType,MessagType all interfaces etc.

then i created a Bussiness system of type third party with host name as XI host name to use for sender, and a business system of type Web As ABAP and used one of the R/3 as receiver system.

Doubts: Once i created Soap channel in my sender businees system(where Interface name i gave my Message Interface name and its Namespace), and the receiver channel in my another bussiness system, i created the entire scenario using Configuration Wizard.

NOW THE PROBLEM STARTS.

After clicking Define Web Service , it asks for URL

i gave following url

http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=TPBS_Rohit:soapChannel

TPBS_Rohit is my Sender (third party bussiness system name), and soapChannel is the channel under it.

<b>tell me if this is right</b>

Then in the Message Interface i selected my Message Interface name that i had created in Design for publishing.

<u><b>MAJOR DOUBT</b></u>

<b>It Asks for

Service :

Interface Name :

Interface NameSpace :

what do i give here.</b>

this is what i have given

Service : TPBS_Rohit, Sender (third party bussiness system name)

Interface Name : MI_SOAP <again the same message interface name that i have published earlier>

Interface NameSpace : same namespace.

AM i right ???

I am sure somthing is wrong since when i tried sending a SOAP request using XML SPY , this is what i get.

[code]<?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>Exception</code>

<text><![CDATA[

java.lang.Exception: invalid channel (party:service:channel) = TPBS_Rohit:soapChannel

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

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:385)

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

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

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

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

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

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

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

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

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

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:94)

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

]]></text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>[/code]

Please Let me know where have i gone wrong ?

Accepted Solutions (0)

Answers (8)

Answers (8)

Former Member
0 Kudos

Hey Rohit,

First u goto SXI_CACHE and do complete refresh..and then try again...

second..if it doesnt work after step..then do the receiver part again in configuration.

Former Member
0 Kudos

Hi Rohit,

It is saying no receiver could be determined.

Check whether ur Receiver side is correctly configured or not..make everything clear in receiver side..

Former Member
0 Kudos

Hi manikandan,

I have checked the receiver determination and is fine, i created it using standard configuration wizard so dont see any error over there .

still trying but getting same error.

Former Member
0 Kudos

friends,

thought of pasting my error trace of Receiver Determination recived in XI, please let me know if you can make out my error from this, i have already pasted the Message Mintor Trace and the XML SPY trace.


<?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">NO_RECEIVER_CASE_BE</SAP:Code> 
  <SAP:P1 /> 
  <SAP:P2 /> 
  <SAP:P3 /> 
  <SAP:P4 /> 
  <SAP:AdditionalText /> 
  <SAP:ApplicationFaultMessage namespace="" /> 
  <SAP:Stack>No receiver could be determined</SAP:Stack> 
  <SAP:Retry>N</SAP:Retry> 
  </SAP:Error>

Former Member
0 Kudos

I suggest that the first time you use a soap interface use the suggested url. No adapter is used in this case, soap message is directly to the IS pipeline. If this works, set up the url for SOAP adapter .

Former Member
0 Kudos

Hi Rohit,

http://<serverhostname>:<port>/rep/start/index.jsp

U ll find ur Runtime Work bench link.

Click on that..and then click display button in next window..and next click on adapter monitoring button in next window..in the next window u ll see branch http://sap.com/xi/XI/System..just expand it..It ll display list of adapters...u click on soap adapter...and the check for the status of ur adapter..

Former Member
0 Kudos

hi guys,

still not able to solve the problem , here is the trace i found in the message monitor.

Time Stamp Status Thread ID Sequence No. Description

2006-06-29 16:01:35 Success SAPEngine_Application_Thread[impl:3]_9 1151577095064 SOAP: request message leaving the adapter (call)

2006-06-29 16:01:35 Success SAPEngine_Application_Thread[impl:3]_9 1151577095064 Application attempting to send an XI message synchronously using connection AFW.

2006-06-29 16:01:35 Success SAPEngine_Application_Thread[impl:3]_9 1151577095064 Trying to put the message into the call queue.

2006-06-29 16:01:35 Success SAPEngine_Application_Thread[impl:3]_9 1151577095110 Message successfully put into the queue.

2006-06-29 16:01:35 Success SAPEngine_System_Thread[impl:5]_82 1151577095126 The message was successfully retrieved from the call queue.

2006-06-29 16:01:35 Success SAPEngine_System_Thread[impl:5]_82 1151577095126 The message status set to DLNG.

2006-06-29 16:01:38 Error SAPEngine_System_Thread[impl:5]_82 1151577098657 Received XI System Error. ErrorCode: NO_RECEIVER_CASE_BE ErrorText: ErrorStack: No receiver could be determined

2006-06-29 16:01:38 Error SAPEngine_System_Thread[impl:5]_82 1151577098657 Returning synchronous error notification to calling application: XIServer:NO_RECEIVER_CASE_BE:.

2006-06-29 16:01:38 Error SAPEngine_Application_Thread[impl:3]_9 1151577098657 Transmitting the message using connection http://ps3181:8000/sap/xi/engine?type=entry failed, due to: XIServer:NO_RECEIVER_CASE_BE:.

2006-06-29 16:01:38 Error SAPEngine_Application_Thread[impl:3]_9 1151577098673 The message status set to FAIL.

Ths XML spy is still giving the same trace which i have already pasted above

Hey Manikandan, the Soap adapter is Up, thanks for your help

Former Member
0 Kudos

Hi Rohit,

Check whether ur soap adapter is in green status in adapter monitoring in runtime work bench...and check ur audit log.

did u checked SXMB_MONI...

Shabarish_Nair
Active Contributor
0 Kudos

Hi Rohit,

Note that you use your WSDL file for the sender (not the RFC/BAPI itself) since you have generated a WSDL for it.

Also, the messages in the WSDL need to be used in your mapping.

Former Member
0 Kudos

yes manikandan , i checked it in the SXMB_MONI , but couldnt interpret. may be i had messed uo while mapping, trying to solve it and then will test it and reply again.

can you but please confirm about, what do i have to give in

Service :

Interface :

Interface namespace, while creating web service ,

please tell me if i have entered the right values ?

Shabarish_Nair
Active Contributor
0 Kudos

from the weblog /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services

>>>>

3.http://<serverhost>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<ServiceName>:<Channel Name>

4. ServiceName : Service used in your scenario.Channel Name : SOAP Sender Channel Name.

Former Member
0 Kudos

> Hi Rohit,

>

> Check whether ur soap adapter is in green status in

> adapter monitoring in runtime work bench...and check

> ur audit log.

Where and How can i check this ... any transaction code or any url .. please give it to me

Former Member
0 Kudos

Hey i have two questions..

1.Did u generated the wsdl again or u just included colon in the url..

2.Is ur "TBPS_Rohit" correct sender service..

Also,See in runtime workbench and SXMB_MONI...

Message was edited by: manikandan rajendran

Former Member
0 Kudos

hi Manikandan,

1) Yes i regenerated the wsdl.

2) TBPS_rohit is the Business system of type Third Party with host <XI_host>. This BS i have imported under "Service Without Party -> Business System"

While creating a Web-Service through the Configuration Tools Menu, these are the options that i gave..

<b>Service : TBPS_Rohit

Interface Name : MI_Soap (This is the Message Interface created in the Design)

Interface NameSpace : http://SOAPNameSpace (Namespace of the above Interface)</b>

Please tell me if these parameters are correct.

regards,

Rohit

Former Member
0 Kudos

Hi..

If its service without party..u dont need to give party..

with regards,

Manikandan R

Former Member
0 Kudos
Former Member
0 Kudos

Hi Rohit,

U have to give,

Sender Service..sender Interface..namespace..

http://ctsintcosnw1:50000/XISOAPAdapter/MessageServlet?channel=:SOAP_XI_SOAP_BUSS:SOAP_IN_SENDER

U have missed the colon afetr channel and business service....try it and u should give in correct case also..

before that make sure that u r giving correct sender service..

reward points if it helps..

with regards,

Manikandan R

Message was edited by: manikandan rajendran

Former Member
0 Kudos

hi manikandan,friends

i changed the url to http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=:TPBS_Rohit:soapChannel

colon included.

but now i get the following error trace in SPY ..

[code]<?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>failed to call the adapter engine</faultstring>

<detail>

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

<context>XIAdapter</context>

<code>DeliveryException</code>

<text><![CDATA[

com.sap.aii.af.mp.module.ModuleException

at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:697)

at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103)

at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:221)

at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)

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

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:385)

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

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

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

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

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

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

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

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

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

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:94)

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

Caused by: com.sap.aii.messaging.srt.BubbleException: failed to call the adapter engine [null "null"]; nested exception caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:

at com.sap.aii.af.mp.soap.ejb.AFCallerApplication.perform(AFCallerApplication.java:122)

at com.sap.aii.messaging.srt.ApplicationBubble.onMessage(ApplicationBubble.java:29)

at com.sap.aii.messaging.srt.ExtensionBubble.onMessage(ExtensionBubble.java:56)

at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:576)

... 20 more

Caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:

at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:366)

at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:123)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:419)

at com.sap.engine.frame.core.thread.Task.run(Task.java:60)

at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:73)

at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:145)

]]></text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>[/code]