cancel
Showing results for 
Search instead for 
Did you mean: 

namespace tag in fault message

Former Member
0 Kudos

Hi mates,

I genertate WSDL for a o/b MI with Fault message. The WSDL has the following data

<i><wsdl:message name="FMT_OBJECT_ERRORS">

<wsdl:part name="FMT_OBJECT_ERRORS" element="<b>p1</b>:FMT_OBJECT_ERRORS" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />

</wsdl:message></i>

But at runtime when exception is raised in the corresponding i/b proxy I get the following fault message

<i><<b>nr1</b>:FMT_OBJECT_ERRORS xmlns:nr1="http://xyz.com/utility/errors/CorrectedObjects">

<standard>

<faultText>Errors in retrieving corrected objects</faultText>

<faultDetail>

<severity>01</severity>

<text>No corrected object exists</text>

</faultDetail>

</standard>

<addition />

</nr1:FMT_OBJECT_ERRORS></i>

Because of the incorrect tag in namespace, my web service client program is not able to understand the fault message returned though fault message details are captured in WSDL.

How can this be fixed? What needs to be done?

I tried removing the XML Namespace in the definition of Fault Message Type, but it doesnt work. I still get the same response from my proxy i.e. with 'nr1'.

Is there any way to cotrol this?

thx in adv

praveen

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Praveen,

in the xml from runtime the root element is FMT_OBJECT_ERRORS in namespace http://xyz.com/utility/errors/CorrectedObjects.

The prefix nr1 just serves as abbreviation for that namespace.

According to the wsdl fragment you have pasted the root element would be FMT_OBJECT_ERRORS in a namespace that is abbreviated by namespace prefix p1. Unfortunately from your fragment it cannot be detected what namespace is bound to that prefix p1. I assume that it is again

http://xyz.com/utility/errors/CorrectedObjects. To verify this look for an entry xmlns:p1="http://xyz.com/utility/errors/CorrectedObjects" somewhere in the wsdl document. If you can find this, then everything is ok, because both namespace prefixes (p1 and nr1) in the context they are used represent the same namespace.

If your web service client program expects the same namespace to be abbreviated by the same namespace prefix all of the time it is just buggy.

Greetings Stephan

Answers (0)