2011-04-12 62 views
2

与2.0一起使用的Apache Axiom的版本是什么?我试图使用公理1.2.8,它是抛出一些未找到错误的方法。春季web服务2.0所需的Axiom依赖版本

我有一个注释的结束点,如下所示。

@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) 

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

谢谢。

回答

2

经过svn源码搜索后,我发现需要的版本是Axiom 1.2.9。