我正在尝试从我的本地代码拨打肥皂Web服务,并成功查看响应。部署到QA环境并获得以下错误的相同代码:
com.sun.xml.internal.ws.fault.serversoapfaultException:客户端从服务器接收到的SOAP故障:服务器无法处理请求。--->对象引用未设置为对象的实例。请参阅服务器日志,以查找有关故障确切原因的更多详细信息。 在com.sun.xml.internal.ws.fault.soap11fault.getProtocolexception(soap11fault.java:178( 在com.sun.xml.internal.ws.fault.soapfaultbuilder.createexception(soapfaultbuilder.java:116( 在com.sun.xml.internal.ws.client.sei.stubhandler.readresponse(stubhandler.java:238( 在com.sun.xml.internal.ws.db.databindingimpl.deserializeresponse(databindingimpl.java:189( 在com.sun.xml.internal.ws.db.databindingimpl.deserializeresponse(databindingimpl.java:276( 在com.sun.xml.internal.ws.client.sei.syncmethodhandler.invoke(syncmethodhandler.java:104( 在com.sun.xml.internal.ws.client.sei.syncmethodhandler.invoke(syncmethodhandler.java:77( 在com.sun.xml.internal.ws.client.sei.seistub.invoke(seistub.java:147(
看起来您的函数参数并未声明为WebParams。您必须将它们作为WebParams进行,例如:
public String yourFunction(@WebParam(name = "YourObject") YourObject object){
// Do some stuff
return "done";
}
,您的班级也必须定义为WebParam。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "YourObject", propOrder = { "thingOne", "thingTwo", "thingThree"})
@XmlRootElement
public class AutoQuoteRequest {
@XmlElement
private String thingOne;
@XmlElement
private String thingTwo;
}