on 09-08-2009 10:47 AM
Hallo to all,<br><br>
trying to use Sender channel of SOAP Axis Adapter. We are on XI ADAPTER FRAMEWORK 7.10, SP8, Patch Level 0.<br><br>
The channel is created with defaults, I have just selected Servlet as Transport Protocol, did not touch modules setup.<br><br>
When I send the SOAP message to the channel, I get following SOAP Fault in response:<br><br>
<pre>invalid message type: class org.apache.axis.MessageContext
at com.sap.aii.adapter.axis.ra.ModuleProcessorEngine.invoke(ModuleProcessorEngine.java:144)
at com.sap.aii.adapter.axis.web.ServletReceiverCore.doPost(ServletReceiverCore.java:302)
at com.sap.aii.adapter.axis.web.MessageServlet.doPost(MessageServlet.java:392)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
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:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
<pre><br><br>
It seems like that Axis type of the message (MessageContext) leaks to the native XI components (some module?).<br><br>
Have you ever met this situation?<br><br>
Thanks, Lukas
Edited by: Lukas Rampa on Sep 8, 2009 11:47 AM
Finally found the reason:<br>
even though I was connecting to the correct URL (<span style="font-family: Monospace;">http://<fqdn>:<port>/<span style="font-weight: bold;">XIAxisAdapter</span>/MessageServlet?senderService=<service_name>&receiverService=&interface=<interface>&interfaceNamespace=<interface_namespace></span>), the module chain of another communication channel was actually used (this was standard SOAP adapter).<br>
It seems, that the MessageServlet of Axis adapter first searches for appropriate Sender agreement according to URL parameters, finds out the channel there and then hands over the control to the module chain of this channel.<br>
In our case there was the SOAP (non-Axis) channel configured in sender agreement, thus the Axis message was sent to wrong module chain...<br>
Lukas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.