我正在使用@WebService
,@WebMethod
和@WebParam
批注从Java类生成WSDL。 WSDL已生成,并且包含@WebService
和@WebMethod
的输出,但是@WebParam
注释似乎被忽略了。
这是一个存在此问题的方法声明:
@WebMethod(action = "jmsServiceInitialise")
public boolean jmsServiceInitialise(
@WebParam(name = "queue") String queueName,
@WebParam(name = "channel") String channel,
@WebParam(name = "hostname") String hostName,
@WebParam(name = "port") String port,
@WebParam(name = "requiresresponse") boolean requiresResponse) {
log.info("jmsServiceInitialise " + queueName + ": started");
// etc
return returnValue;
}
WSDL文件不包含任何参数,但是方法就在那里。该方法可以称为Web服务,但String参数值均为
null
。我最初在Eclipse中遇到此问题,但此后在命令行(Windows,JAX-WS RI 2.2.4-b01)上用wsgen复制了该问题,并获得了相同的结果。
我想念什么?
谢谢。
最佳答案
在@WebResult
注释之后,将@WebMethod
注释添加到方法
和
使@WebMethod(operationName = "jmsServiceInitialise")
代替动作