0

我有一个 WSDL,其中包含一些我想要测试的方法。我想知道是否有办法编写服务请求并通过 Java 将它们直接发送到 WSDL?然后我可以解析响应以验证测试是否成功。我知道您可以通过soap UI 做到这一点,但我遇到的问题是我希望使用此服务的多个人能够运行这些测试,而不是每个人都使用相同版本的Soap UI。它们也将是数据驱动的测试,因此我希望能够通过 java 自动而不是手动处理 cvs/xls 文件中的大型数据集。

关于从哪里开始的任何建议?

谢谢

4

1 回答 1

0

1.) 使用您的 joice 工具(例如 wsimport)从您的 WSDL 生成您的 Web 服务存根类。以最简单的方式,这看起来像这样:

wsimport.exe -d <Path2StoreGeneratedStubs> -s <Path2StoreSourceFiles> -keep <Path2YourWsdl> 

2.) 在您的 JUnit 测试中使用这些类直接与您的 Web 服务对话。

因此,对于您的 JUnit,您基本上位于 Web 服务的客户端。您想生成存根类以允许您与 Web 服务对话,但您不是编写一个好的客户端应用程序,而是将这些存根用于 TestCases(只是伪...),如下所示:

 @Test
 public void testPingMethod(){
       MyService service = new MyServiceImpl();
       MyPingResponse res = service.ping();
       Assert.assertNotNull(res);
 }

因此,此示例中的 MyService/MyPingResonse 将从 WSDL 生成,而 Assert (也只是一个示例)将验证您的 Web 服务发回此请求的响应。

如果您不必编写客户端代码,我建议您花 5 分钟。关于该主题的教程,因为它很容易使用现有的 Web 服务 :)

于 2013-11-07T11:37:12.737 回答