学习 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标记构建更复杂的故事板——具有多个动画以及播放控制功能.但有时采用更复杂的故事板例程,并在代码中实现全部复杂功 ...
随机推荐
- 第011课_串口(UART)的使用
from: 第011课_串口(UART)的使用 第001节_辅线1_硬件知识_UART硬件介绍 1. 串口的硬件介绍 UART的全称是 Universal Asynchronous Receiver ...
- Windows无法停用设备,原因是某个程序正在使用它...
有时候,当我们用完U盘需要弹出是,会出现“Windows无法停用设备,原因是某个程序正在使用它…”的黄色警告,很无奈.不过可以通过一些方法进行解决(win10版): 1. 打开“文件资源管理器”,选择 ...
- MySQL对数据库数据进行复制的基本过程详解
MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...
- Java String Integer转换 练习:编程求字符串“100”和“150”按十进制数值做差后的结果以字符串形式输出。
package com.swift; public class String_To_Integer_Test { public static void main(String[] args) { /* ...
- Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法
XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- iOS 骰子战争 Dice Wars
占坑 这个游戏之前在网页端玩过,App Store 上没有搜到特别好的,想自己做个类似的iOS APP 游戏 目测实现难度适中,可玩性较高
- 洛谷 4219/BZOJ 4530 大融合
4530: [Bjoi2014]大融合 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 990 Solved: 604[Submit][Status] ...
- PHP函数详解:call_user_func()使用方法
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: <?php function nowamagic($a,$b) { echo $a; echo $b; } cal ...
- python爬虫基础15-python图像处理,PIL库
Python图像处理-Pillow 简介 Python传统的图像处理库PIL(Python Imaging Library ),可以说基本上是Python处理图像的标准库,功能强大,使用简单. 但是由 ...
- R-data.table
data.table可以扩展和增强data.frame的功能,在分组操作和组合时访问速度更快. require(data.table) theDT = data.table(A=1:10, B=let ...