Looking at the XML Schema for SOAP and specifically the SOAPFault I appear to be enjoying a challenge :)

I have a SOAPFault document response that is failing to validate using the validate on the class generated from the SOAP Schema.

The Response looks like:-

<?xml version="1.0"?>

<SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ file:///c:/eclipse/workspace/SOAPEnvelope/SOAPEvelope.xsd">

<faultcode>SOAP-ENV:Server</faultcode>

<faultstring>An error was detected while executing the Web Service request. (10893)</faultstring>

<detail>

<ns1:FaultDetail xmlns:ns1="urn:soap-fault:details">

<errorMessage>The example parameter was not of type intPrgs (10937)</errorMessage>

<requestID>7c02cf73648f42b9:-32c9e224:10ecc18015b:-7ff8#48</requestID>

</ns1:FaultDetail>

</detail>

</SOAP-ENV:Fault>

 

and the SOAPFault Schema section  is:-

<xs:element name="Fault" type="tns:Fault" />

<xs:complexType name="Fault" final="extension" >

<xs:annotation>

<xs:documentation>

Fault reporting structure

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="faultcode" type="xs:QName" />

<xs:element name="faultstring" type="xs:string" />

<xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />

<xs:element name="detail" type="tns:detail" minOccurs="0" />

</xs:sequence>

</xs:complexType>

<xs:complexType name="detail">

<xs:sequence>

<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax" />

</xs:complexType>

 
I have an XmlOptions object passed to validate which has the XmlOptions setValidateTreatLaxAsSkip() set.
I apopreciate that the ns1:FaultDetail is defined as an xs:any with it's namespace defined as namespace="##any" and has processContents="lax".
I am experiencinge an error  Invalid QName value: Can't resolve prefix 'SOAP-ENV'.
 
Can anyone spot the deliberate mistake :o)
 
Many Thanks
 
Don
 

Reply via email to