axis全称Apache EXtensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。
最近在项目里面使用了webservices技术,但是框架 客户那边已经选择好了。 服务端已经完成了。我们没有选择。只能调用。
这边客户端是使用的axis1.x 服务端使用的是CXF 2.7 下面我们就简单的写一个用例 来介绍下webservices搭建和调用。
首先 我们到http://cxf.apache.org上面下载cxf2.7版本。
在Eclipse里面新建一个Java工程 把jar增加到项目里面。在src下面新建一个包 me.service.biz
下面我们开始新建一个接口:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package me.service.biz;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService public abstract interface EwmBiz {
@WebMethod
public String getEwmmethodFor( @WebParam (name= "text" ) String text) throws Exception;
} |
在包me.service.biz.impl下面新建一个实现类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package me.service.biz.impl;
import javax.jws.WebService;
import me.service.biz.EwmBiz;
@WebService (endpointInterface= "me.service.biz.EwmBiz" ,name= "EwmBiz" )
public class EwmBizImpl implements EwmBiz{
@Override
public String getEwmmethodFor(String text) throws Exception {
System.out.println( "parameter is =======>>>> " + text);
return "parameter is =======>>>> " + text;
}
} |
我们的接口就完成了 下面我们写一个main方法来启动服务端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package me.service;
import me.service.biz.EwmBiz;
import me.service.biz.impl.EwmBizImpl;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
public class ServiceRun {
public static void main(String[] args) {
System.out.println( "Starting Server" );
EwmBiz ewmBiz = new EwmBizImpl();
String address = "http://localhost:8090/EwmBiz" ;
javax.xml.ws.Endpoint.publish(address, ewmBiz);
System.out.println( "服务启动完成。。。。" );
}
} |
上面启动一下 我们的服务端就完成了。
下面我们新建一个Java工程 完成client 客户端的调用 把axis下面的jar全部加到lib下面 在加一个commons-logging.jar
在src下面新建一个Java类
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package me.client;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class ClientRun {
public static void main(String[] args) throws Exception {
String url = "http://localhost:8090/EwmBiz" ;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new URL(url));
String targetNamespace = "http://biz.service.me/" ;
QName qName = new QName(targetNamespace, "getEwmmethodFor" );
call.setOperationName(qName);
// QName qName2 = new QName(targetNamespace, ""); call.addParameter( "text" , null ,ParameterMode.IN);
String message = (String) call.invoke( new Object[]{ "yangzhongren" });
System.out.println(message);
}
} |
这样我们测试一下 可以的 是调用通了。
引自:http://my.oschina.net/superman158/blog/337264
相关推荐
总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...
2. **CXF入门**:讲解如何使用CXF创建SOAP和RESTful服务,包括服务端和客户端的配置和实现。 3. **CXF与Spring集成**:展示如何在Spring框架中配置和使用CXF服务,以及利用Spring的依赖注入和事务管理功能。 4. **...
CXF、AXIS2、XFire是三种流行的Java Web服务框架,它们允许开发者创建和消费Web服务。在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会...
在描述中,“用框架cxf调用axis2提供的接口服务的一个简单例子”,意味着我们将探讨一个简单的CXF客户端如何与Axis2服务端进行交互。这通常涉及到以下步骤: 1. **创建CXF客户端**:首先,我们需要创建一个CXF...
以上步骤详细介绍了如何使用Spring 3 + CXF 3.4搭建WebService服务端,并通过Axis 1.4客户端进行调用的过程。通过这种方式,可以实现不同技术栈之间Web服务的有效交互。在实际应用中,还需要注意安全性和性能优化等...
在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...
2. **强大的代码生成工具**:CXF提供了WSDL-to-Java和Java-to-WSDL的代码生成,方便开发者快速建立服务端和客户端代码。 3. **丰富的API和插件**:CXF提供了一套丰富的API供开发者使用,并且有众多插件,如Spring...
对于Axis1和XFire,这些文档将包含有关如何创建、配置和调用Web服务的信息,以及如何处理错误和异常等。开发者可以参考这些文档来学习如何使用这两个框架。 综上所述,这个压缩包提供了一个基于Axis1和XFire的Web...
本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...
本文将详细介绍如何通过四个步骤完成WebService服务端与客户端的调用。 步骤一:创建WebService服务端 1. 选择开发工具:首先,你需要一个支持WebService开发的集成开发环境(IDE),如Eclipse或IntelliJ IDEA。以...
Axis2 客户端调用具有较强的灵活性,但需要注意实体类路径必须与服务端保持一致。 **所需 JAR 包:** - Axis2 相关的 JAR 包 **调用示例:** - 具体代码实现 #### CXF 客户端调用 CXF 客户端调用提供了一种更...
可以使用CXF或Axis2提供的客户端工具,或者编写自己的Java代码。 6. **运行实例**:运行客户端,你应该能在控制台看到服务返回的“Hello, name”字符串。 理解并掌握Axis2和CXF的使用,对于开发和维护企业级的...
- **Axis2客户端**:Axis2不仅用于服务端,还有客户端库,可以方便地从Java应用中调用Web服务。 - **Web服务的生命周期管理**:包括服务的创建、部署、测试和调试,这些过程在Axis2中都有详细的指南和支持。 - **...
在本文中,我们将深入探讨如何使用CXF进行客户端调用远程服务以及发布自己的服务。 ### 1. 下载与配置CXF环境 首先,访问Apache CXF官方网站(http://cxf.apache.org/download.html)下载最新版本的CXF。完成下载...
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要环节,主要涉及到Axis工具、MyEclipse集成环境、Tomcat服务器以及JDK的版本。在本文中,我们将深入探讨如何利用Axis工具为Java应用程序生成与...
1. **axis-1.4.jar**:Apache Axis是Apache软件基金会开发的一个开源项目,它是一个用于构建Web服务的框架。Axis1.4版本是较早的一个稳定版本,提供了SOAP(简单对象访问协议)消息处理和WSDL(Web服务描述语言)...
Apache Axis1是Java平台上的一个开源工具,它允许开发者将Java类转换为Web Services,同时也提供了客户端调用Web Service的API。 首先,我们需要理解WebService的基本概念。WebService是一种基于XML(Extensible ...
- **WSDL到Java**:从服务端获取WSDL文件,使用CXF或Axis提供的工具将其转换为Java客户端代码,然后在自己的应用中引入这些生成的类来调用服务。 - **动态代理**:对于CXF,可以通过JAX-WS API动态生成客户端代理...