0

我正在尝试创建一个简单的 SOAP Web 服务(计算器)来学习这项技术的基础知识。我是 SOAP 新手,所以我已经做了一些事情,但我不确定下一步该做什么。

我选择了自上而下的方法,即先创建一个 wdsl 文件,然后自动生成代码。我创建了一个带有服务描述的 wsdl 文件,并用它来生成 java 文件。我有 1.1 和 2.0 格式。为了获取 2.0 文件,我使用了 axis2 的 wsdl2java 工具,对于 1.1,我使用了 java wsimport 工具。

从 wsimport 工具我得到了以下文件:

  • 包信息.java
  • 对象工厂.java
  • CalculatorService.java(我的服务名称)
  • Calculator.java(我的 portType 的名称)
  • Input.java(复杂类型的名称)

wsdl2java 工具给了我以下文件:

  • 服务.xml
  • 计算器服务.wsdl
  • Output.java(输出元素的名称)
  • Input.java(输入元素的名称)
  • cInput.jaba(输入复杂元素的名称)
  • ExtensionMapper.java
  • CalculatorServiceCallbackHandler.java
  • CalculatorServiceMessageReceiverInOut.java
  • CalculatorServiceSkeleton.java(包括接口的实现)
  • CalculatorServiceSkeletonInterface.java
  • CalculatorServiceStub.java

在 wsdl2java 文件中,我想我拥有除了服务器实现之外的一切。至于 wsimport 那些他们缺少一个实现,我不知道在哪里添加它。服务器实现也丢失了。

起初,我想将它作为本地服务(本地服务器)运行以测试它是否正常工作,然后再编写一个客户端。

我在这里找到了一个服务器实现的示例:In-process SOAP service server for Java。这似乎很简单,如果可能的话,我想使用这种方法。但我不确定它是否适用于我生成的文件(wsdl2java 或 wsimport)。如果有用的话,我还安装了 Apache 服务器。所以我正在寻找建议,使用哪组文件来设置服务器以及最简单的方法是什么。

另外我想知道 wsdl 文件中使用的命名空间是否会影响服务可用性?因为它们必须是 URI-s,但我目前没有一个用于我的服务。因此,对于 targetNamespace、xmlns:tns、端点地址等,我使用了随机 URL-s。如果我尝试在本地运行它会起作用还是会产生问题?

4

1 回答 1

0

好的,我想我自己找到了解决方案。

使用 Tomcat 服务器和 eclipse axis2 插件使服务器和客户端正常工作。

在我看来,这是一个很好的教程:http: //eclipse.dzone.com/articles/web-services-development-with-

于 2010-12-12T15:58:30.777 回答