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下载 代码的更多相关文章

  1. 使用Junit测试一个 spring静态工厂实例化bean 的例子,所有代码都没有问题,但是出现java.lang.IllegalArgumentException异常

    使用Junit测试一个spring静态工厂实例化bean的例子,所有代码都没有问题,但是出现 java.lang.IllegalArgumentException 异常, 如下图所示: 开始以为是代码 ...

  2. JAX-RS 方式的 RESTful Web Service 开发

    JAX-RS 方式的 RESTful Web Service 开发 ——基于 CXF+Spring 的实现 Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 H ...

  3. 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战

    微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...

  4. java+web文件的上传和下载代码

    一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了.我这里分享一下我自己开发的一套大文件上传控件 ...

  5. 应用Apache Axis进行Web Service开发

    转自(http://tscjsj.blog.51cto.com/412451/84813) 一.概述 SOAP原意为Simple Object Access Protocol(简单对象访问协议),是一 ...

  6. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  7. jboss上的soap web service开发示例

    以下示例,由jboss quickstart示例代码得来: 一.创建一个常规的dynamic web项目,建议支持maven ,项目的关键属性参考下图: 二.定义服务接口及参数对象 HelloWorl ...

  8. Java restful web service 开发入门

    可用的框架有不少,我用的是jersey. 直接上代码,其实,如果你会web service 这个restful的就很好理解了,自己跑一遍就OK了 用到的类 User.java package demo ...

  9. Java Restful Web Service 学习指南

    Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...

随机推荐

  1. 圣魔大战3(Castle Fantisia)艾伦希亚战记改动器/秘籍——究极改动大法

    艾伦西亚战记== 艾伦希亚战记,是一个游戏 武器:UltraEdit(金山游侠自带的文件改动器也能够,仅仅是这个专业) 目标: 存档文件(建议先备份)  知识:save00.dat-save19.da ...

  2. A generic error occurred in GDI+. 上传图片报错

    代码就不说了,因为本地测试 ok, 服务端 就不行 ,服务器 环境 阿里云 win2008 r2  64 位 原因 是我没有这是 文件加权限 : 左边 的 少了 权限~ 代码 :含义是 网络图片 裁剪 ...

  3. 找不到方法: Int32 System.Environment.get_CurrentManagedThreadId() .

    这个问题在本地运行没错...放到服务器上就出现这个问题.. 原因:是这个方法是.NETFRAMWORK4.5的..服务器上用的是4.0就会出现这个问题. 解决办法:在本地WEB项目右键把项目改到FRA ...

  4. Installshield建立IE快捷方式的方法

    原文:Installshield建立IE快捷方式的方法 实现方法:在project assistant里或者install design里随便建一个快捷方式,然后去install design里修改刚 ...

  5. nodejs 平台的 webscoket 的实现

    新手入门,没办法,只能选择不断不断的google吧. 找了很多的例子都跑不了,不知道什么原因. 后,自己在git搜索吧,选择了一个下面的例子: nodejs-web-socket 经过我的改造,改成我 ...

  6. Windows Server 2008安装 百度Wifi \ 360Wifi \ 小米Wifi 失败的解决方法

    服务器管理 -> 功能 -> 安装 [无线LAN]服务

  7. hdu1005 Number Sequence

    f(n-1)和f(n-2)所有组合都49种子,这期可达49,但f(n-1)=f(n-2)=0如果是,列的总数目0.话题条件f(1)=f(2)=1.因此排除这样的情况.的最长期限48. #include ...

  8. [ACM] POJ 2506 Tiling (递归,睑板)

    Tiling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7487   Accepted: 3661 Descriptio ...

  9. 多数据库下activiti的流程定义缓存问题

    我们使用activiti(5.14版本号)作为流程引擎,今天在产品中发现一个问题,某流程的审批记录中, 活动实例表中记录的活动名称(ACT_HI_ACTINST表的ACT_NAME)居然是该流程中不存 ...

  10. [译]关于Java 字符串最常被问到的十个问题

    (说明,该文章翻译自Top 10 questions of Java Strings) 下面是关于Java字符串最常被问到的十个问题 1.怎么去比较字符串?使用==还是使用equals()? 简单来说 ...