参考了网络上中资料,自己学习实践了一个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!

转载于:https://www.cnblogs.com/GarfieldTom/archive/2012/09/14/2684361.html

Java6 WebService学习相关推荐

  1. [WebService] xml WebService学习1

    [WebService] xml WebService学习1 管理工具->性能 SQL 事件探查器可以使您轻松地捕获在正常负载下服务器上发生的所有事件,并提供有关这些事件的信息.将 SQL 事件 ...

  2. webService学习9:jquery ajax调用webservice

    1 参照  webService学习7:调用天气接口 生成客户端代码 2 前台代码 <%@ page language="java" import="java.ut ...

  3. webService学习4:客户端调用服务端的代码

    1 服务器端sayHello变化了一点,代码如下 @WebService public class HelloWSImpl implements HelloWS {public String sayH ...

  4. webservice学习01:wsdl文档结构

    webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...

  5. WebService学习总结(三)——使用JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  6. WebService学习:SOPA与WSDL基本语法 .

    在WebService学习中,发现SOPA和WSDL的语法比较繁琐,故将以下几点记下,以备查看. SOPA基本语法: SOAP消息基于XML文档构建,一条SOAP消息就是一份特定的XML文档,SOAP ...

  7. WebService学习:SOPA与WSDL基本语法

    转载自:http://blog.csdn.net/lissdy/article/details/8219659 在WebService学习中,发现SOPA和WSDL的语法比较繁琐,故将以下几点记下,以 ...

  8. WebService学习总结

    本文出自 http://www.cnblogs.com/ 的 孤傲苍狼 原文网址: http://www.cnblogs.com/xdp-gacl/category/629559.html http: ...

  9. WebService学习心得

    WebService学习心得01--webservice服务端及客户端开发 1.定义 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交 ...

最新文章

  1. 如何在java中去除中文文本的停用词
  2. ajax 遍历select 下拉框
  3. python3.6.8卸载_Mac 卸载 彻底删除 自己下载的 python 3
  4. 纯css隐藏移动端滚动条解决方案(ios上流畅滑动)
  5. SpringMVC 传递相同名称的参数的最佳方法
  6. 数组玩法(1):下标移位
  7. redis mysql 数据长度_如何统计Redis中各种数据的大小
  8. 关于编程-R语言跟Python到底学哪个好?
  9. RGB色彩模式与CMYK色彩模式参数转换公式
  10. win10下Linux子系统(ubuntu)开启并配置(shell主题,设置中文环境,图形界面...)
  11. day18-正则表达式
  12. wegame导致win10无限重启问题解决
  13. 哈工大计算机网络-作业讲解
  14. 合格的CTO应该是什么样?雷军王海峰王小川等共谈「技术创新」| CNCC2020-1
  15. Python3---站在大佬肩膀写爬虫-爬取网易云音乐热歌榜歌曲热评(精彩评论)
  16. 海康设备接入EasyCVR,出现告警信息缺失且不同步该如何解决?
  17. java控制电脑双屏模式_win10电脑双屏幕设置方法 双屏双桌面的设置步骤
  18. 用Python实现跳一跳自动跳跃
  19. LaTeX—如何把论文模板的关键词从Index Terms 改为Keywords
  20. 学习笔记(15):R语言入门基础-增加行或列

热门文章

  1. 【许晓笛】 EOS 智能合约案例解析(2)
  2. [转]自然语言处理中的Attention Model:是什么及为什么
  3. JQuery 加载 CSS、JS 文件
  4. nagios监控服务器的搭建
  5. SUSE12系统安装及LVM设置详解
  6. ActiveMq使用笔记
  7. Spark 宽依赖和窄依赖
  8. 云计算解决方案——电信行业
  9. IDEA创建文件添加作者及时间信息
  10. android gravity参数,Gravity - [ Android中文手册 ] - 在线原生手册 - php中文网