You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Joe Sunday <su...@csh.rit.edu> on 2007/09/14 16:57:04 UTC
SOAP requires faultcode content to be a QName
I'm getting the following response from a third-party service using
client bindings built from their WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/
encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>ServerFaultCode</faultcode>
<faultstring>password</faultstring>
<detail>
<InvalidRequestFault xmlns="urn:thirdPartySoap"
xsi:type="InvalidRequest"/>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Which is throwing this instead of anything useful (Using version
2.0.1 on JDK 1.5):
java.lang.reflect.UndeclaredThrowableException
at $Proxy57.login(Unknown Source)
at [my code]
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: No
NamespaceURI, SOAP requires faultcode content to be a QName
at
com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode
(FaultImpl.java:101)
at
com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode
(FaultImpl.java:138)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
(JaxWsClientProxy.java:155)
Is this a bad response or a server issue? And if it's a bad response,
is there a way to work around it (Getting a patch from the third
party is probably impossible)
Re: SOAP requires faultcode content to be a QName
Posted by Joe Sunday <su...@csh.rit.edu>.
As a followup, I'm still not 100% sure if this is a bad envelope
according to the spec or not, but
replacing the SAAJ jars that came in the 2.0.1 distribution with the
1.3 reference implementation
from https://saaj.dev.java.net/ seems to fix it.
--Joe
On Sep 14, 2007, at 10:57 AM, Joe Sunday wrote:
> I'm getting the following response from a third-party service using
> client bindings built from their WSDL:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/
> encoding/"
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <soapenv:Fault>
> <faultcode>ServerFaultCode</faultcode>
> <faultstring>password</faultstring>
> <detail>
> <InvalidRequestFault xmlns="urn:thirdPartySoap"
> xsi:type="InvalidRequest"/>
> </detail>
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>
>
> Which is throwing this instead of anything useful (Using version
> 2.0.1 on JDK 1.5):
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy57.login(Unknown Source)
> at [my code]
> Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: No
> NamespaceURI, SOAP requires faultcode content to be a QName
> at
> com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode
> (FaultImpl.java:101)
> at
> com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode
> (FaultImpl.java:138)
> at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> (JaxWsClientProxy.java:155)
>
> Is this a bad response or a server issue? And if it's a bad
> response, is there a way to work around it (Getting a patch from
> the third party is probably impossible)