Webservice调用错误(unexpected element (uri:"", local:"billType"))解决

帮同事看Webservice调用问题, 网上找了半天,只有问题并没有实际解决答案,报错如下:

Unmarshalling Error: unexpected element (uri:"", local:"billType"). Expected elements are <{http://alms.acconsys.com/types/message/A4Interface/SendbillInfosToALMS}billStatus>

与soapui工具对比, 最终发现是因为传递参数没有命名空间导致的,解决办法如下:

报错代码:

QName ename = new QName(ns, "SendbillInfosToALMSRequest","com");
SOAPBodyElement ele = body.addBodyElement(ename);
  
// 传递参数  
ele.addChildElement("billType").setValue("aaa");    
ele.addChildElement("billStatus").setValue("path");    
ele.addChildElement("billNum").setValue("path"); 

加命名空间(解决):

QName ename = new QName(ns, "SendbillInfosToALMSRequest","com");
SOAPBodyElement ele = body.addBodyElement(ename);  
ele.addChildElement("billType", "sen", "http://alms.acconsys.com/types/message/A4Interface/SendbillInfosToALMS").setValue("1");
ele.addChildElement("billStatus", "sen", "http://alms.acconsys.com/types/message/A4Interface/SendbillInfosToALMS").setValue("2");
ele.addChildElement("billNum", "sen", "http://alms.acconsys.com/types/message/A4Interface/SendbillInfosToALMS").setValue("3");

猜你喜欢

转载自tianqiushi.iteye.com/blog/2325835
URI