on 09-25-2006 10:59 AM
Hi All,
I have a Scenario Web service --> XI --> File
I configured SOAP Sender Adapter to send a soap request to the Web service.
Integration server SOAP inbound channel is given as below in defining the web service :
http://pt01:50000/XISOAPAdapter/MessageServlet?Channel=:SoapSenderService:SoapSender
Business service is : SoapSenderService
Communication channel name: SoapSender
<b>when i try to send a sop request to the Interface via XML SPY tool I get the following error</b>:
<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) = <null>
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:493)
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>
Can some one tell me if there is any way to see the WSDL through an URL ( generated run time)
My message servlet status is Fine.
I get a status ok when I try this Url in the browser:
http://pt01:50000/XISOAPAdapter/MessageServlet?Channel=:SoapSenderService:SoapSender
Response: Message Servlet is in Status OK
Status information:
Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/aii/30_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#5 $) bound to /MessageServlet
Classname ModuleProcessor: null
Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean
Lookupname for remoteModuleProcessorLookupName: null
ModuleProcessorClass not instantiated
ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0
ModuleProcessorRemote not instantiated
Can any one please help me.
Regards,
Meher
Meher,
Can you try using the HTTP port instead of the J2EE port.
Also, take a look at this blog and article,
/people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine
Regards,
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
Thanks all for your replys.
In the same Web service --> XI --> FIle Scenario.
When I post an Xml messsage of type Outbound Interface with Quality of Service : Best Effort , My message is successfully processed.
But Xml Spy shows an error messages saying Spy could not post soap request.
<b>Exception is as follows:</b>
<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_MAPPINGPROGRAM_FOUND:
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_MAPPINGPROGRAM_FOUND:
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>
Please let me know if some thing is wrong from my side?
Regards,
Meher
Hi,
Actually it is because XML SPY is sending it as Sync call and its expecting a respose back. Where as your scenario is File so it is a Async scenario. From you error message I can see that "NO_MAPPINGPROGRAM_FOUND", so I believer there is no reponse mapping found for that. Check out ur SXMB_MONI by setting the LOGGING = 1 in SXMB_ADM. You will find a error while response. So do a Ascyn call and why dont you use SOAP Client.
Thanks,
Prakash
Hi,
<i>When I post an Xml messsage of type Outbound Interface with Quality of Service : Best Effort , My message is successfully processed.</i>
>>>Are you planning to do Synchrnous Scenario ? Because , you have mentioned Quality of Service : Best Effort. It is nothing but Synchrnous.
In your case, as your scneario is Webservice->XI->File , file system is not supporting Best Effort as a Qualituy of service. Instead of this use Quality of Service as "Exactly Once".
Now the error tells me that "No Mapping Program found"..
Check is the mapping is in place and actiavted and working fine ..test this with IntegratioN Repository Test Tab.
Hope this helps,
Regards,
Moorthy
Hi,
<i>>>>I made QOS to Exactly Once But still the message got processed synchronously. It did not wait in the inbound queues for processing.</i>
No you will find it in the queue and that is no called Sync.
<i>>>>May I know when to use Best Effort and when Exactly once at a design and a requirement level?</i>
Best Effort is for Sync process
Exactly one is for Async process
For example :
Lets assume you are sending a email and you cannot expect a reply immediately after clicking Send button. You will just get a message called Mail sent. This is called Async = Exactly Once
You are requesting a URL say www.sdn.sap.com you are getting the page immediately in your browser. That is you are getting a response for the request you made. This is called Sync = Best Effort
Simillarly when you are working with a File you cannot expect a response form a file so it cannot be Sync and simillarly with IDOC and Mails.
Where as in case of RFC, HTTP, SOAP you can get a response for the request you made.
Hope this make clear...
Thanks,
Prakash
For testing XI exposed WS - Ref: /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
79 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.