2

与 2.0 一起使用的 Apache Axiom 的版本是什么。我正在尝试使用 Axiom 1.2.8,它抛出了一些未找到方法的错误。

我有一个带注释的端点,如下所示。

@PayloadRoot(localPart = "employeeUpdateRequest", namespace = "http://www.example.org/goservices-ws")
@ResponsePayload
public EmployeeUpdateResponse update(
        @RequestPayload EmployeeUpdateRequest request,
        MessageContext messageContext) throws EncryptionException {
    if (log.isInfoEnabled()) {
        log.info("Inside UpdateEnabledStatusEndpoint");
    }

    EmployeeUpdateResponse response = new EmployeeUpdateResponse();

    return response;
}

请求已成功到达我的端点,但是当我返回响应时,它抛出了 java.lang.NoSuchMethodError。

java.lang.NoSuchMethodError: org.apache.axiom.soap.SOAPFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;Ljavax/xml/namespace/QName;)Lorg/apache/axiom/om/OMSourcedElement;
    at org.springframework.ws.soap.axiom.AxiomSoapBody.setStreamingPayload(AxiomSoapBody.java:71)
    at org.springframework.ws.soap.axiom.AxiomSoapMessage.setStreamingPayload(AxiomSoapMessage.java:175)
    at org.springframework.ws.server.endpoint.adapter.method.jaxb.AbstractJaxb2PayloadMethodProcessor.marshalToResponsePayload(AbstractJaxb2PayloadMethodProcessor.java:93)
    at org.springframework.ws.server.endpoint.adapter.method.jaxb.XmlRootElementPayloadMethodProcessor.handleReturnValue(XmlRootElementPayloadMethodProcessor.java:66)
    at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.handleMethodReturnValue(DefaultMethodEndpointAdapter.java:284)
    at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.invokeInternal(DefaultMethodEndpointAdapter.java:237)
    at org.springframework.ws.server.endpoint.adapter.AbstractMethodEndpointAdapter.invoke(AbstractMethodEndpointAdapter.java:53)
    at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:230)
    at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:172)

原因是什么?我该如何解决这个问题?

谢谢你。

4

1 回答 1

2

通过svn源码搜索了一下,发现需要的版本是Axiom 1.2.9。

于 2011-04-13T00:57:55.660 回答