2

好吧,我创建了一个 Web 服务,我可以在以下位置访问它:

http://127.0.0.1:8080/myapp/WSPA?wsdl

现在我需要通过从另一个 java 应用程序调用它来测试我的 web 服务,以验证它是否正常工作。我已经看到它在 eclipse 上使用来自 JBoss 插件的 WebService Client 工作。但问题是我有一个方法可以接收包含字符串和字节数组的 SoapFile 列表。我需要验证它是否工作。

@XmlType
public class SoapFile implements Serializable {

  private String fileName;
  private byte[] fileData;

  public String getFileName() {
     return fileName;
  }

  public void setFileName(String fileName) {
     this.fileName = fileName;
  }

  public byte[] getFileData() {
     return fileData;
  }

  public void setFileData(byte[] fileData) {
     this.fileData = fileData;
  }
}

我还没有找到如何创建一个使用该服务进行测试的简单 Web 服务客户端。我想要一些指导......教程或一些解释如何一步一步制作它的网站。我如何为这个 web 服务创建一个 java 客户端?

4

3 回答 3

2

Igor,只需wsimport与您的 Web 服务 url 一起使用 - 您将获得 WebService 的生成类,然后以这种方式调用服务:

ServiceGenerateFromWSImportWhichIsTheSameAsYour iService = 
   new ServiceGenerateFromWSImportWhichIsTheSameAsYour().
            getServiceGenerateFromWSImportWhichIsTheSameAsYourPort();

// now on iServie instance you can invoke method from your webservice
// but you have to use stub classes generated by wsimport

iService.myMethodWhichGetFileList(List<SoapFileStubGeneratedClass> sopaFiles);

并且wsimport是 jdk 安装文件夹中的标准 java 工具

更多关于wsimport工具的信息,您可以在这里找到:

wsimport 文档

在您的情况下使用wsimport将是:

wsimport -p generated_classes -s generated_sources http://127.0.0.1:8080/myapp/WSPA?wsdl

你会在文件夹中找到 .class 文件,在文件夹中找到generated_classes.java 文件generated-sources

于 2013-01-18T12:43:31.133 回答
1

您有 WSDL 文件吗?如果是,那么您可以使用 Eclipse 之类的 IDE 来生成客户端存根。

下面的链接也将是一个很好的起点

http://docs.oracle.com/cd/E17802_01/webservices/webservices/reference/tutorials/wsit/doc/Examples_glassfish6.html

于 2013-01-18T12:45:41.420 回答
0

你可以在这里wsimport找到 Jax-WS的“Hello World”教程

蒂姆

于 2013-01-18T14:20:21.650 回答