学习 WebService 第五步:在Local创建测试用WebService(WSDL)
【准备】
Eclipse+Tomcat7(Tomcat端口修改为不冲突的值)
axis2 1.7.7 jar包(没有来这里下载:http://www.apache.org/dyn/closer.lua/axis/axis2/java/core/1.7.7/axis2-1.7.7-bin.zip)
【创建】
我们要创建一个SOAP WebService,主要是测试用,模拟API接口(谁让远程服务总是不好用呢)
1、创建动态Web项目:项目名:LocalTestWSServer。

2、导入axis2 1.7.7 jar包(没有来这里下载:http://www.apache.org/dyn/closer.lua/axis/axis2/java/core/1.7.7/axis2-1.7.7-bin.zip)
先不管有用没用,先都导进来再说。然后加入buildpath。


3、创建一个服务类。
因为我会建立很多WebService服务,所以用TestWS+序号命名(Method也是同理TestWSMethod+序号)。
大家忽略这个漏洞百出的java程序,我们重点讲如何创建测试用的服务。
TestWS1.java
public class TestWS1 {
public String TestWSMethod1(String contract_no,String[] work_no){
System.out.println("ContractNo : "+contract_no);
for(int i=0;i<work_no.length;i++){
System.out.println("WorkNo : "+work_no[i]);
}
return "ContractNo:"+contract_no+" WorkNo:"+work_no.length;
}
}
4、在TestWS1.java上→右键→WebService→WebService创建。


5、WebContent目录下生成一个wsdl目录,在wsdl目录下,看到类名.wsdl文件(TestWS1.wsdl)
在文件上右键→Test with Web Services Explorer

6、测试 WebService。
点击方法名TestWSMethod1----输入参数(数组参数可以通过点追加增加个数)---点Go。
如果控制台有输出,说明 测试成功,WebService没有问题。
当然,如果程序写的不好,控制台的输出就不是期望的样子(如本例),但起码能看到Request和Response的响应。也证明WebService发布成功。



网络真是个好东西。找到问题了:soapenv:Server.userException org.apache.axis.InternalException: java.lang.Exception: Couldn't find a matching Java operation for WSDD operation "testWSMethod1" (2 args) IBM215-R90M4935
方法名首字母不能大写
把TestWSMethod1改成testWSMethod1就OK了。

学习 WebService 第五步:在Local创建测试用WebService(WSDL)的更多相关文章
- python学习第十五天集合的创建和基本操作方法
集合是python独有的数据列表,集合可以做数据分析,集合是一个无序的,唯一的的数据类型,可以确定列表的唯一性,说一下集合的创建和基本常见操作方法 1,集合的创建 s={1,2,4} 也可以用set( ...
- python学习第十五天字典的创建及增删改查操作方法
字典是python比较常见的数据类型,跟列表一样,比如的字典的创建,字典的常见的操作的方法,增加,删除,修改,查找等方法,字典的一共的数据方法为 keys() values() fromkeys() ...
- 第五步:Lucene创建索引
package cn.lucene; import java.io.IOException; import java.nio.file.Paths; import java.util.Date; im ...
- 用keytool创建Keystore和Trustsotre文件只需五步
用keytool创建Keystore和Trustsotre文件 JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输.keytool是一个工具可以用来创建包含公 ...
- iOS 之美:iOS Delegate 使用五步曲
在iOS 开发中, 搞清楚Delegate 是需要花些时间的. Delegate 本来是软件架构设计的一种理念.对于像手机这样一个有限的设备,我们需要充分考虑到:内存要尽量省着用: 视图之间的关系要清 ...
- HTML5离线Web应用实战:五步创建成功
[IT168 技术]HTML5近十年来发展得如火如荼,在HTML 5平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化.HTML功能越来越丰富,支持图片上传拖拽.支持localstorage. ...
- Ajax学习(三)——XMLHttpRequest对象的五步使使用方法
Ajax的核心技术是XMLHttpRequest对象,它能够在不向server提交整个页面的情况下.实现局部更新网页.通过这个对象,Ajax能够像桌面应用程序那样仅仅与server进行数据层的 ...
- 学习 WebService 第三步:一个简单的实例(RAD+WAS 8.5开发SOAP项目)
[开发环境] Web Service 服务器端开发工具:RAD(Eclipse内核) Web Service 服务器:IBM WebSphere v8.5 REST/SOAP:SOAP(JAX-WS/ ...
- 【WPF学习】第五十七章 使用代码创建故事板
在“[WPF学习]第五十章 故事板”中讨论了如何使用代码创建简单动画,以及如何使用XAML标记构建更复杂的故事板——具有多个动画以及播放控制功能.但有时采用更复杂的故事板例程,并在代码中实现全部复杂功 ...
随机推荐
- 干净卸载 Cloudera CDH 5 beta2
Cloudera 的官方介绍: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/4.8.1/Cloudera ...
- VMware vSphere6.0 服务器虚拟化部署安装图解
一 VMware vSphere部署的前期规划要点 1 vSphere的优点 (略) 2 如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考虑目前现有的服务器.存储.交换机等基础设备是否可 ...
- python - 日期处理模块
首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了. ? 1 2 3 import datetime import time import ca ...
- Sum All Numbers in a Range-freecodecamp算法题目
Sum All Numbers in a Range 要求 给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. 最小的数字并非总在最前面. 思路 定义结果变量num 在for循环中,i ...
- new和delete的动态分配。
c++对象模型 视频的实际操作 note: 1.虚函数有虚指针,所以是4,不管有几个虚函数, 都只有一个vptr来存放调用的虚函数的地址. 2.子类的内存是父类内存的加自己的数据内存. 3.clas ...
- Linux - which xxx - 查找执行的命令所在的路径
Linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置,如何做呢? Linux 下有2个命令可完成该功能:which ,whereis which 用来查看当 ...
- 多线程之volatile关键字(五)
开始全文之前,先铺垫一下jvm基础知识以及线程栈: JVM栈是线程私有的,每个线程创建的同时都会创建JVM栈,JVM栈中存放的为当前线程中局部基本类型的变量(java中定义的八种基本类型:boolea ...
- python3.6 取整除法
python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3 #7 = 3*2 +1 n2=-6.1//3 #-7 = 3 ...
- jsp内置对象及其方法
JSP中一共预先定义了9个这样的对象,分别为: request. response. session. application. out. pagecontext. con ...
- and和or运算
and和or的运算,从前向后按顺序计算,当True结果遇到or就停止,返回True:当False结果遇到and就停止,返回False:False遇到or,继续走:True遇到and,继续走. > ...