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)