目的
- Java客户端访问WebService
- 2个项目在同一个Tomcat的webapp的目录下,实现项目A能够通过webService访问项目B
在Java工程中访问
package com.hry.axis;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class RPCClient {
public static void demo(){
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = null;
try {
serviceClient = new RPCServiceClient();
} catch (AxisFault e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://127.0.0.1:8999/VTMS3000/services/VTMS?wsdl");
options.setTo(targetEPR);
// 指定getGreeting方法的参数值
Object[] opAddEntryArgs = new Object[] { "超人" };
// 指定getGreeting方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 指定要调用的getGreeting方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://service.dahuatech.com",
"HelloWorld");
// 调用getGreeting方法并输出该方法的返回值
try {
long i = System.currentTimeMillis();
int num = 100;
while(num -- > 0 ){
System.out.println(" num = " + num + " " +serviceClient.invokeBlocking(opAddEntry,
opAddEntryArgs, classes)[0]);
}
System.out.println("cost = " + String.valueOf(System.currentTimeMillis() - i));
// 必须释放资源否则出错
serviceClient.cleanupTransport();
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// // 下面是调用getPrice方法的代码,这些代码与调用getGreeting方法的代码类似
// classes = new Class[] { int.class };
// opAddEntry = new QName("http://ws.apache.org/axis2", "getPrice");
// System.out.println(serviceClient.invokeBlocking(opAddEntry,
// new Object[] {}, classes)[0]);
}
public static void main(String[] args) throws Exception {
RPCClient.demo();
}
}
项目之间ws直接的访问
经过测试以上的代码也可以实现同一个Tomcat中的项目A访问项目B
参考文献
分享到:
相关推荐
虽然现在已经有更新的版本,如AXIS2,但AXIS1.4在许多项目中仍然被广泛使用。 - AXIS1.4支持JAX-RPC(Java API for XML-RPC)规范,允许开发者通过SOAP调用远程方法,如同调用本地方法一样。 3. **生成Java请求...
当涉及到“axis2客户端调用服务端,带用户身份认证”时,我们主要关注的是如何在 Axis2 客户端中添加安全机制,确保只有经过验证的用户能够访问服务。 首先,理解身份认证是网络安全的基础。在Web服务中,通常采用...
总结,Apache Axis2提供了一套完整的工具链,使得生成Java客户端代码和处理Web服务调用变得简单。了解如何生成jar包和管理依赖关系对于Java Web服务开发至关重要。正确配置和使用这些工具可以有效地提高开发效率并...
Axis1.x版本是较老的实现,而Axis2是其后续版本,提供了更好的性能和模块化设计。 ### 二、CXF客户端调用Axis服务端步骤 #### 1. 获取服务端WSDL 首先,你需要获取Axis服务端的WSDL(Web Service Definition ...
1. **下载Axis2**:首先访问[官方下载页面](http://axis.apache.org/axis2/java/core/download.html),下载适合当前环境的Axis2版本(本案例中为1.7.3)。 2. **下载Eclipse插件**:同时下载Axis2的Eclipse插件,...
1. **生成客户端代码**:使用Axis1.4的`wsdl2java`工具生成客户端代码: ``` java org.apache.axis.wsdl.WSDL2Java -client -uri HelloWorldService.wsdl ``` 这会生成客户端所需的类,如`...
在 Axis2 中,我们可以使用WSDL2Java工具从一个给定的WSDL文件自动生成Java客户端代码。这个过程包括以下步骤: 1. **下载与安装**: 首先,你需要下载Axis2 1.6.2的发行版,这里提供的是"axis2-1.6.2"的压缩包。...
AXIS2是一个流行的开源Web服务框架,用于创建和部署SOAP(简单对象访问协议)服务以及生成客户端代码。在本文中,我们将深入探讨如何利用AXIS2在MyEclipse环境中生成客户端代码,以便与Web服务进行交互。这个过程...
2. **SOAP(简单对象访问协议)支持**: SOAP是Web服务的标准通信协议,AXIS对SOAP进行了全面的支持。它可以解析和构造SOAP消息,使得开发者可以专注于业务逻辑,而不需要关心底层通信细节。 3. **服务部署**: ...
在IT行业中,Axis2是Apache组织提供的一款强大的Web服务框架,专门用于构建和部署SOAP(简单对象访问协议)和RESTful服务。这篇博客"axis2学习——客户端的开发"主要探讨了如何使用Axis2来创建和操作Web服务的客户端...
- **Axis2客户端**:Axis2不仅用于服务端,还有客户端库,可以方便地从Java应用中调用Web服务。 - **Web服务的生命周期管理**:包括服务的创建、部署、测试和调试,这些过程在Axis2中都有详细的指南和支持。 - **...
1. **代码生成工具**:Eclipse提供了Axis2插件,可以从WSDL(Web服务描述语言)文件自动生成Java客户端和服务端代码,极大地简化了开发过程。 2. **集成开发环境**:Eclipse的集成特性使得可以在同一环境中编写、...
1. **Java** - Axis2是基于Java语言开发的,因此与Java环境紧密相连,可以与Java应用程序无缝集成,利用Java的特性进行Web服务开发。 2. **Axis2.jar** - 这是本文档的重点,Axis2的核心库文件,包含了处理Web服务...
例如,以下是如何在Java客户端中调用`EmployeeManagerService`的`getEmployee`方法: ```java EmployeeManagerServiceStub stub = new EmployeeManagerServiceStub(...
Axis是一个基于Java的SOAP(简单对象访问协议)栈,它提供了从Java类生成Web服务和从WSDL(Web服务描述语言)文件生成Java客户端代码的能力。它使得开发者能够轻松地创建、部署和调用Web服务,极大地简化了Web服务...
总结来说,"axis2生成客户端代码 (带jar包)"涉及到的是利用Axis2框架及其提供的工具,从服务的WSDL文件生成Java客户端代码,并使用包含的jar包来支持服务的调用和交互。了解这些知识有助于开发人员更有效地集成和...
2. 生成Stub:使用Axis2提供的代码生成工具,如-axis2-codegen-1.5.4.jar,根据WSDL生成Java客户端Stub类。这些Stub类封装了与Web服务交互的逻辑。 3. 创建服务代理:在Java代码中实例化生成的Stub类,创建服务代理...
axis2-wsdl2java.sh -uri http://example.com/service?wsdl ``` 这将根据指定WSDL的URL生成对应的Java源代码。 3. **导入生成的类**: 生成的代码会包含一个或多个Java类,它们代表了服务的接口和必要的数据类型...
Java客户端可能涵盖使用Axis2工具生成客户端代码、构造请求参数、处理返回结果等步骤。 对于C#客户端调用,Axis2提供了互操作性,使得非Java环境下的应用也能调用Java编写的服务。这通常需要使用.NET的WS-I Basic ...
标题中的“用脚本生成axis2的客户端”指的是在IT领域中使用自动化脚本来创建Axis2 Web服务的客户端。Axis2是Apache软件基金会开发的一个Web服务框架,它提供了丰富的功能来构建和部署Web服务。这个过程可以极大地...