You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Kjartan Aanestad <kj...@gmail.com> on 2008/03/12 10:27:54 UTC
Inheritence/namespace issue using ClientProxyFactoryBean calling a XFire WS
Hi,
I'm using cxf (2.0.3-incubator) ClientProxyFactoryBean to call a XFire
Web Service. The Web Service returns a PrivateCustomer:
package common.framework;
public abstract class Data implements Serializable {
protected boolean status;
<getters and setters)
}
package com.test.services.domain;
public abstract class Customer extends Data {
private Long customerNumber;
<getters and setters)
}
package com.test.services.domain;
public class PrivateCustomer extends Customer {
private String socialSecurityNumber;
<getters and setters)
}
I have added the properties "writeXsiType" and "overrideTypesList" in
the services.xml file and the wsdl seems right. The problem is that
the Data class exist in another package and has another namespace than
Customer and PrivateCustomer. When I try to call the Web Service I get
the following exception:
Caused by: org.apache.cxf.aegis.DatabindingException: Couldn't set
property {http://framework.common}status on
<com.test.services.domain.PrivateCustomerDO>
<status>false</status>
<customerNumber>5</customerNumber>
<socialSecurityNumber>x</socialSecurityNumber>
</com.test.services.domain.PrivateCustomerDO>. null. Nested exception
is java.lang.NullPointerException: null
at
org.apache.cxf.aegis.type.basic.BeanType.writeProperty(BeanType.java:
254)
at
org.apache.cxf.aegis.type.basic.BeanType.readObject(BeanType.java:163)
at
org
.apache
.cxf
.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:90)
... 41 more
Caused by: java.lang.NullPointerException
at
org.apache.cxf.aegis.type.basic.BeanType.writeProperty(BeanType.java:
232)
... 43 more
When I debug I see that cxf/aegis expects "status" to be in the same
namespace as "Customer" and "PrivateCustomer", "http://domain.services.test.com
".. Anyone has any idea what I'm doing wrong? Do I need to create a
custom mapping to handle it?
Regards,
Kjartan