我试图从生成使用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>
我不知道我在做什么错。 有任何想法吗?
您需要注释与你的方法@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做的事情