在netbeans IDE中使用WSDL创建了Web服务源。然后在servlet类生成的代码中调用web服务方法。我有这样的代码:
private void getSomething() {
com.bla.bla.SomeService service = new com.bla.bla.SomeService();
QName portQName = new QName("http://bla.com/test/services", "SomeServiceSoap");
String req = "<getSomething xmlns="\url\"><a id=\"5\"/></getSomething>";
try {
Dispatch<Source> dispatch = null;
dispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD);
Source result = dispatch.invoke(new StreamSource(new StringReader(req)));
} catch (Exception ex) {
ex.printStackTrace();
}
}
但是当我调用这个方法时,我得到一个异常:javax.xml.ws.soap.SOAPFaultException: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP header SOAPAction: .
如何解决这个问题呢?任何帮助表示赞赏!谢谢!
答案 0 :(得分:1)
该错误意味着,虽然在端点http://bla.com/test/services
上运行了一些Web服务,但该服务上没有operation
。
OR
客户端未在operation
SimpleSoapService
来调用