当 SOAPAction HTTP 标头为空字符串时,jaxws-ri 如何将 SOAP 请求路由到正确的方法?

问题描述 投票:0回答:0

我在 Tomcat 上使用 jaxws-ri,版本 2.3.2

我有一个带有一些 JAX-WS 注释的简单类:

@WebService()
public class Test {

    @WebMethod()
    public String validateCard(String id) {
        return "validateCard echo: " + id;
    }
    
    @WebMethod()
    public String saveVisit(String id) {
        return "saveVisit echo: " + id;
    }
}

生成的 WSDL:

<binding name="..." type="...">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  <operation name="validateCard">
    <soap:operation soapAction=""/>
    ...
  <operation name="saveVisit">
    <soap:operation soapAction=""/>
    ...

当我对每个操作执行一些测试 SOAP 请求时(使用soapUI,全部成功),在这两种情况下,HTTP SOAPAction 标头都是空字符串(这符合 WSDL)。

我的问题:当 SOAPAction HTTP 标头为空字符串时,JAX-WS 如何将 SOAP 请求路由到正确的方法?

soap jax-ws
© www.soinside.com 2019 - 2024. All rights reserved.