/**
* 安装axis
*/
下载:http://ws.apache.org/axis/ 1.4
解压后把webapp/axis目录,放置于%TOMCAT_HOME%\webapps\下。
注意需要另外的lib: activation-1.1.jar, mail-1.4.jar, xercesImpl-2.8.1.jar, xml-apis-2.0.2.jar, xmlsec-1.3.0.jar
设置环境变量:
AXIS_HOME=E:\download\opensource\axis-1_4
AXIS_LIB=%AXIS_HOME%\lib
AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar
CLASSPATH=%AXISCLASSPATH%;...
启动tomcat后,访问http://localhost:8080/axis/
查看validator确认安装是否成功。
//部署
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
//反部署
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient undeploy.wsdd
//测试方法
http://localhost:8080/axis/services/LogTestService?method=testMethod&name=liwanchun
//根据wsdl生成JAVA客户端
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/services/LogTestService?wsdl
//对于用户的认证
使用BasicHandler实现
//示例:以短信服务为例
/**
* Message.java 2007-12-31 liwanchun Exp $
* Copyright(c) 2000-2007 HC360.COM, All Rights Reserved.
*/
package com.hc360.axis;
/**
* @author: Liwanchun
*/
public class Message {
private String from;
private String to;
private String content;
private int priority;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
}
/**
* response.java 2007-12-31 liwanchun Exp $
* Copyright(c) 2000-2007 HC360.COM, All Rights Reserved.
*/
package com.hc360.axis;
/**
* @author: Liwanchun
*/
public class Response {
private int code;
//发送结果代码
private String errorText;
private Message message;
//发送的原始信息
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getErrorText() {
return errorText;
}
public void setErrorText(String errorText) {
this.errorText = errorText;
}
public Message getMessage() {
return message;
}
public void setMessage(Message message) {
this.message = message;
}
}
/**
* Sms.java 2007-12-31 liwanchun Exp $
* Copyright(c) 2000-2007 HC360.COM, All Rights Reserved.
*/
package com.hc360.axis;
/**
* @author: Liwanchun
*/
public class Sms {
/**
* 短信息发送Web服务接口
*/
public Response send(Message msg) throws Exception{
System.out.println("CONTENT:"+msg.getContent());
Response res = new Response();
res.setMessage(msg);
res.setCode(0);
res.setErrorText("ok");
return res;
}
}
/**
* 发布Sms
* 1、编写deploy.wsdd
* 2、发布Sms
*/
deploy.wsdd
----------------------------------------------------------------------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Sms" provider="java:RPC">
<parameter name="className" value="com.hc360.axis.Sms"/>
<parameter name="allowedMethods" value="send"/>
<beanMapping qname="myNS:Message" xmlns:myNS="urn:BeanService" languageSpecificType="java:com.hc360.axis.Message"/>
<beanMapping qname="myNS:Response" xmlns:myNS="urn:BeanService" languageSpecificType="java:com.hc360.axis.Response"/>
</service>
</deployment>
发布Sms:
----------------------------------------------------------------------------------
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
/**
* 根据wsdl生成JAVA客户端
*/
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/services/LogTestService?wsdl
该命令执行的结果是在当前所在目录下产生一个子目录BeanService和localhost目录,
------------------------------------------------------------------------------------
-- BeanService
| Message.java
| Response.java
-- localhost\axis\services\Sms
| Sms.java 定义了Web服务接口,此例中只有一个send方法。
| SmsService.java 定义了用于获取Web服务接口的方法。
| SmsServiceLocator.java 接口SmsService的具体实现
| SmsSoapBindingStub.java Web服务客户端桩,通过该类与服务器交互。
这四个JAVA类帮我们处理了大部分的逻辑,我们需要的仅仅是把这些类加到我们的项目然后创建一个我们自己的类来调用它们即可。为此我们新加一个类Main.java,为了方便,让这个类与刚产生的四个类都在同一个包下。内容如下:
/**
* Main.java 2007-12-31 liwanchun Exp $
* Copyright(c) 2000-2007 HC360.COM, All Rights Reserved.
*/
package localhost.axis.services.Sms;
import BeanService.Message;
import BeanService.Response;
/**
* @author: Liwanchun
*/
public class Main {
/**
* @param
* @return
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
SmsService service = new SmsServiceLocator();
Sms sms = service.getSms();
Message msg = new Message();
msg.setContent("this is a test!");
msg.setFrom("hc360.com");
msg.setTo("yoobaba.com");
msg.setPriority(1);
Response resp = sms.send(msg);
Message msgRec = resp.getMessage();
System.out.println("From:" + msgRec.getFrom() + " to " +
msgRec.getTo() + ", content: " + msgRec.getContent() +
", priority: " + msgRec.getPriority() + ", code: " +
resp.getCode() + ", error code : " + resp.getErrorText());
}catch(Exception e){}
}
}
- 浏览: 302154 次
文章分类
- 全部博客 (308)
- Apple (1)
- MAC (6)
- iPhone (1)
- iOS (1)
- Adobe (3)
- Microsoft (23)
- Windows (12)
- WAP (2)
- CMPP (6)
- Eclipse (5)
- .NET (13)
- Router (3)
- ADO.NET (2)
- C# (11)
- WPF (3)
- SqlServer (4)
- Facebook (2)
- JDBC (1)
- Visual Studio (10)
- ActiveMQ (9)
- Java (112)
- Memcached (2)
- NoSQL (7)
- Hadoop (9)
- GlassFish (2)
- Linux (98)
- CentOS (58)
- Spring (10)
- Oracle (17)
- JBOSS (12)
- Webservice (4)
- EJB (7)
- DFS (1)
- Hibernate (9)
- Redis (3)
- Tomcat (5)
- Python (8)
- FastDFS (6)
- Nginx (6)
- RabbitMQ (0)
- Erlang (0)
- Lucene (8)
- Solr (7)
- MySQL (1)
- JavaScript (0)
最新评论
-
zhangy888:
你好,我正好也遇到了这个问题,按照您的设置有如下几个问题,请帮 ...
CXF SOAP 1.2 SOAP 1.1 问题 -
u011493586:
这个SUBMIT写的还不错,只是有的地方没看懂
CMPP发送超长短信息(JAVA版) -
u011493586:
...
CMPP发送超长短信息(JAVA版)
发表评论
-
遍历Map的四种方法
2015-01-28 11:14 397public static void main(Stri ... -
使用Perf4J进行性能分析和监控
2015-01-13 11:39 648许多开发人员都很熟悉墨菲法则的一个例子:他们发现在花费了大量 ... -
Nexus创建本地Maven仓库
2014-09-22 10:58 12970.安装环境 windows 7 x86-64 jdk1 ... -
HBase vs Cassandra: 我们迁移系统的原因
2014-09-03 21:13 670原文: http://ria101.wordp ... -
开源日志系统比较
2014-09-03 21:11 447作者:Dong | 新浪微博:西成懂 | 可以转载, 但必须 ... -
tokyotyrant-java客户端
2014-07-25 09:48 713目录: 概述 演示 [一]、概述 java实现了 ... -
IntelliJ IDEA 13试用手记(附详细截图)
2014-06-30 16:04 456从去年开始转java以来,一直在寻找一款趁手的兵器,ecl ... -
Heritrix使用的初步总结
2014-06-14 16:45 447一、框架介绍 公司最近项目要用到全文检索,检索对象是 ... -
利用 Heritrix 构建特定站点爬虫
2014-06-14 15:19 455本文由浅入深,详细介 ... -
Errors running builder 'DeploymentBuilder' on project
2014-06-09 14:20 5701.修改java源代码后点击保存,IDE 自动编译并热部署, ... -
开源中间件大舞台
2014-05-22 09:27 613全文主要内容:一、中间件是什么?二、中间件的主要作用三、中间 ... -
log4j使用DailyRollingFileAppender
2014-05-20 15:30 555DailyRollingFileAppender是 ... -
JVM系列四:生产环境参数实例及分析
2014-05-18 11:04 364java application项目(非web项目) ... -
solr中如何定义自己的解析器插件(QParserPlugin)
2014-05-15 13:39 1216/***************************** ... -
Lucene 基础理论
2014-05-15 11:43 6541. 全文检索系统与Lucene简介 1.1 什么是全 ... -
Lucene 4.0升级指南
2014-05-15 11:33 1149Apache Lucene Migration Guide ... -
Lucene的分析过程
2014-05-13 15:18 700回顾倒排索引的构建 收集待建索引的原文档(Do ... -
Lucene中文分析器的中文分词准确性和性能比较
2014-05-13 15:17 468对几种中文分析器,从分词准确性和效率两方面进行比较。分析器 ... -
CharTokenizer对西文字符进行分词处理
2014-05-12 22:00 486CharTokenizer是一个抽象类,它主要是对西文字符进 ... -
LUCENE3.0 自学吧 7 CharTokenizer
2014-05-12 21:58 445CharTokenizer 是一个抽象类,它主要是对 ...
相关推荐
在这里是本人经过对网络资源的学习总结出来的应用axis1.4进行webservice开发的总结,里面有简单的demo以及所有工程用到的jar包,以及如何进行webservice的部署与发布 (注:这里用到的webservice是基于简单的单值...
对方的webservice服务端使用axis1.4开发,参数有String[]类型,试了cxf、xfire等都无法生成客户端,只能使用axis4. 解压后lib包已经全了。修改xx.bat里webservice地址一项,执行xx.bat生成客户端文件。 生成之后,...
1.4 SOAP RPC servlet 应用程序创建 uber-jar。 问题复制 要重现该问题,请从此目录运行mvn package ,然后尝试在target目录中运行创建的 jar 文件。 包示例 以下是从我的 IntelliJ IDEA IDE 为该项目执行mvn ...
axis学习资料汇总: Axis实例与分析详解; Axis学习笔记.pdf; Tomcat5.0.28下AXIS完全安装手册.doc; Axis1.4 开发指南_V1.0.pdf; AXIS入门及应用.rar; Axis开发Web+Services.doc 等等
1.1 AXIS第一课:最简单的发布AXIS的Web ...1.4 AXIS第四课:AXIS高级应用,建立安全的AXIS服务 1.5 AXIS第五课:AXIS高级应用,在AXIS服务间传递JavaBean及其安全解决 1.6 使用TCPMonitor监控WebService SOAP消息
事实上Apache Axis在了1.0版后,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件,从这个意义上来说Apahce Axis已不仅仅是个SOAP框架了,它包含了除了UDDI外对整个Web Service协议栈...
ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 特点: 支持来自Java,C,C ++,C#,Ruby,Perl,...
ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 ActiveMQ的特点: 支持来自Java,C,C ++,C#,Ruby,...
ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位. ⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,...
1.1 应用背景 ..........................................................................................................................1 1.2 SIMOTION 的系统组成及功能....................................
1.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker). 2.可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3, file,xmpp等. 3.支持任何传输之上的异步,同步和请求响应事件处理机制. 4.支持...
1.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker). 2.可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3, file,xmpp等. 3.支持任何传输之上的异步,同步和请求响应事件处理机制. 4.支持...
myeclipse反向生成webservice客户端插件,将文件夹解压到\MyEclipse 8.5\dropins\目录下重启Mycelipse,在Myeclipse中选择import Axis2 Code Generator项目即可反向生成webservice客户端代码1.4版本,可以应用于比较...
17.1 安装和设置网络应用程序的运行环境 17.1.1 安装iis 17.1.2 安装pws 17.1.3 通过服务器请求网页 17.2 web服务器根目录和虚拟目录 17.2.1 web服务器根目录 17.2.2 虚拟目录 17.2.3 启用默认文件 17.3 巩固与自测 ...
3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在Java EE中使用XML 26 4.1 什么是XML 26 4.1.1 理解XML 26 4.1.2 XML的语法 27 4.1.3 XML命名空间 31 4.2 XML能用来干什么 32 4.3 用DTD验证XML文档...
ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 主要特点: 1、多种语言和协议编写客户端。语言:Java,C...
1.4 视频监控的发展方向 10 第2章 模拟视频监控系统 13 2.1 模拟监控系统的构成 14 2.2 视频采集设备 14 2.2.1 摄像机相关技术 15 .2.2.2 镜头相关介绍 19 2.2.3 防护罩 23 2.2.4 云台及解码器 23 ...
1.4 视频监控的发展方向 10 第2章 模拟视频监控系统 13 2.1 模拟监控系统的构成 14 2.2 视频采集设备 14 2.2.1 摄像机相关技术 15 .2.2.2 镜头相关介绍 19 2.2.3 防护罩 23 2.2.4 云台及解码器 23 2.2.5 ...