JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(ICustomer.class);
factory.setAddress("http://localhost:8080/backend/services/CustomerInfo");
ICustomer client = (ICustomer) factory.create();
// Below is the service call. where 'object' is my CustomerInfo object/data
client.saveCustomer(object);
@WebService(endpointInterface = "com.dev.backend.services.interfaces.ICustomer", serviceName="CustomerInfo")
public class ICustomerImpl implements ICustomer {
public boolean saveCustomer(Object object) {
JAXBContext payloadContext;
try {
payloadContext = JAXBContext.newInstance(CustomerInfo.class);
CustomerInfo o = (CustomerInfo)payloadContext.createUnmarshaller().unmarshal((Node)object); // Line 'error'
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
谢谢
您有这样的XML节点吗?
<ws:customerInfo> ... </ws:customerInfo>
如果需要,请尝试删除“%ws”
更新:如果您有类似于以下的方法:
public ReturnType Method1(
@WebParam(name="RequestType1") RequestType1 request)
public ReturnType Method1(
@WebParam(name="requestType1") RequestType1 request)
在这里,我将从XML创建java对象:
有几个关于这个问题的帮助主题,但我还没有找到一个解决我的问题的解决方案。我很欣赏在解决这个问题上的指导。 例外情况
我知道有很多像这样的问题,但没有一个给我提供正确的答案,所以我来这里。 下面是我得到的XML: 下面是相关的java类:
//我的主类中的解马歇尔代码 例外
UnMarshalException:意外元素(URI:“”,本地:“SystemUnit”)。需要的元素为<{http://xyz.abc.com/consumer/systems}SystemUnit>