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)