http://blog.sina.com.cn/s/blog_61d8d96401013tmp.html

1.首先创建一个Java项目,作为Web services Endpoint.

2.创建一个HelloService.java类

package com.web.service;

import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.xml.ws.Endpoint; 
 
@WebService 
public class HelloService { 
     
    @WebMethod 
    public String sayHello(String message){ 
        return "Hello ," + message; 
    } 
     
    public static void main(String[] args) { 
        //create and publish an endPoint 
        HelloService hello = new HelloService(); 
        Endpoint endPoint = Endpoint.publish("http://localhost:8080/helloService", hello); 
    } 
}

3.使用apt编译HelloService.java后,会生成jaxws目录,命令如下:

D:\project\MyEclipse 8.6\MyWebService\src>apt -d bin com/web/service/HelloServic
e.java。(注意:这里我们的命令行必须进入到MyWebService工程的src目录下,blog原文的作者在这里没有写清楚,我还是费了老长时间才试出来)

4.执行HelloService.java文件(运行main函数),在浏览器中输入http://localhost:8080/helloService?wsdl出现如下图:

5.使用wsimport命令生成客户端:D:\project\MyEclipse 8.6\MyWebService\src>wsimport -p com.web.webservice -keep http://localhost:8080/helloService?wsdl (注意:这里同样是在MyWebService工程的src目录下执行的wsimport命令)这时会在当前目录中生成如下文件:


同时附上MyEclipse里面最终的文件结构目录,以此让后来者对照自己写的时候的目录结构:

6.编写好客户端文件HelloClient.java

public class HelloClient { 
    public static void main(String[] args) { 
        HelloServiceService helloServiceService = new HelloServiceService(); 
        com.web.webservice.HelloService helloService = helloServiceService.getHelloServicePort(); 
        System.out.println(helloService.sayHello("你好")); 
    } 
 
}

调用main函数,运行结果在控制台输出“Hello ,你好”,如图:

证明利用JDK web服务API实现web service成功!

Java自带webservice的更多相关文章

  1. 你真的了解JAVA中与Webservice相关的规范和实现吗?

    非常多人在项目中使用Webservice,仅仅是知道怎样公布Webservice,怎样调用Webservice,但真要论其来龙去脉,还真不一定清楚. 一切一切还要从我们伟大的sun公司规范说起. JA ...

  2. JAVA实现带图片的列表——JList

    JList:显示对象列表并且允许用户选择一个或多个项的组件. JList的构造方法: 1.根据数组创建列表: JList(Object[] listData) 构造一个 JList,使其显示指定数组中 ...

  3. java自带工具-jps、jinfo、jstack、jstat、jmap

    掌握java自带的这些监控工具,有助与我们很好的分析问题和jvm性能调优秀.收集了些网上整理很好的文章. Java监控工具.调优.调试辅助函数 Java自带的GUI性能监控工具Jconsole以及Ji ...

  4. Spark的Straggler深入学习(1):如何在本地图形监控远程Spark的GC情况——使用java自带的jvisualvm

    一.本文的目的       Straggler是目前研究的热点,Spark中也存在Straggler的问题.GC问题是总所周知的导致Straggler的重要因素之一,为了了解GC导致的Straggle ...

  5. java自带BASE64工具进行图片和字符串转换

    java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...

  6. SAP和Java系统的Webservice实例

    简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...

  7. Java自带的keytool命令

    使用Java自带的keytool命令,在命令行生成. 1.生成服务器端私钥kserver.keystore文件 keytool -genkey -alias serverkey -validity 1 ...

  8. 用C#.NET调用Java开发的WebService传递int,double问题

    用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.double和D ...

  9. .NET调用Java写的WebService

    最近遇到一个用.net调用java写的webservice的应用,对方程序员提供了一个后缀为wsdl的文件,这个跟.Net里面生成的wsdl文件差不多,起初没什么概念就查了点资料,知道可以将这个wsd ...

随机推荐

  1. 深入理解Java内存模型(五)——锁

    锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制.锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息. 下面是锁释放-获取的示例代 ...

  2. C# List.sort排序详解(多权重,升序降序)

    很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在Ios上会报错,所以就必须使用list的排序. 其实理解了并不难 升序降序比较 sort有三种结果 1,-1,0分别是大,小,相等. ...

  3. 手机上的频段GSM GPRS分别是什么

    GSM是一种第二代无线通信的网络制式标准,GPRS是GSM应用的一种数据业务(如上网).频段:上行:890-915MHz(中国移动:890-909,中国联通:909-915)下行:935-960MHz ...

  4. pyhton与json,Xml

    对简单数据类型的encoding 和 decoding: 使用简单的json.dumps方法对简单数据类型进行编码,例如: 1 2 3 4 5 6 import json   obj = [[1,2, ...

  5. Volley HTTP库系列教程(1)简介及优点

    Transmitting Network Data Using Volley Get  started Dependencies and prerequisites Android 1.6 (API ...

  6. 《OD学hadoop》第三周0709

    一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...

  7. hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等

    hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一.预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,t ...

  8. Linux 总结1

    ============================= 一般 ========================================= chown -R oracle:oinstall ...

  9. [转] Qt 多线程学习

    Qt 多线程学习 转自:http://www.cnblogs.com/IT-BOY/p/3544220.html 最近的项目上用到了关于多线程的知识,自己也比较感兴趣,所以就拿了那本<C++ G ...

  10. find命令下的atime,ctime,mtime

    Linux下的find命令在目录结构中搜索文件,并执行指定的操作.linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find ...