cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in SOAP Sender - SOAP Receiver Senario.

0 Kudos

Hi,

I am working on SAOP Sender- SOAP Receiver Senario, i am using a standard web service.I have successfull created the senario and tested in the Test Configuration in Integration Directory. The problem occurs when i expose my sender interface as a Web Service and use Altova XmlSpy to send the SOAP Request, i am getting an HTTP error. Also it could be great if you could define steps required in Integration Directory -> Tools -> Define a Webservice.. the valued that should be inserted in the URL and other values to complete the Wizard

I am using this URL:- http://host:port/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>;

And when i use the default URL :- http://host:port/sap/xi/engine?type=entry i don't get an HTTP error, the message goes till the receiver determination and Says Sender Not found.

Looking forward to ur Guidance.

Harpreet

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Harpeet,

first, send us please complete error you get from the system.

The difference between the URLs is, then in the first case you are sending a SOAP message to Adapter Engine and in the 2nd directly to Integration Engine. When you are sending message directly to IE, you must provide much more parameters in the URL, like sender, namespace, QoS, ....

So send us please the complete error information.

But as adviced you above - check your Xi server, port, ...

Peter

0 Kudos

Hi Peter,

I have verified the name of the server and port, there is no problem in it.

Here is the detailed 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>CPAException</code>

<text><![CDATA[

com.sap.aii.af.service.cpa.CPAException: invalid channel (party:service:channel) = :

at com.sap.aii.af.mp.soap.web.MessageServlet.getChannel(MessageServlet.java:464)

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

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(AccessController.java:207)

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>

Thanks !!

Harpreet

Former Member
0 Kudos

Harpreet,

see this line:

com.sap.aii.af.service.cpa.CPAException: invalid channel (party:service:channel)

it seems, that u r using wrong channel name..

the sender must be in sequence: <party>:<service>:<channel>, if you are not usi9ng party, then :<service>:<channel>

If you have a good name of the channel, check, if this channel exists together with provided service name...

Use channel and service names in URL exactly the same, as they are - case sensitive..

Peter

Former Member
0 Kudos

to be sure - write here please your service name and channel - case sensitive.. Peter

0 Kudos

Hi,

This is the URL i have provided:-

http://host:port/XISOAPAdapter/MessageServlet?channel=:<PRAC_HAP_DUF_BS>:<CalculatorWS_SOAPSender>;

PRAC_HAP_DUF_BS :- Service

CalculatorWS_SOAPSender :- Name of Sender Communication Channel

Thanks !!

Former Member
0 Kudos

Harpreet

R u using also those "brackets" in the URL?? You must not do that!

your URL should be

http://host:port/XISOAPAdapter/MessageServlet?channel=:PRAC_HAP_DUF_BS:CalculatorWS_SOAPSender

Marks GT and LT <> are being used like let's say variable..

Example: http://<host>:<port>?param1=xxx.

Peter

0 Kudos

Hi,

I have removed the brackets now, the Error that i m getting now is :-

<?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/645_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#7 $)

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

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(AccessController.java:207)

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>

Former Member
0 Kudos

Harpreet,

see:

com.sap.aii.af.mp.module.ModuleException: either no channelID specified or no channel found for the specified party, service, and channel name,

Which is actually still the same problem...

Go to ID, in the left navigation pane click the Objects tab, find your business system and make sure, it has the right communication channel... Harpreet, BE SURE and be sure your system is not within the party...

If you are really sure, you have the correct names, you are not using party, and u use also names case sensitive and still not working, do cache refresh. If still not working, delete your communication channel and create a new one.

Peter

0 Kudos

Hey Peter,

M Damn Sure abut the name of the service and the channel, they are correclty defined.Cache is also Updated. I have even tried with deleting the channel and creating it again, but the result is the same.

Thanks !!

Harpreet

Former Member
0 Kudos

check your communication channel in RWB.

well, this is strange.. I don't know how to help you more. Sorry.

P.

0 Kudos

Thanks Peter for your guidance...!!!

Former Member
0 Kudos

Harpreet:

Were you able to solve your problem? I am having exactly the same situation, have done everything that this thread indicates and still the problem persists. I noted that this question is marked as answered but I did not find a solution in the thread.

Thank you for your answer

Former Member
0 Kudos

I am facing the same problem too, the external system from where the message is being sent is getting the exactly same error and I have tried everything mentioned in this thread.

Also when I test it from Altova, I get HTTP Internal server error.

Can anybody help me with this?

terri_walton2
Explorer
0 Kudos

I too am having this same issue...any know how this was resolved?

Thanks,

Terri

Answers (3)

Answers (3)

Former Member
0 Kudos

hi

in the uRl

http://host:port/XISOAPAdapter/MessageServlet?channel=:PRAC_HAP_DUF_BS:CalculatorWS_SOAPSender

in place of host mention ur Xi server adress and in place of port mention your j2ee port.

rewards point if helpful

Regards

Kasturika.

Former Member
0 Kudos

Hi,

Please check the URL Parameters of

URL:- http://host:port/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>;

Thanks,

Kalyan

Former Member
0 Kudos

hi harpeet,

while using the URL http://host:port/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>;

please check the Host adress, the port no, the service name and the channnel name that you are mentioning in your URL..

Regards

Kasturika.