在产生的WSDL空的soapAction(Empty soapAction in generated

2019-09-19 10:43发布

我试图从生成使用JAX-WS我的Java代码创建一个WSDL。

一切似乎工作确定,只是我的操作WSDL中的soapAction属性为空。

这里是我的代码:

@WebService
public class MyClass {
    public MyStuff queryStuff(String myParam) {
        return null;
    }
}

生成的WSDL包含此:

<wsdl:operation name="queryStuff">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="queryStuffRequest">
        <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="queryStuffResponse">
        <wsdlsoap:body use="literal"/>
    </wsdl:output>
</wsdl:operation>

我不知道我在做什么错。 有任何想法吗?

Answer 1:

您需要注释与你的方法@WebMehtod

@WebService(name = "dataService", targetNamespace = "http://example.com/vap/webservice/dataservice/definition")
@SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL, parameterStyle = ParameterStyle.WRAPPED)
public interface DataSEI {

    @WebMethod(action = "createAction", operationName = "create")
    DataTransferObjectStatusContainer create(
            @WebParam(name = "objects", targetNamespace = "http://example.com/vap/webservice/dataservice/definition")
            DataTranferObjectContainer pObjectsContainer,
            @WebParam(name = "atomic", targetNamespace = "http://example.com/vap/webservice/dataservice/definition")
            boolean pAsAtomicOperation) throws Fault;
}

注:很多从例子中的注释不是必需的,但我把它放在那里向你展示你可以使用JAX-WS做的事情



文章来源: Empty soapAction in generated WSDL