0

我有一个无状态会话 bean,它作为 web 服务公开。有两种方法,并且都有@webmethod 注释。但是,只有一种方法公开为 web 服务。谁能指出这种行为的原因,请在下面找到代码:

@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 方法。

谢谢你。

4

1 回答 1

0

我能够解决这个问题。

我们在@webservice 注释中设置了“endpointInterface”属性。我忘记将 processPathEvent() 方法添加到此接口。因此,即使添加了 @webmethod 注释,该方法也没有公开。

于 2012-04-19T18:40:43.993 回答