Java 如何模拟整个JAX-RPC通信会话?

Java 如何模拟整个JAX-RPC通信会话?,java,unit-testing,mocking,jax-rpc,Java,Unit Testing,Mocking,Jax Rpc,我有一个遗留应用程序,它通过JAX-RPC与第三方web服务一起工作。现在,我需要通过使用测试数据模拟某些XML RPC调用来对应用程序进行单元测试。实际上,我需要将应用程序使用的库替换为其他兼容JAX-RPC的库,但将返回我告诉它返回的内容。我很确定我不是一个人有这样的问题。。。是否有用于此目的的开源库?您可以使用Spring framework和EasyMock来实现 我在这方面取得了一些成功。它是一个Jetty服务器,您可以通过编程方式设置它,以使用您还指定的内容响应某些请求模式。我已经能

我有一个遗留应用程序,它通过JAX-RPC与第三方web服务一起工作。现在,我需要通过使用测试数据模拟某些XML RPC调用来对应用程序进行单元测试。实际上,我需要将应用程序使用的库替换为其他兼容JAX-RPC的库,但将返回我告诉它返回的内容。我很确定我不是一个人有这样的问题。。。是否有用于此目的的开源库?

您可以使用Spring framework和EasyMock来实现


我在这方面取得了一些成功。它是一个Jetty服务器,您可以通过编程方式设置它,以使用您还指定的内容响应某些请求模式。我已经能够将其设置为响应来自类的XML-RPC请求。例如:

stubFor(post(urlEqualTo("/RPC2"))
        .withRequestBody(containing("<methodName>...</methodName>"))
        .willReturn(aResponse()
            .withBody("<methodResponse>...</methodResponse>")));
stubFor(post(urlEqualTo(“/RPC2”))
.withRequestBody(包含(“…”)
.willReturn(aResponse()
.附正文(“…”);

要模拟对外部服务的调用,可以使用
EasyMock+Powermock
Mockito
你可以这样做

Easymock.expect(your function calling external Systems).andReturn(your required output)
希望这有帮助

祝你好运