2

我有一个网络服务,我正在异步调用它。它返回一个 javax.xml.ws.Response 对象。我试图模拟这个 web 服务接口以返回相同的响应对象。但我无法构建响应对象。

网络服务调用:

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

所以我打电话给这个方法。现在我的观点是如何构建作为 javax.xml.ws.Response 对象的返回对象(响应)。我试图做这样的事情,但它不起作用。它抛出一个 ClassCastException

我的代码:

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

2 回答 2

0

javax.xml.ws.Response是一个接口。因此,为了模拟它,您必须返回它的实现。只需简单地创建一个类,实现这个接口,覆盖它的方法,然后在你的方法中创建这个类的一个实例并返回它。

于 2013-02-02T23:07:16.270 回答
0

我建议使用 JaxWsServerFactoryBean 类生成一个 SOAP 端点。我在这里提出了一个示例 JUnit Rule 实现。

于 2016-10-29T14:59:26.087 回答