前两天项目中需要与其它厂商进行接口互连。对方采用的是Sun Server、Tomcat5.5、JDK5、Axis1.4布署的WebService.在互连的过程中,却遇到了一些问题。WebService本身是标准化的,调用也相对简易。一般JAVA语言流行的WeService开源的项目有:Xfire\Axis\CFX。下面讲讲过程:
我先用Xfire根据WSDL文件,生成STUB的方式来调用,结果却总是无法验证WSDL的XML内容。然后又改成用Axis1.4来调用,可以调用。代码如下:
代码已删除
以上的代码通过Axis1.4的API能够正常调用WEBSERIVSE。
但总是不能尽人意,由于项目中用了Axis2,而Axis1.4API与Axis2的API放在同一项目LIB中有兼容性问题。面对已经调用好的服务因为这个冲突问题而且不得不重新做,真是让人无奈,只好将Axis1.4中的调用改成Axis2的调用。
去下载Axis2的包:http://ws.apache.org/axis2/download/1_4/download.cgi
下载完成后,解压,axis2-std-1.0-bin.zip,进到axis2-1.4\bin目录下。新建一个.bat批处理文件。代码如下:
wsdl2java.bat -uri http://192.168.1.1:8080/simpass/services/conBuyCommService?wsdl -o D:\opensource\Axis2\axis2-1.4-bin\axis2-1.4\bin -p cn.com.wsclient
-url 后面的是WebService地址:
http://192.168.1.1:8080/simpass/services/conBuyCommService?wsdl
-o 是输出的路径:
-o D:\opensource\Axis2\axis2-1.4-bin\axis2-1.4\bin
-p 是生成的包路径:
-p cn.com.wsclient
执行后:会在bin目录下生成一个src目录。进去后可以看到,生成了cn.com.wsclient包,其中有两个文件:
XXServiceServiceCallbackHandler.java
XXServiceServiceStub.java
这两个文件就是生成的stub文件。在工程中导入axis2-std-1.0-bin.zip解压后的lib里的包。
再新建一个测试类,来测试一下:
代码已删除
测试OK
Axis1.x中比较过时,有些与与日俱增的标准化不相符,有兼容性问题。
分享到:
相关推荐
Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...
标题“Axis1.x调用WebService程序”涉及到的是在Java环境中使用Apache Axis1工具来与Web服务进行交互的技术。Apache Axis1是一个开源项目,它提供了一种简单的方式来创建和部署Web服务,同时也支持作为客户端调用...
当你的webservice报这个错时 <Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl....
示例代码中的导入语句包括`javax.xml.namespace.QName`、`org.apache.axis.client.Call`和`org.apache.axis.client.Service`等,这些都是调用WebService所必需的。 ```java import javax.xml.namespace.QName; ...
1. **兼容性问题**:可能是因为使用的Axis2版本与运行环境(如JDK版本)不兼容。例如,某些Axis2功能可能依赖于特定版本的Java SDK,如果版本不匹配,可能会导致`callStackToString`方法执行失败。 2. **内存限制**...
Java调用WebService是Web服务交互的一种常见方式,而Axis2是一个高效的、可扩展的Web服务框架,它在Java世界中广泛用于创建和消费Web服务。本文将深入探讨使用Axis2.jar包来调用WebService的相关知识点。 一、Axis2...
标题"client_axis.rar_AxisClient_axis client_axis.client_webservice客户端"暗示了这个压缩包包含了一个与Axis相关的Web服务客户端。这个客户端可能是一个Java项目,包含了必要的类库和配置文件,用于与远程Web...
Axis2是Apache软件基金会提供的一款高性能、轻量级的WebService引擎,它是在Axis1.x的基础上重新设计的产物,不仅支持SOAP1.1和SOAP1.2协议,还扩展了对RESTful WebService的支持,以及Spring框架和JSON技术的集成。...
【Axis2.X教程】 Axis2 是 Apache 软件基金会开发的一个开源 Web Service 框架,用于构建和部署 SOAP 和 RESTful 服务。它基于 Axis1,提供了更高效、更灵活的服务架构,并且支持多种协议和服务模型。本教程将详细...
1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...
webservice大讲堂之axis2.rar webservice大讲堂之axis2.rar webservice大讲堂之axis2.rar webservice大讲堂之axis2.rar webservice大讲堂之axis2.rar webservice大讲堂之axis2.rar
jquery.flot.axislabels.js
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...
**压缩包子文件的文件名称列表:**“使用Axis2调用Webservice需要的jar” 这个列表暗示了除了Axis2.jar之外,还有其他相关的依赖jar文件,这些文件通常包括XML解析库(如Apache Commons XMLUtils、Xerces等)、HTTP...
标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...
这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析WSDL文件以及与Webservice交互所需的所有功能。 2. **获取WSDL...
标题“axis1.4.1.zip”所指的是一份针对Axis1.4版本的修复补丁包,这个补丁主要是为了解决在Java Development Kit (JDK) 1.8环境下,高并发场景下出现的`ConcurrentModificationException`问题。`...
标签:axis2.eclipse.service.plugin-1.5.1-sources.jar,axis2.eclipse.service.plugin,1.5.1,sources,jar包下载,依赖包
org.apache.axis2.jar