Spring Web服务2.0所需的Axiom依赖版本

时间:2011-04-12 10:38:54

标签: java spring spring-ws axiom

与Apache一起使用的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)

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

谢谢。

1 个答案:

答案 0 :(得分:2)

在通过svn源搜索后,我发现所需的版本是Axiom 1.2.9。