Java6 WebService学习
首先,建立一个WebService:
package garfield; import javax.jws.WebService;
import javax.xml.ws.Endpoint; @WebService
public class MyJ6WebService {
public String SayHello(String strName) {
return "Hello ,"+strName+"!";
} public static void main(String[] args) {
//发布WebService,注意如果提示:Exception in thread "main" com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Address already in use: bind
//则需要修改一下发布端口
Endpoint.publish("http://localhost:8030/garfield.MyJ6WebService", new MyJ6WebService());
System.out.println("WebService was published success !");
}
}
启动Tomcat,然后运行,系统会输出:WebService was published success !,表示WebService已启动。
可以在浏览器中输入地址:http://localhost:8030/garfield.MyJ6WebService?wsdl
显示WebService信息:
<?xml version="1.0" encoding="UTF-8" ?>
- <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01.
-->
- <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01.
-->
- <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://garfield/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://garfield/" name="MyJ6WebServiceService">
- <types>
- <xsd:schema>
<xsd:import namespace="http://garfield/" schemaLocation="http://localhost:8030/garfield.MyJ6WebService?xsd=1" />
</xsd:schema>
</types>
- <message name="SayHello">
<part name="parameters" element="tns:SayHello" />
</message>
+ <message name="SayHelloResponse">
<part name="parameters" element="tns:SayHelloResponse" />
</message>
- <portType name="MyJ6WebService">
- <operation name="SayHello">
<input wsam:Action="http://garfield/MyJ6WebService/SayHelloRequest" message="tns:SayHello" />
<output wsam:Action="http://garfield/MyJ6WebService/SayHelloResponse" message="tns:SayHelloResponse" />
</operation>
</portType>
- <binding name="MyJ6WebServicePortBinding" type="tns:MyJ6WebService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="SayHello">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="MyJ6WebServiceService">
- <port name="MyJ6WebServicePort" binding="tns:MyJ6WebServicePortBinding">
<soap:address location="http://localhost:8030/garfield.MyJ6WebService" />
</port>
</service>
</definitions>
在WebService启动的状态下,在命令行中输入:
E:\Temp>wsimport -p garfield.garfieldj6wsclient -keep http://localhost:8030/garf
ield.MyJ6WebService?wsdl
parsing WSDL... generating code... compiling code... E:\Temp>
注意,一定要对应你发布的WebService信息!
然后系统会自动生成相关的接口文件,如下:

新建Java工程,将输出文件引入,然后建立测试类:
package xxh;
import garfield.garfieldj6wsclient.*;
public class WebClient {
/**
* @param args
*/
public static void main(String[] args) {
//创建一个客户端服务对象
MyJ6WebService myJ6WS = new MyJ6WebServiceService().getMyJ6WebServicePort();
//调用服务方法,并得到方法返回值
String strTest = myJ6WS.sayHello("Garfield");
//打印服务的返回值
System.out.println(strTest);
}
}
在WebService运行情况下,运行客户端测试程序,输出:
Hello ,Garfield!
Java6 WebService学习的更多相关文章
- webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口
webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...
- [未完成]WebService学习第一天学习笔记
[未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记
- WebService学习笔记系列(二)
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...
- 【Java】Java6 WebService的发布
WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验 ...
- webservice学习01:wsdl文档结构
webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...
- Java6 WebService的发布(转)
Java6 WebService的发布 转:http://lavasoft.blog.51cto.com/62575/227988/ WebService服务发布往往比较混乱,Axis2的 ...
- WebService学习总结(转)
原文地址: WebService学习总结(一)——WebService的相关概念 WebService学习总结(二)——WebService相关概念介绍 WebService学习总结(三)——使用JD ...
- 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念
wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...
- Java6 WebService的发布
Java6 WebService的发布 WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服 ...
随机推荐
- Android中图片占用内存的计算
Android中图片占用内存的计算 原文链接 http://blog.sina.com.cn/s/blog_4e60b09d01016133.html 在Android开发中,我现在发现很多人还不 ...
- codeforces--376D--376F(前缀和优化)
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- Zookeeper的安装和配置
1.ZooKeeper 1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群 2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系统时间要保持 ...
- 移动端h5页面的设计稿尺寸
当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的.如果是app设计师,就不会那么纠结啦. 延伸阅读: 2015年度最 ...
- 转 Fragment 和 FragmentActivity的使用
今天学习下 Android中的 Fragment 和 FragmentActivity,因为没有4.0手机,平台是2.3.3 所以我是使用 v4 support 包来进行学习. 要想用Fragment ...
- GPRS管理与创建APN拨号连接(转)
源:http://www.cnblogs.com/michael-zhangyu/archive/2009/07/04/1516797.html 本文主要介绍一些GPRS管理与创建APN拨号连接相关的 ...
- hibernate里的generator中class =value介绍
在*.hbm.xml必须声明的<generator>子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识.<generator class="sequence ...
- 快速搭建本地HTTP服务器
我们都知道,可以通过浏览器直接打开HTML文件来查看可视化的效果,但这种方式有一些局限性.比如我们在做手机端适配的时候,无法直接查看手机端的效果等.为了不受此类限制,强烈建议搭建一个本地的HTTP服务 ...
- 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录
解决Ubuntu系统中文乱码显示问题 [日期:2014-02-20] 来源:Linux社区 作者:njchenyi [字体:大 中 小] 我是先安装了Ubuntu 12.04 Server,然后 ...
- 关于nodejs的require顺序
--------------------------------------- check /home/somebody/node_modules/othermodule check /home/so ...