WebService--axis
axis WebService虽然现在已经很少使用,但是还是把它的配置过程写出来,开发环境jdk 1.6
服务端:
1,导入需要jar包,自行下载

2,创建WebService接口
public interface Service {
public abstract String sayHello(String name);
}
3,接口实现:(用于测试,每次将调用传入的参数写入文件)
import java.io.FileWriter;
import com.sample.axis.service.interfacesImp.Service;
public class ServiceImp implements Service {
public String sayHello(String name) {
FileWriter fw = null;
try {
fw = new FileWriter("D:\\test.txt", true);
String tempString= name+"\r\n";
fw.write(tempString);
fw.flush();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(fw !=null){
try {
fw.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
System.out.println(name);
return name;
}
}
4,修改Web.xml文件,添加如下内容:
<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
</listener>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
5,编辑server-config.wsdd文件,测试用的文件内容如下:
<deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<!-- note that either style="message" OR provider="java:MSG" both work -->
<globalConfiguration>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="dotNetSoapEncFix" value="true"/>
<parameter name="enableNamespacePrefixOptimization" value="false"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
</globalConfiguration>
<service name="HelloService" provider="java:RPC">
<parameter name="className" value="com.sample.axis.service.interfaces.ServiceImp" />
<parameter name="allowedMethods" value="*" />
</service>
<transport name="http">
<requestFlow>
<handler type="java:org.apache.axis.handlers.http.URLMapper"/>
</requestFlow>
</transport>
</deployment>
配置步骤大致如上,部署到测试web容器。访问http://localhost:8090/axis-webservice/services/HelloService?wsdl,可以看到如下内容:

客户端:
客户端调用过程:
public static void main(String[] args) {
String endPoint = "http://localhost:8090/axis-webservice/services/HelloService?wsdl";
try {
//通过正向代理调用webservice方法,需配置如下内容
// AxisProperties.setProperty("http.proxyHost", "1.1.1.1"); //代理IP
// AxisProperties.setProperty("http.proxyPort", "8095"); //代理端口
// AxisProperties.setProperty("http.proxyUser", "test"); //用户名
// AxisProperties.setProperty("http.proxyPassword", "12345");
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL(endPoint));
//设置targetNameSpace
call.setOperationName("sayHello");
//设置传入参数类型
call.addParameter("name",XMLType.XSD_STRING,ParameterMode.IN);
//设置返回参数类型,此处设置为String,如果是void则是:org.apache.axis.encoding.XMLType.AXIS_VOID
call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING);
//传入参数,并获取返回值
String result = call.invoke(new Object[]{"huyaozhong1"});
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
WebService--axis的更多相关文章
- java webservice AXIS
1. eclipse axis 插件下载地址 http://archive.apache.org/dist/ws/axis2/tools/1_4_1/ 一个是代码生成插件 axis2-ecli ...
- Java WebService Axis 初探
最近在学习WebService 开始了: 一:服务端的编写与发布 1. 工具准备: java的开发环境(这里就不多说了). axis2官网上下载最新的就可以了(我这里用的是axis2-1.4.1- ...
- 手把手教你用axis1.4搭建webservice(转)
1.先下载axis jar包:axis-bin-1_4.zip.下载地址: http://ws.Apache.org/axis/. 当然这个包其实是不全面的,像activation.jar之类的,完全 ...
- 复杂对象类型的WebService高级部分
从客户端除了传递字符串以外还可以传递复杂对象(对象必须序列化了),List,Map,数组和文件. (1)定义一个对象实现了serializable 接口package cn.com.chenlly.s ...
- axis2
下载axis2-1.5.4-bin.zip文件并解压. 设置axis2的环境变量,如下图所示: 利用axis2中的wsdl2java.bat生成客户端程序. 先启动Tomcat7并在IE里运行http ...
- Axis2中使用wsdl2java.bat生成客户端代码
1 准备环境 (1)下载Axis2的zip包axis2-1.5.5-bin.zip,并解压. 官方网址:http://ws.apache.org/axis2/ (2)设置环境变量(我的电脑->属 ...
- 【知识积累】服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)
一.前言 由于项目中一个小的模块需要获取客户端的IP地址以保证安全调用webservice接口,项目中客户端使用C#编写,服务器端使用Java编写,服务器端与客户端采用Axis开发的WebServic ...
- 使用axis调用WebService服务端
由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...
- spring集成环境下的axis webservice的发布,调试
在spring集成的环境下,无论你是ssh集成,还是ssi集成的情况下,发布webservice往往在调用的时候会出错. 特别是,如果你是这个方式: 将webservice打aar包,放到tomcat ...
- WebService流行框架之Axis和CXF
转自:http://www.cnblogs.com/snake-hand/archive/2013/06/09/3129915.html 前言 上节课我们对WebService进行了简单的介绍,对于其 ...
随机推荐
- 分享基于分布式Http长连接框架--代码模型
好的代码应该是方便客户端使用,代码能够自描述,规范化,大众标准化. 而且我相信代码也是有生命的,需要不断的维护它,你以什么样的态度对待它,它就会以同样的态度回敬你,所以在写代码前,先摆好自己的态度(一 ...
- Crayon 线段树或者树状数组
Crayon Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitStatus ...
- http://codeforces.com/problemset/problem/847/E
E. Packmen time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- python之线程学习
一.进程与线程简介 进程 进程是程序的一次执行,由进程段.数据段.进程控制块三部分组成.具体三个基本状态,就绪.执行.阻塞,是一个拥有资源的独立单位. 线程 属于进程的一个实体,拥有极少的资源.也具有 ...
- JavaScript设计模式--简单工厂模式
一,介绍 工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类. 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类.该模式使一个类的实例化延迟到了子类.而子类可以重写接口 ...
- HashMap实现原理
学习笔记之HashMap篇,简单学习了解HashMap的实现原理和扩容. 大家都知道HashMap处理数据很快,时间复杂度O(1),那么是怎么做到的呢?那就先了解一下常见数据结构. 一般来说,我们把存 ...
- Dapper数据库相关操作
using System; using System.Data; using System.Configuration; using System.Data.SqlClient; namespace ...
- 平板不能设置代理的情况下利用随身wifi进行http代理访问
需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...
- phpstudy升级mysql数据库
因为MySQL支持全文索引的只有5.6以上,而我下的phpstudy只有5.5的版本,在导入数据库的时候因为该数据库的表内有使用全文索引,因此必须升级phpstudy的mysql版本,这里就把自己当升 ...
- 上传代码 CodePlex
博客园作为博客备份,博客会更新一份在博客园 CodePlex是微软开源项目网站,有很多人都在上面传代码,我们也可以上传自己的代码 注册 我们可以用微软账号注册,填写用户名.密码,很快就好. 新建项目 ...