on 02-06-2012 11:23 AM
Dear Experts,
i have scenario to post XML payload on PI 7.1 URL.
I used the test tool for testing http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/66dadc6e-0a01-0010-9ea9-bb6d8ca48...
And it is working. I can post XML and i got the result.
It asks for authentication (Username & PW), but i need to post without any authentication.
Now, as per vendor request to provide them URL without "&" , i tried to post XML message on http://server:port/XISOAPAdapter/MessageServlet?channel=:BS_AD:CC_AD_PN_SENDER.
but i got the following strange error message.
Result:
<?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>ADAPTER.JAVA_EXCEPTION<;/code>
<text><![CDATA[
java.lang.NullPointerException: while trying to invoke the method java.lang.String.indexOf(int) of an object loaded from local variable 'ctype'
at com.sap.aii.af.sdk.xi.net.MIMEInputSource.decodeContentType(MIMEInputSource.java:454)
at com.sap.aii.af.sdk.xi.net.MIMEInputSource.readBody(MIMEInputSource.java:351)
at com.sap.aii.af.sdk.xi.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)
at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:409)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:163)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:82)
at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:124)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:74)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:402)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:391)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:93)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:188)
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:250)
]]></text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
Possible cause could be with RFC issue on ECC System
check this on ECC system
- SLDCHECK if SLD can be launched fine
- SLDAPICUST T-code if that maintained correctly for SLD
- Check HTTP RFC on ECC and ABAP connection RFC on PI system to ECC
Regards
Sahil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Abo
Can you please elaborate on the point that the client requires the username and password not to be a part of URL or be not used at all (i.e no authentication)
Second the HTTP tool you are using is used to hit the integration engine from the tool and hence you have to provide the username and password to login, can you clarify the exact meaning of
but i need to post without any authentication
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Sourabh Nirmal for your reply.
For first point .
Yes we need "no authentication". for that i select "HTTPS without client authentication" for HTTP Security Level in sender soap communication.
I have developed java class to post the xml on http://server:port/XISOAPAdapter/MessageServlet?channel=:BS_AD:CC_AD_PN_SENDER.
but i got the following error message: EXCEPTION : java.io.IOException: Server returned HTTP response code: 401 for URL: http://server:port/XISOAPAdapter/MessageServlet?channel=:BS_AD:CC_AD_PN_SENDER.
Same java class working fine on the first URL: http://server:port/sap/xi/adapter_plain?namespace=**&interface=*&service=&party=&agency=&scheme=&sap-user=*&sap-password=***&sap-client=130&sap-language=EN
also it is working fine with test tool as well.
Regards,
HTTPS without client authentication
When you define one of these security levels for a sender channel, only those messages that have been sent by using an HTTP connection with at least this security level are accepted by the Integration Server or Adapter Engine. If the security level of the HTTP connection is lower than the one defined for the sender channel, messages are rejected with an HTTP error. See also SAP Note 891877
User | Count |
---|---|
84 | |
10 | |
10 | |
9 | |
7 | |
6 | |
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.