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)

Reply via email to