on 01-05-2006 2:05 PM
Hi,
We have created a web service in the XI using soap adapter and we are accessing the web service using .net client (with WSE 2.0 API). but the web service gives following SOAP fault message
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>MalformedMessageException</code>
<text><![CDATA[
expecting end tag: Security, but found Timestamp at state 1; nested exception caused by:
com.sap.aii.messaging.util.XMLScanException: expecting end tag: Security, but found Timestamp at state 1
at com.sap.aii.messaging.util.XMLMarshallableObject.unmarshal(XMLMarshallableObject.java:201)
at com.sap.aii.messaging.mo.Message.reparseRootDocument(Message.java:934)
at com.sap.aii.messaging.net.MIMEInputSource.readSOAPPart(MIMEInputSource.java:598)
at com.sap.aii.messaging.net.MIMEInputSource.decodePart(MIMEInputSource.java:590)
at com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:358)
at com.sap.aii.messaging.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:359)
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>
weather it has to do any thing with compatibilty between them.
any help will be usefull.
This looks like an incompatibilty problem between the WSSecurity implementation in SAP XI and Microsoft WSE. These standards are very new so this can happen ;-).
I suggest to create a network sniff and check if the document sent complies to the OASIS specs for WSSecurity (see the link in your trace). If not, the problem is caused by MS WSE. If yes, it's a bug in XI and I would ask you to open a OSS ticket with the details.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank for your reply.
Today i tried following things.
1> Using network sniffer tool i captured the soap message. from the soap message i removed timestamp tag. and i posted that soap message using SAP SOAP Client again. than it gave me following soap fault message.
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>DOMException</code>
<text><![CDATA[
org.w3c.dom.DOMException: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'
at com.sap.engine.lib.xml.dom.AttrImpl.checkQualifedName(AttrImpl.java:86)
at com.sap.engine.lib.xml.dom.AttrImpl.init(AttrImpl.java:95)
at com.sap.engine.lib.xml.dom.AttrImpl.init(AttrImpl.java:145)
at com.sap.engine.lib.xml.dom.ElementImpl.setAttributeNS(ElementImpl.java:287)
at com.sap.aii.messaging.mo.DefaultItem.readAttributes(DefaultItem.java:99)
at com.sap.aii.messaging.util.XMLMarshallableObject.unmarshal(XMLMarshallableObject.java:193)
at com.sap.aii.messaging.mo.DefaultItem.unmarshal(DefaultItem.java:230)
at com.sap.aii.messaging.mo.Message.reparseRootDocument(Message.java:993)
at com.sap.aii.messaging.net.MIMEInputSource.readSOAPPart(MIMEInputSource.java:598)
at com.sap.aii.messaging.net.MIMEInputSource.decodePart(MIMEInputSource.java:590)
at com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:358)
at com.sap.aii.messaging.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:359)
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>
2> When i removed WSE 2.0 API from the SOAP client i get same error which i got in case 1. This shows that the older .Net API does not use WSSecurity standards.
Now If .Net API does not use new standards than also there is compatiblity problem. This time it is related to QName,xmlns.
I will check the standards now as you said.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.