我有以下问题,非常感谢任何指示:
我正在尝试使用自上而下的方法实现 SOAP 服务 - 我已经获得了一个 WSDL 文件,并且应该编写一个与之对应的肥皂服务。
我使用 wsgen 生成了必要的文件——到目前为止一切都很好。我现在正在尝试进行初步测试并证明该服务有效,但没有成功。这是生成的方法之一,echo 方法:
@WebMethod(operationName = "Echo", action = "http://tempuri.org/echo")
@RequestWrapper(localName = "Echo", targetNamespace = "http://tempuri.org/", className = "org.tempuri.Echo")
@ResponseWrapper(localName = "EchoResponse", targetNamespace = "http://tempuri.org/", className = "org.tempuri.EchoResponse")
public void echo(@WebParam(name = "DatumTimePost", targetNamespace = "http://tempuri.org/") String dateTimePost,
@WebParam(name = "EchoResult", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT) Holder<String> echoResult,
@WebParam(name = "DateTimeExt", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT) Holder<String> DateTimeExt);
该方法是名为 Service1Soap 的服务的一部分,该服务具有以下注释:
@WebService(name = "Service1Soap", targetNamespace = "http://tempuri.org/")
@XmlSeeAlso({
ObjectFactory.class
})
我使用端点公开了服务:
Endpoint.publish("http://localhost:8080/ws/hello", new Service1SoapImpl());
但是,当我尝试使用 SoapUI 调用 Echo 方法时,得到的响应如下:
<faultstring>Cannot find dispatch method for {http://tempuri.org/echo}Echo</faultstring>
我尝试通过将http://localhost:8080/ws/hello放在 SoapUI 的请求 uri 字段中来调用该方法,而请求本身是在导入 wsdl 后由 SOAPUI 本身生成的。
关于我做错了什么,我几乎没有想法,所以任何希望都将不胜感激。