cancel
Showing results for 
Search instead for 
Did you mean: 

.Net and SAP web service issue

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

reiner_hille-doering
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi All,

It was a bug in XI and was solved by applying SP14 patch3

Thanks to All

Answers (0)