axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码
项目和资源文档+jar 下载:http://download.csdn.net/detail/liangrui1988/5810873
项目内容:
部分主要代码:
axis1:
- package com.webservice.test;
- /**
- * @author liangrui
- *
- 1:把axis-bin-1_4.zip 解压后的axis文件拷贝到tomcat webpaas目录下
- 2:直接把java文件拷贝到axis目录下 (是配置即时发部)
- 3:定时发布,有包名.
- 需要把编译好的java文件 也就是class文件拷贝到你的axis/WEB-INF/class文件下;
- 然后在WEB-INF目录下新建一个deploy.wsdd文件:
- <deployment xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <!--服务相关配置-->
- <service name="helloworldWSDD" provider="java:RPC">
- <parameter name="allowedMethods" value="*"/>
- <parameter name="className" value="com.webservice.service.HelloWorld"/>
- <parameter name="scope" value="request"/>
- </service>
- </deployment>
- ****************************这个是我提前做好的文件****************************
- deploy.wsdd\start_Services.bat文件拷贝到axis/WEB-INF下( 这个是配置 定时发布的)
- start_Services.bat //打开服务 《也可以在cmd下操作》
- ***********************************************************************
- 4:cmd方式:
- 打开cmd cd到你tomcat目录下 axis WEB-INF下,输入命令:
- java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
- //编译当前文件夹(WEB-INF)下的 deploy.wsdd文件,会生成一个server-config.wsdd文件
- 5:浏览器访问的时候会根据你的请求名字
- 来找这个配制文件(server-config.wsdd) 里的service 节点下的name属性 ,
- 再详细的解析==(也就是deploy.wsdd 文件 下的 <service name="xx" ....>)
- shutDown_Services.bat //关闭服条 根打开服务操作一样
- *
- */
- import java.rmi.RemoteException;
- import javax.xml.namespace.QName;
- import javax.xml.rpc.ServiceException;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- public class Test {
- public static void main(String[] args) {
- jwsTest();// 即时发部
- deployTest(); //定时发布 部署,有包名
- }
- /**
- * 即时发部
- */
- public static void jwsTest(){
- try {
- // 访问的url
- String url="http://localhost:8080/axis/HelloWorld.jws";
- // 创建service
- Service service = new Service();
- // 通过service 创建call
- Call call =(Call) service.createCall();
- // 设置访问的webservice
- call.setTargetEndpointAddress(url);
- //调用指定方法
- call.setOperationName(new QName(url,"sayHello"));
- //传送参数 并返回结果
- String resource=(String) call.invoke(new Object[]{"accp157"});
- System.out.println("返回的数据:"+resource);
- } catch (ServiceException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /**
- * 定时发布
- */
- public static void deployTest(){
- // 访问的url
- // http://项目路径 /services/服务名称(需要和deploy.wsdd 中的service 配置一)
- String url ="http://localhost:8080/axis/services/helloworldWSDD";
- // 创建service
- Service service = new Service();
- try {
- // 创建call
- Call call = (Call) service.createCall();
- // 设置访问的url
- call.setTargetEndpointAddress(url);
- // 设置调用的webservice 的方法
- call.setOperationName(new QName(url,"jia"));
- // 执行
- int result = (Integer) call.invoke(new Object[]{2,3});
- // 执行结果
- System.out.println("结果是:"+result);
- call.setOperationName(new QName(url,"jian"));
- result = (Integer) call.invoke(new Object[]{2,3});
- System.out.println("结果是:"+result);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
java文件
- public class HelloWorld {
- public String sayHello(String name){
- System.out.println("hello:"+name);
- return "hello.."+name;
- }
- }
有包的java文件
- package com.webservice.service;
- /**
- * 加减乘除
- * @author Administrator
- *
- */
- public class HelloWorld {
- public int jia(int num1,int num2){
- return num1+num2;
- }
- public int jian(int num1,int num2){
- return num1-num2;
- }
- public int chen(int num1,int num2){
- return num1*num2;
- }
- public int chun(int num1,int num2){
- if(num2 > 0){
- return num1/num2;
- }else{
- return 0 ;
- }
- }
- }
axis1 调用天气预报测试:
- package com.webservice.test;
- import java.rmi.RemoteException;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- import javax.xml.namespace.QName;
- import javax.xml.rpc.ServiceException;
- public class ForecastTest {
- public static void main(String[] args) {
- // http://WebXml.com.cn/是wsdl中definitions根节点的targetNamespace属性
- // webservice路径
- // 这里后面加不加 "?wsdl" 效果都一样的
- String endpoint = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl";
- String[] res = null;
- // 查询城市天气的接口方法名
- String operationName = "getWeather";
- // 定义service对象
- Service service = new Service();
- // 创建一个call对象
- Call call = null;
- try {
- call = (Call) service.createCall();
- } catch (ServiceException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- // 设置目标地址,即webservice路径
- call.setTargetEndpointAddress(endpoint);
- // 设置操作名称,即方法名称
- call.setOperationName(new QName("http://WebXml.com.cn/",operationName));
- // 设置方法参数
- call.addParameter( new QName("http://WebXml.com.cn/","theCityCode"),
- org.apache.axis.encoding.XMLType.XSD_STRING,
- javax.xml.rpc.ParameterMode.IN);
- call.addParameter( new QName("http://WebXml.com.cn/","theUserID"),
- org.apache.axis.encoding.XMLType.XSD_STRING,
- javax.xml.rpc.ParameterMode.IN);
- // 设置返回值类型
- //对于返回是字符串数组的返回类型只有这两种可行
- //call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_VECTOR);
- call.setReturnClass(java.lang.String[].class);
- call.setUseSOAPAction(true);
- call.setSOAPActionURI("http://WebXml.com.cn/"+"getWeather");
- String cityCode="广州";
- String userId="";
- try {
- res=(String[]) call.invoke(new Object[]{cityCode,userId});
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // 如果返回类型是org.apache.axis.encoding.XMLType.SOAP_VECTOR时用下面的转型接收
- //Vector v=(Vector) call.invoke(new Object[]{cityCode,userId});
- for(String str:res)
- {
- System.out.println(str);
- }
- // return res;
- }
- }
axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码的更多相关文章
- 使用Junit测试一个 spring静态工厂实例化bean 的例子,所有代码都没有问题,但是出现java.lang.IllegalArgumentException异常
使用Junit测试一个spring静态工厂实例化bean的例子,所有代码都没有问题,但是出现 java.lang.IllegalArgumentException 异常, 如下图所示: 开始以为是代码 ...
- JAX-RS 方式的 RESTful Web Service 开发
JAX-RS 方式的 RESTful Web Service 开发 ——基于 CXF+Spring 的实现 Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 H ...
- 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战
微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...
- java+web文件的上传和下载代码
一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了.我这里分享一下我自己开发的一套大文件上传控件 ...
- 应用Apache Axis进行Web Service开发
转自(http://tscjsj.blog.51cto.com/412451/84813) 一.概述 SOAP原意为Simple Object Access Protocol(简单对象访问协议),是一 ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- jboss上的soap web service开发示例
以下示例,由jboss quickstart示例代码得来: 一.创建一个常规的dynamic web项目,建议支持maven ,项目的关键属性参考下图: 二.定义服务接口及参数对象 HelloWorl ...
- Java restful web service 开发入门
可用的框架有不少,我用的是jersey. 直接上代码,其实,如果你会web service 这个restful的就很好理解了,自己跑一遍就OK了 用到的类 User.java package demo ...
- Java Restful Web Service 学习指南
Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...
随机推荐
- github basic usage in windows
1. create a new accout, create orginazation, create repo 2. install git in your local pc Note: you c ...
- iOS开发之在地图上绘制出你运行的轨迹
首先我们看下如何在地图上绘制曲线.在Map Kit中提供了一个叫MKPolyline的类,我们可以利用它来绘制曲线,先看个简单的例子. 使用下面代码从一个文件中读取出经纬度,然后创建一个路径:MKPo ...
- LCD开发之汉字显示
一.LCD显示原理 利用液晶制成的显示器称为LCD,根据驱动方式可分为静态驱动.简单矩阵驱动以及主动矩阵驱动3种.当中,简单矩阵型又可再细分扭转向列型(TN)和超扭转式向列型(STN)两种,而主动矩阵 ...
- 玩转Web之servlet(四)---B/S是怎样使用http协议完毕通信过程的
在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和server之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是怎样利用http协议去完毕通信的. (一)通讯过程 ...
- 在线Youtube视频下载,修改文本,剪切制作动画的最新方法
刚刚(减去编写本文章的时间,大概20分钟前吧)在看国外最新技术资讯的时候发现有个方法可以让我们快速去下载Youtube上面的视频,不敢独享,我自己都没有怎么玩就所以立刻post上来广而告之,希望对大家 ...
- Thrift实践
Thrift实践:(一)安装 -- 未完待续 1. 新建一个目录,C:\test\thrift-test,里面建2个子文件夹,client-node和sever-csharp,然后把Thrift官 ...
- 苹果iOS苹果公司的手机用户都有权索赔
大家知道.手机中的操作系统(基础软件)存储在手机固(firm,ware)之中,一般而言,手机用户自己是不能修改的. 苹果iOS手机的系统后门(服务程序)也存储在手机固件之中.手机用户自己是无法删除的. ...
- ural1519插头DP
1519. Formula 1 Time limit: 1.0 second Memory limit: 64 MB Background Regardless of the fact, that V ...
- openwrt路由器更换了Flash之后需要修改的源码
假如我使用的是WR703N,改为8M内存: 1 修改openwrt/target/linux/ar71xx/image/Makefile文件 $(eval $(call SingleProfile,T ...
- SQL Server 远程链接服务器详细配置
原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html - ...