Java 生成的WSDL中的空soapAction
我正在尝试使用JAX-WS从Java代码生成WSDL 除了我在WSDL中的操作,soapAction仍然是空的之外,一切似乎都正常工作 这是我的密码:Java 生成的WSDL中的空soapAction,java,web-services,soap,jax-ws,Java,Web Services,Soap,Jax Ws,我正在尝试使用JAX-WS从Java代码生成WSDL 除了我在WSDL中的操作,soapAction仍然是空的之外,一切似乎都正常工作 这是我的密码: @WebService public class MyClass { public MyStuff queryStuff(String myParam) { return null; } } 生成的WSDL包含以下内容: <wsdl:operation name="queryStuff"> &
@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>
我不知道我做错了什么。有什么想法吗?你需要用
@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;
}
注意:示例中的许多注释都不是必需的,但我将其放在这里是为了向您展示在不添加
@WebMethod
注释的情况下使用JAX-WS可以做的所有事情,确保JAX-WS不会生成任何操作。您能用带注释的方法和完整生成的WSDL更新您的问题吗?为了帮助我们,您可以在问题中添加的另一件事是您的jax ws端点配置,它解释了您如何生成/发布web服务以及如何获取WSDL。我意识到了我的错误。我使用的是一个Eclipse插件(我猜这里是这样),它无法识别@WebMethod注释。使用wsgen工具,一切都很好,正如您所建议的那样。谢谢你的帮助!:)