on 12-19-2006 7:31 PM
Hi!
I have a SOAP-> RFC scenario and I trying to send a message using both encoded header and query string but I get the following exception in the client:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
The URL I´m trying is something like this:
It´s a XI from SAP Netweaver2004s SP10.
I couldn´t find anything in the Message Monitoring. Please, some idea?
Thank you,
Fabiano.
The complete error stack:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1444)
at com.sap.aii.messaging.srt.xmb.XMBMessageHeaderCodec.readValue(XMBMessageHeaderCodec.java:354)
at com.sap.aii.messaging.srt.xmb.XMBMessageHeaderCodec.decode(XMBMessageHeaderCodec.java:108)
at com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onRequestFromWS(XMBWebServiceExtension.java:592)
at com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.invokeOnRequest(XMBWebServiceExtension.java:362)
at com.sap.aii.messaging.srt.ExtensionBubble.onMessage(ExtensionBubble.java:50)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:906)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_3.process(ModuleLocalLocalObjectImpl0_3.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
at com.sap.aii.af.mp.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:174)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:441)
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:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
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:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
I have the same error when I try to use dynamic interface from client. Selecting "Use encoded header" and "Use query parameter" doesn't make any difference. However, non-dynamic works fine for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi -
Have you turned on the options "Use Encoded Header" and "Use Query String" in the channel sender SOAP channel configuration?
Jin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've seen this error a lot when working with user defined functions. Have you tested your mapping out? From the log you sent, I can't really tell if it's an error that is specific to the adapter, have you already ruled out the possibility of the error existing in the map or any user defined functions that use arrays?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Harrison, thanks for the fast reply.
Well I did checked out my mappings programs (XSL) and they´re fine. The tests inside the Integration Builder are ok.
The weird thing it is the connection doesn´t even appears in the Message Monitoring. It´s seems something in the SOAP Adapter before it gets the Integration Engine. I really don´t know.
Yes, the Adapter Engine is red the sequence of steps there:
2006-12-19 18:01:10 Success Message successfully received by messaging system. Profile: XI URL: http://angelim:50700/MessagingSystem/receive/AFW/XI Credential (User): J2EE_ADMIN
2006-12-19 18:32:55 Success calling the module processor for channel SEND_TESTE
2006-12-19 18:32:55 Success MP: entering
2006-12-19 18:32:55 Success MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
2006-12-19 18:32:55 Success SOAP: request message entering the adapter with user MERC_FABIANO
2006-12-19 18:32:55 Error SOAP: call failed: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
2006-12-19 18:32:55 Error MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: String index out of range: -1: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Do you get the same error when just using the following:
http://server:8007/XISOAPAdapter/MessageServlet?channel=:PORTAL_B2B:SEND_TESTE
I assume you're trying to set the interface name dynamically from the client in the original case, but just wanted to check if the non-dynamic case works for you.
Regards,
Jin
Hi Jin!
You´re right, I´m trying to use dymanic interface using the URL.
When I use the non-dynamic option as you suggest it goes further in the XI. I could see my message in the Message Monitoring but I got another weird error (please see my post at: https://forums.sdn.sap.com/click.jspa?searchID=471965&messageID=2868191 )
User | Count |
---|---|
81 | |
24 | |
11 | |
9 | |
7 | |
5 | |
5 | |
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.