设置axis2 soap服务器

时间:2010-12-12 10:22:42

标签: java soap wsdl axis2 wsdl2java

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

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

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

  • package-info.java
  • ObjectFactory.java
  • CalculatorService.java(我的服务名称)
  • Calculator.java(我的portType的名称)
  • Input.java(复杂类型的名称)

wsdl2java工具给了我以下文件:

  • 的services.xml
  • CalculatorService.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。如果我试图在本地运行它还是会产生问题,它会起作用吗?

1 个答案:

答案 0 :(得分:0)

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

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

我认为这是一个很好的教程:http://eclipse.dzone.com/articles/web-services-development-with-