cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP - XI - SOAP Error

Former Member
0 Kudos

Hi,

I am working on a scenario where a SOAP Client ( XMLSPY) sends a request to XI and XI forwards it to a web service and returns the result back to Soap Client. I am using SOAP Adapter at outbound and inbound.

I have done the following steps:

1. imported the WSDL for the web service.

2. created MI based on the WSDL.

3. Configured the agreements and determinations.

4. Generated WSDL based on the configuration objects in ID.

5. Called my WSDL in XMLSPY client.

6. I am asked to login to the XI system.

7. I get an error message back in XMLSPY:

<?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>DeliveryException</code>

<text><![CDATA[

com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'

at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:457)

at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:125)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:512)

at com.sap.engine.frame.core.thread.Task.run(Task.java:64)

at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:74)

at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:141)

]]></text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

The message monitoring shows:

2006-04-03 11:37:37 Success SOAP: request message entering the adapter

2006-04-03 11:37:40 Success The message was successfully received by the messaging system. Profile: XI URL: http://diamond:50500/MessagingSystem/receive/AFW/XI

2006-04-03 11:37:40 Success Using connection AFW. Trying to put the message into the request queue.

2006-04-03 11:37:40 Success Message successfully put into the queue.

2006-04-03 11:37:40 Success The message was successfully retrieved from the request queue.

2006-04-03 11:37:40 Success The message status set to DLNG.

2006-04-03 11:37:40 Success Delivering to channel: SOAP_RECEIVER_ADAPTER

2006-04-03 11:37:40 Success SOAP: request message entering the adapter

2006-04-03 11:37:42 Error SOAP: error occured: org.w3c.dom.DOMException: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'

2006-04-03 11:37:42 Error Exception caught by adapter framework: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'

and it also shows:

Time Stamp Status Description

2006-04-03 11:37:37 Success SOAP: request message entering the adapter

2006-04-03 11:37:40 Success The message was successfully received by the messaging system. Profile: XI URL: http://diamond:50500/MessagingSystem/receive/AFW/XI

2006-04-03 11:37:40 Success Using connection AFW. Trying to put the message into the request queue.

2006-04-03 11:37:40 Success Message successfully put into the queue.

2006-04-03 11:37:40 Success The message was successfully retrieved from the request queue.

2006-04-03 11:37:40 Success The message status set to DLNG.

2006-04-03 11:37:40 Success Delivering to channel: SOAP_RECEIVER_ADAPTER

2006-04-03 11:37:40 Success SOAP: request message entering the adapter

2006-04-03 11:37:42 Error SOAP: error occured: org.w3c.dom.DOMException: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'

2006-04-03 11:37:42 Error Exception caught by adapter framework: QName is 'xmlns', but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns'

The message I am sending to the XI is :

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<SOAP-ENV:Body>

<m:VerifyAddress xmlns:m="http://www.webservicex.net">

<m:City>Plano</m:City>

<m:State>TX</m:State>

<m:Zip>75024</m:Zip>

</m:VerifyAddress>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

There is some URI conflict in both the adapters. They expect some URI format which it is not getting. I dont understand where the problem is.

Can anyone help?

Thanks,

Shubha.

Accepted Solutions (0)

Answers (2)

Answers (2)

stefan_grube
Active Contributor
0 Kudos

Hi Shubha,

This is a known bug.

Apply the latest patch.

Regards

Stefan

moorthy
Active Contributor
0 Kudos

Hi,

I think namespace in the URL is conflicting somewhere.

Just check with this blog-

/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi

/people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services

/people/sap.user72/blog/2006/01/16/xi-propagation-of-meaningful-error-information-to-soap-client

Hope this helps,

Regards,

Moorthy