Hi Gabo
I'm sorry but I'm not sure what's happening so I can't help at the moment. It's likely coming from a JAXRS code but is it comming
from a Sun JAXB impl code used by CXF JAXB provider or from CXF JAXRS itself it's not clear. I'm a bit busy at the moment so I don't
have time to write a test. If you could try to debug it and see where the source is then it'd be cool.
Cheers, Sergey
Hi All,
I encountered this by accident. Here is the scenario:
expected payload:
<Account xmlns="http://some.namespace/">
... more here
submitted payload:
<Account xmlns="http://accounts.some.namespace/">
... more details here
On the server side, I see the error as:
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://accounts.some.namespace/", local:"Account"). Expected elements
are <{http://some.namespace/}Account>
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:603)
However, on the client-side (using http commons client) I receive this as
response content:
<ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring
xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.NullPointerException</ns1:faultstring></ns1:XMLFault>
As additional info the Account is annotated as follows:
@XmlType(name="Account")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name="Account")
public class WSAccount {
with a class package-info.java annotated as follows:
@javax.xml.bind.annotation.XmlSchema(namespace =
"http://subscriber.ws.solegy.com/",
elementFormDefault =
javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
The service implementation is annotated as follows:
@ConsumeMime("*/xml")
@ProduceMime("*/xml")
public class RestAccountService {
@POST
@Path("/")
public int update(
@Context HttpHeaders header,
WSAccount account
) {
return 1;
}
}
The content is the same as captured by tcpmon, so that clears out the client api. I am however, unable to trace where the NPE
happens. Is there something I should set to avoid the NPE?
Gabo