学习 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标记构建更复杂的故事板——具有多个动画以及播放控制功能.但有时采用更复杂的故事板例程,并在代码中实现全部复杂功 ...
随机推荐
- python plt 保存jpg出错
pip install pillow就可以解决
- BigDecimal and double
BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...
- springboot超详细笔记
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- 掉坑日志:Windows Native API与DPI缩放
高DPI显示器越来越普及,软件自然也要适应这个变化,最近实习的时候也遇到了一个关于DPI缩放的问题.因为内部框架的一个控件有BUG,会导致内容的显示出问题,后来实在没办法改成了用Windows Nat ...
- C/C++基础知识:函数指针和指针函数的基本概念
[函数指针] 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址.可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指 ...
- Android深度探索总结
Android深度探索前四章总结 通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android ...
- NodeJS基础入门-Event
大多数Node.js核心API都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器). 例如,net.Server对象会在每次有新连接时触发事件;fs ...
- 【线程池】ExecutorService与quartz搭配出现的问题
问题描述: 使用quartz定时推送微信公众号模板消息,一分钟推送一次,定时器里面使用了一个ExecutorService线程池,大小为5个. 批量获取数据之后,全部数据都被分配到n/5的线程池里面等 ...
- QT入门学习笔记2:QT例程
转至:http://blog.51cto.com/9291927/2138876 Qt开发学习教程 一.Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的<QT实验分析教程>创作,同 ...
- MVC如何在解决方案下创建文件夹
背景:为什么要在解决方案下创建文件夹? 比如,在开发过程中,会抽象出大量的公共方法,如数据库访问的方法.配置文件读取方法等等,将这些方法生成自己的DLL库文件,方便在其他的项目中进行复用.那么,这些方 ...