- 浏览: 157783 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
一、axis安装
1.环境
JDK1.5
Servlet Container: 我使用Tomcat 5.5
2.到 http://ws.apache.org/axis/网站下载axis安装包
3.解压缩安装包,将AXIS_UNZIP_PATH\axis-version\webapps下的axis包拷贝到TOMCAT_HOME\webapps\下,
以下约定AXIS_HOME为该TOMCAT_HOME\webapps\axis目录
4.启动tomcat,访问http://localhost:8080/axis 检查安装是否成功
5.以上步骤执行成功,可以开发webservice例子了
axis支持三种web service的部署和开发,分别为:
1。Dynamic Invocation Interface ( DII)
2。Stubs方式
3。Dynamic Proxy方式
以下逐一讲述web service在axis上的部署和开发,设置classpath
set CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;E:/thirdparty/activation/activation.jar;E:/thirdparty/activation/mail.jar
二、编写DII(Dynamic Invocation Interface )方式web服务
1.编写服务端程序HelloClient
public class HelloClient { public String getName(String name) { return "hello "+name; } }
2.将源码拷贝到AXIS_HOME下,重命名为 HelloClient.jws
3.访问连接http://localhost:8080/axis/HelloClient.jws?wsdl,页面显示axis自动生成的wsdl
4.编写访问服务的客户端 TestHelloClient.java
import org.apache.axis.client.Call; import org.apache.axis.client.Service; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import java.net.MalformedURLException; import java.rmi.RemoteException; public class SayHelloClient2 { public static void main(String[] args) { try { String endpoint = "http://localhost:8080/axis/HelloClient.jws"; Service service = new Service(); Call call = null; call = (Call) service.createCall(); call.setOperationName(new QName( "http://localhost:8080/axis/HelloClient.jws", "getName")); call.setTargetEndpointAddress(new java.net.URL(endpoint)); String ret = (String) call.invoke(new Object[] {"zhangsan"}); System.out.println("return value is " + ret); } catch (Exception ex) { ex.printStackTrace(); } } }
三、编写Dynamic Proxy方式访问服务
1.编写部署服务端程序,同上边DII方式,本次仍使用上边部署的HelloClient
2.编写代理接口
public interface HelloClientInterface extends java.rmi.Remote { public String getName(String name) throws java.rmi.RemoteException; }
3.编写并执行客户端程序TestHelloClient.java
四、编写wsdd发布web服务,编写stub client访问web服务
import javax.xml.rpc.Service; import javax.xml.rpc.ServiceFactory; import java.net.URL; import javax.xml.namespace.QName; public class TestHelloClient { public static void main(String[] args) { try { String wsdlUrl = "http://localhost:8080/axis/HelloClient.jws?wsdl"; String nameSpaceUri = "http://localhost:8080/axis/HelloClient.jws"; String serviceName = "HelloClientService"; String portName = "HelloClient"; ServiceFactory serviceFactory = ServiceFactory.newInstance(); Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUri, serviceName)); HelloClientInterface proxy = (HelloClientInterface) afService.getPort(new QName( nameSpaceUri, portName), HelloClientInterface.class); System.out.println("return value is "+proxy.getName("john") ) ; }catch(Exception ex) { ex.printStackTrace() ; } } }
1.编写服务端程序server,SayHello.java,编译server.SayHello.java
package server; public class SayHello { public String getName(String name) { return "hello "+name; } }
2.编写LogHandler.java
import org.apache.axis.AxisFault; import org.apache.axis.Handler; import org.apache.axis.MessageContext; import org.apache.axis.handlers.BasicHandler; import java.util.Date; public class LogHandler extends BasicHandler { public void invoke(MessageContext msgContext) throws AxisFault { /** Log an access each time we get invoked. */ try { Handler serviceHandler = msgContext.getService(); Integer numAccesses = (Integer)serviceHandler.getOption("accesses"); if (numAccesses == null) numAccesses = new Integer(0); numAccesses = new Integer(numAccesses.intValue() + 1); Date date = new Date(); String result = date + ": service " + msgContext.getTargetService() + " accessed " + numAccesses + " time."; serviceHandler.setOption("accesses", numAccesses); System.out.println(result); } catch (Exception e) { throw AxisFault.makeFault; } } }
3.编写wsdd文件
deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <handler name="print" type="java:LogHandler"/> <service name="sayhello" provider="java:RPC"> <requestFlow> <handler type="print"/> </requestFlow> <parameter name="className" value="server.SayHello"/> <parameter name="allowedMethods" value="*"/> </service> </deployment>
3.将编译后的文件拷贝到AXIS_HOME/WEB-INF/classes下,如:D:\tomcat\webapps\axis\WEB-INF\classes
4.发布服务:
java org.apache.axis.client.AdminClient deploy.wsdd
5.生成client stub文件
a:方式1
将SayHello.java拷贝到AXIS_HOME/下,重命名为SayHello.jws,执行下面的命令生存client stub
java org.apache.axis.wsdl.WSDL2Java -p client http://localhost:8080/axis/services/SayHello.jws?wsdl
b:方式2
执行如下命令生成SayHello.wsdl
java org.apache.axis.wsdl.Java2WSDL -oSayHello.wsdl -lhttp://localhost:8080/axis/services/SayHello -nsayhello server.SayHello
执行如下命令生成client stub
java org.apache.axis.wsdl.WSDL2Java SayHello.wsdl -p client
生成的stub client文件列表为:
1。SayHello.java
2。SayHelloService.java。
3。SayHelloServiceLocator.java
4。SayHelloSoapBindingStub.java
6.编写客户端程序,编译并执行
public class SayHelloClient { public static void main(String[] args) { try { SayHelloService service = new client. SayHelloServiceLocator(); client.SayHello_PortType client = service.getSayHello(); String retValue=client.getName("zhangsan"); System.out.println(retValue); } catch (Exception e) { System.err.println("Execution failed. Exception: " + e); } } }
- WSDL2Java.zip (4.1 MB)
- 下载次数: 2
发表评论
-
JAVA设计模式总结之23种设计模式
2019-01-29 11:18 425网摘:https://www.cnblogs.com/po ... -
框架底层直接用控制器调用dao的笔记
2018-12-20 15:18 410公司框架操作数据库用到三个核心类,BaseDao、Hibe ... -
利用openoffice进行各种格式转换为PDF
2018-09-03 17:18 2559参考:https://blog.csdn.net/liumi ... -
springmvc常用注解标签详解
2018-03-13 20:26 3581、@Controller 在SpringMVC 中,控制 ... -
2017-08-15 SpringMVC框架项目国际化学习的笔记
2017-08-15 11:37 419springMVC的国际化开发方案 1.项目分支,在分支 ... -
memcached 安全端口设置
2017-07-09 23:05 400-- 设置memcached防火墙过滤规则 iptabl ... -
java 设计模式自学的笔记的源码
2017-03-22 15:16 319java 设计模式自学的笔记的源码 -
网摘学习知识
2016-02-01 14:28 456用3000个开源项目搜索Java代码:http://www ... -
参数乱码的解决方法
2015-08-09 09:10 446目前收集到4中方法,中文传参一documentPath为例:1 ... -
清楚代码的注释内容
2015-07-17 15:02 514public class ClearComment { ... -
Java开发环境搭建详解
2014-09-17 14:48 542一。jdk安装与配置 jdk7于3月份刚刚发布,目前ecli ... -
Java程序员常用工具类库
2014-07-07 14:49 490参考网址:http://rensanning.iteye.c ... -
OOA/OOD/OOP
2014-02-11 21:42 463OOA Object-Oriented An ... -
国外程序员推荐:每个程序员都应读的书
2012-06-16 12:52 569“如果能时光倒流,回 ... -
使用 CXF 做 webservice 简单例子
2012-06-16 00:05 808Apache CXF 是一个开放源 ... -
Java源码阅读的真实体会
2012-05-30 21:52 761刚才在论坛不经意间, ... -
axis2的使用
2012-04-01 08:59 1341webservice WebService(Axis2)视频 ... -
SSH整合的几种最常见方式 .
2012-03-22 12:00 1232Spring实例Action的两种方式:1、Delegatin ... -
2012年1月编程语言排行榜:Objective-C成为年度语言
2012-01-31 10:11 9822012年1月编程语言排行榜:Objective-C成为年 ... -
提高代码质量的方法有哪些?
2012-01-31 09:56 585人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的 ...
相关推荐
资源名称:Apache Axis使用方法 (版本1.4)内容简介: Apache Axis是开源的SOAP服务器和客户端。SOAP是网络间不同语言的程序进行交互的方法。SOAP通常在HTTP上交换信息:客户端POST一个SOAP请求,然后接受HTTP响应,...
本文将深入探讨AXIS的使用说明,帮助用户更好地理解和操作该系统。 1. **AXIS简介** AXIS是一个专业的网络视频解决方案,它支持多种类型的IP摄像头和视频编码设备。该平台允许用户通过网络对视频设备进行配置、...
### Axis使用Stub方式开发Webservice知识点详解 #### 一、概述 在当今信息化时代,Web服务作为实现系统间通信的一种重要手段,在企业级应用中扮演着至关重要的角色。Apache Axis作为一个开源的Java库,提供了简单...
**WSDD(Web Service Deployment Descriptor)**是Axis使用的XML配置文件,用于定义Web服务的元数据,如端点地址、服务实现类、数据绑定等。在我们的示例中,我们将使用WSDD来发布Web服务。 为了在Spring Boot中...
### 使用Axis调用在线天气预报服务的实现方法 #### 一、概述 本文将详细介绍如何在Java环境中利用Apache Axis框架来调用一个在线天气预报服务。这个示例演示了如何在MyEclipse环境下配置和使用Axis 2进行网络服务...
7. **log4j.jar**:一个流行的日志记录框架,AXIS使用它来记录运行时信息。 使用AXIS1开发Web服务的基本步骤包括: 1. **创建服务端**:将Java类转换为Web服务,通过使用AXIS的`java2wsdl`工具生成WSDL文件,然后...
Axis使用它来生成Java代码,这些代码对应于WSDL描述的服务接口。 5. **log4j.jar**:日志记录库,用于记录 Axis 运行时的日志信息,帮助调试和问题排查。 6. **activation.jar** 和 **mail.jar**:这两个jar包是...
AXIS文档及使用说明主要涵盖了AXIS产品线中与网络摄像机(IP Cam)相关的软件开发工具包(SDK),这是一套用于集成和控制AXIS设备的编程接口。该文档和使用说明对于开发者来说是至关重要的,因为它提供了全面的API...
AXIS是一个开放源代码的Web服务客户端和服务器端库,它允许开发者创建和使用Web服务。在某些特定场景下,AXIS展示了其强大的功能,比如添加自定义消息头、支持多种认证方式(如NTLM)以及实现ACK确认发送机制。 本...
7. **XML绑定**:Axis使用JAXB(Java Architecture for XML Binding)或AXIS-specific方式将Java对象与XML文档相互转换,实现了Java类与SOAP消息的映射。 8. **调试和测试工具**:Axis可能还提供了用于测试和调试...
在使用 Axis 调用 Web 服务之前,需要将以下 JAR 包添加到项目的类路径中: 1. xmlsec-1.3.0.jar 2. axis.jar 3. axis-ant.jar 4. axis-schema-1.3.jar 5. axis-wsdl4j-1.5.1.jar 6. commons-discovery-0.2.jar 7. ...
Axis使用JAXB(Java Architecture for XML Binding)将这些JavaBeans转换为符合XML Schema的XML格式。 4. ** Axis配置**: 在myEclipse中,需要配置Axis插件以识别项目中的Java类,并生成相应的服务或客户端代码。...
3. **Axis使用** - **服务调用**:Axis为客户端提供了soapclient工具,可以根据WSDL文件自动生成客户端代理类,使得调用Web服务如同调用本地方法一样方便。 - **异常处理**:在使用Axis时,理解如何处理各种Web...
Axis使用WSDL文件来生成客户端的Stub代码,这是与服务交互的桥梁。 3. **Axis工具的使用**:通过命令行或集成开发环境(IDE)中的插件,可以使用Axis工具从WSDL文件生成Java客户端代码。这个过程通常称为“wsdl2...
本篇文章将深入讲解如何使用Apache Axis1.4实现Web服务。 首先,我们需要理解Axis1.4的特点。作为较早版本的Axis,它已经经过了长期的测试和优化,具有良好的稳定性和兼容性。开发者可以依赖它来构建可靠的Web服务...
本指南将详细介绍如何使用 Axis 进行 WebService 开发,包括从基础入门到高级特性的应用。 ### 1. Axis 简单入门 在开始之前,你需要从官方网站下载 Axis 的工程和必要的库文件,例如 `axis-bin-1.4`。解压缩后,...
Axis使用SOAP来传输数据,使得Web服务能够跨平台和跨语言通信。 3. **Web服务**: Web服务是可以通过网络调用的可重用软件模块。它们通常通过HTTP协议提供,允许不同系统间的松耦合交互。 4. **Tomcat 7**: Tomcat...
7. **示例和文档**:`samples`目录提供了示例代码,帮助开发者快速理解和上手使用Apache Axis。`docs`目录则包含了相关的用户指南和技术文档,方便查阅。 8. **Web应用程序部署**:`webapps`目录包含了一个预配置的...
6. `wsdl4j-1.5.1.jar`:WSLD4J是一个用于处理WSDL文档的库,AXIS使用它来生成Java代码或者从Java类生成WSDL描述。 7. `xml-apis.jar`:包含了XML API的基本接口和类,比如SAX和DOM的接口定义。 8. `XmlSchema-1.0...
Apache Axis使用WSDL来生成客户端代码,使得调用Web服务变得简单。 3. **AXIS1.4核心组件**: - `axis.jar`: 包含了Axis的主要类和接口,用于处理Web服务的基本操作。 - `axis-ant.jar`: 提供了Ant构建工具的任务...