cancel
Showing results for 
Search instead for 
Did you mean: 

Problems when calling the SOAP adapter from a Webdynpro

Former Member
0 Kudos

Hi,

An error occurs in the SOAP adapter when sending a message from a Webdynpro client. I have downloaded the SAP Soap Client and made the same test and that works fine.

I had to do some debugging to finally find the stack trace found below.

Does anybody have an idea of why the call doesn't work from Webdynpro?

<text>com.sap.aii.af.service.cpa.CPAException: invalid channel (party:service:channel) = &lt;null&gt;

at com.sap.aii.af.mp.soap.web.MessageServlet.getChannelID(MessageServlet.java:415)

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

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

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160)</text>

</s:SystemError>

Thanks for help,

Hans

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

>><text>com.sap.aii.af.service.cpa.CPAException:<b> invalid

>>channel (party:service:channel) = &lt;null&gt; </b>

Looks like ur endpoint information that you are using in the webdynpro is wrong.

please check if the end point is correct.

http://server:port/XISOAPAdapter/MessageServlet?channel=party:service:communicationchannel

http://<host>:<port>/XISOAPAdapter/MessageServlet?Version=3.0&amp;Channel=:Telia_Kundservice_portal:...

cheers,

Naveen

Former Member
0 Kudos

He Naveen,

Thanks for a perfect solution.

When I use following URL it works perfectly:

http://<host>:<port>8000/XISOAPAdapter/MessageServlet?channel=:Telia_Kundservice_portal:Sender_SOAP

Cheers,

Hasse

Former Member
0 Kudos

Hi Hasse,

Did your scenario work with 8000 (HTTP) port not the J2EE port 50000? I'm executing my scenario with 50000 from OXYGEN, it works wonders for me. The other day, someone on the forum was not getting it with HTTP port.

Is the port irrelavant?

praveen

Former Member
0 Kudos

Hi Praveen,

The port is irrelevant in my case. I only tried with 8000 (HTTP).

Regards Hasse

Answers (1)

Answers (1)

former_member187339
Active Contributor
0 Kudos

Hi,

Check the url given in Webdynpro (for calling the scenario).

Can you mention the piece of code here (XI calling part)?

Regards

Suraj

Former Member
0 Kudos

Hi Suraj

First I should mention that I have imported a generated WSDL from XI to create the Model and thus the port configuration. The URL looks like this:

http://<host>:<port>/XISOAPAdapter/MessageServlet?Version=3.0&amp;Channel=:Telia_Kundservice_portal:...

Service = Telia_Kundservice_portal

Channel = Sender_SOAP

I've also tried with a modified shorter version which is also the one I'm using from the SAP SOAP client.

http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:Telia_Kundservice_portal:Sender_SOAP

The actual call is a typical one:

wdContext.currentRequest_Faktura().modelObject().execute();

Before this call the Basic authentication (user/passw) is set.

Regards,

Hans