我有一个异步调用的Web服务。它返回一个javax.xml.ws.Response对象。我正在尝试模拟此Web服务接口以返回相同的响应对象。但是我无法建立响应对象。

网络服务呼叫:

public Response<com.company.SomeResponse> retrieveSomeValuesAsync(
        @WebParam(name = "arg0", targetNamespace = "")
        com.company.SomeRequestTO arg0
    );


所以我打电话给这个方法。现在,我的重点是如何构建返回对象(Response),该对象是一个javax.xml.ws.Response对象。我正在尝试做这样的事情,但是没有用。抛出ClassCastException

我的代码:

Response<com.company.SomeResponse> someResponse = (Response<com.company.SomeResponse>)new com.company.SomeResponse();

最佳答案

javax.xml.ws.Response是一个接口。因此,为了模拟它,您必须返回它的实现。只需创建一个类,实现此接口,重写其方法,然后在您的方法中创建该类的实例并返回它即可。

09-25 20:56