Jaxb使用Spring Web Services设置动态@XmlRootElement

时间:2015-08-16 23:04:55

标签: spring spring-ws jaxb2

我有一个使用SOAP Web服务的Spring应用程序。我有几个非常简单的类,只有@XmlRootElement不同。我想知道是否有办法创建一个更通用的类,我可以在dymanically上设置根元素。

这里有一些只有根元素不同的类。

@XmlRootElement(name="safetydate")
public class SafetyDateRequest extends Carrier411RequestImpl {
}

@XmlRootElement(name="checkallsafety")
public class SafetyGetAllRequest extends Carrier411RequestImpl {
}

@XmlRootElement(name="checksafetyupdates")
public class SafetyGetUpdatesRequest extends Carrier411RequestImpl {
}

在另一个课程中,我以下列方式处理这些课程:

private void sendRequest(Carrier411Request request, Carrier411ResponseHandler responseHandler) throws FaultCodeException {
    Carrier411Response response = (Carrier411Response) ws.marshalSendAndReceive(registry.get(request.getClass()), request);

    checkResponseForFault(response);

    responseHandler.handleResponse(request, response);
}

我知道其他版本的marshalSendAndReceive接受回拨,允许您在实际发送之前修改请求,但我还没有想出如何实现我的目标。我试图做。

0 个答案:

没有答案