我有一个无状态会话bean,它作为webservice公开。有两种方法,都有@webmethod注释。但是,只有一种方法被公开为webservice。任何人都可以指出这种行为的原因,请找到以下代码:
@WebService(portName = "interfaceSoapHTTPPort", serviceName = "interfaceService", targetNamespace = "http://com.demo.service/interfaceservice", endpointInterface = "com.demo.service.interfacePortType")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT)
@Stateless(mappedName = "InterfaceBean")
public class InterfaceBean {
@PostConstruct
@PostActivate
public void initializeBean() {
}
@WebMethod
public void processPathEvent(XngEvent pathXngEvent) throws WSException {
}
@WebMethod
public void portAssignmentUpdate(WSHeader wsHeader,
PortAssignmentUpdateRequest portAssignmentUpdateRequest,
Holder<WSResponseHeader> wsResponseHeader,
Holder<PortAssignmentUpdateResponse> portAssignmentUpdateResponse)
throws WSException {
}
}
只有portAssignmentUpdate方法公开为webservice,而不是processPathEvent方法。
谢谢。
答案 0 :(得分:0)
我能够解决问题。
我们在@webservice注释中设置了“endpointInterface”属性。我忘了将processPathEvent()方法添加到此接口。因此,即使添加了@webmethod注释,该方法也未公开。