1.Define the interface

 import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style; @WebService @SOAPBinding(style = Style.RPC)
public interface ISay {
@WebMethod(operationName="HansayHello")
@WebResult(name="myReturn")
public String sayHello(@WebParam(name="name") String name); @WebMethod(operationName="HansayGoodBye")
@WebResult(name="myReturn")
public String sayGoodbye(@WebParam(name="name")String name); @WebMethod(exclude=true)//当前方法不被发布出去
public String sayHello2(@WebParam(name="name")String name);
}

2.Implement the interface

 import javax.jws.WebService;

 /**
* WebService
* 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
*/
@WebService(endpointInterface = "com.mobile263.ISay")
public class SayImpl implements ISay { public String sayHello(String name){
System.out.println("sayHello got the request:"+name);
return "hello: " + name;
} public String sayGoodbye(String name){
System.out.println("sayGoodBye got the request:"+name);
return "goodbye: " + name;
} public String sayHello2(String name){
return "hello " + name;
} }

3. Publish the ws in server

 import javax.xml.ws.Endpoint;

 /**
* WebService
* 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
*/ public class Wsserver { public static void main(String[] args) {
/**
* 参数1:服务的发布地址
* 参数2:服务的实现者
* Endpoint 会重新启动一个线程
*/
Endpoint.publish("http://localhost:8090/WStest/com.mobile.Wsserver", new SayImpl());
System.out.println("Server ready...");
} }

4. Input the link on brouswer and enter,the wsdl will be shown.   --> http://localhost:8090/WStest/com.mobile.Wsserver?wsdl

5. Use wsimport to export the client files

wsimport -d d: -keep -verbose http://localhost:8090/WStest/com.mobile.Wsserver?wsdl

												

webservice - 使用JAX-WS注解的方式快速搭建服务端和客户端的更多相关文章

  1. webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)

    1.定义接口 package org.WebService.ws.annotation; import javax.jws.WebService; @WebService public interfa ...

  2. select服务器端模型封装——回调方式快速建立服务端

    #pragma once #ifndef WINSOCK2_H #define _WINSOCK_DEPRECATED_NO_WARNINGS #include<WinSock2.h> # ...

  3. WebService学习总结(四)--基于CXF的服务端开发

    本节将实践目前最流行的第二种web service 发布和调试框架  CXF Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩 ...

  4. go micro实战01:快速搭建服务

    背景 go-micro给我们提供了一个非常便捷的方式来快速搭建微服务,而且并不需要提前系统了解micro,下面用一个简单的示例来快速实现一个服务. 创建Proto文件 因为我们要做微服务,那么就一定有 ...

  5. 使用quickstart方式快速搭建maven工程

    通常idea 创建maven工程,初始化会比较慢,针对这种现象.我们可以使用一些巧妙的方式来帮助快速搭建 废话不多说直接上图! 图1 使用 archetype-quickstart  选择 图二 点击 ...

  6. webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成

    首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...

  7. WebService技术,服务端and客户端JDK-wsimport工具(一)

    使用webservice服务,需要了解几个名词:soap 简单对象协议.http+xml . WSDL 先看下代码结构: 服务端代码与客户端代码分别处于两不同的包中 一.服务端内容 服务端: @Web ...

  8. WebService从服务端到客户端的用例

    1.首先编写Wsdl(基于契约优先的方式),要注意的是命名空间(若是使用include或import)最好使用一致的,代码如下: <?xml version="1.0" en ...

  9. 通过jaxws-ri创建webservice服务端和客户端

    1. 获得开发包 当然是到 SUN 的开发网站下载 JAX-WS RI,或者下载我的网盘备份 ,下载下来的只是一个jar包,参考官网上的方法在命令行调用:java -jar JAXWS2.1.2-20 ...

随机推荐

  1. jquery中的ajax请求用法以及参数详情

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  2. 并发新构件之PriorityBlockingQueue:优先阻塞队列

    PriorityBlockingQueue:优先阻塞队列:是带有优先级的阻塞队列,一个无界阻塞队列,它使用与类 PriorityQueue 相同的顺序规则,并且提供了阻塞获取操作.虽然此队列逻辑上是无 ...

  3. PCA降维-最大,最小方差解释

    转自http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020209.html http://www.cnblogs.com/jerrylead/ ...

  4. Asia Hong Kong Regional Contest 2019

    A. Axis of Symmetry B. Binary Tree n 的奇偶性决定胜负. C. Constructing Ranches 路径上点权之和大于,极大值两倍,这是路径上点能拼出多边形的 ...

  5. 第八篇 编写spider爬取jobbole的所有文章

    通过scrapy的Request和parse,我们能很容易的爬取所有列表页的文章信息. PS:parse.urljoin(response.url,post_url)的方法有个好处,如果post_ur ...

  6. Nginx负载均衡与转发

    1.6种负载均衡策略 1.轮询 :默认方式 2.weight : 权重方式 3.ip_hash :依据ip分配方式 4.least_conn :最少连接方式 5.fair(第三方) :响应时间方式 6 ...

  7. 使用Kettle的命名参数动态执行作业

    关于如何根据传入的不同参数,达到动态运行作业的目的,这里不介绍.只提供一个思路,就是不同的调度进程调度同一个Kettle文件时,传入了不同的参数,从而得到不同的数据. 如下图所示: 1. 先设置参数名 ...

  8. linux常用命令-3文件与目录相关命令

    cd .. #返回上一级目录 cd ../.. #返回上两级目录 cd - #返回上次所在目录 cp file1 file2 #将file1复制为file2 cp -a dir1 dir2 #复制一个 ...

  9. nginx : OpenEvent Faied access is denied

    主要是naginx做成服务后, 服务运行的用户权限不够(他是system的),而cmd运行的是(Administrator) 所以我们去服务里,修改成以下就好了

  10. 面对对象(JS)

    面对对象的三大特征:封闭.继承.多态 七大基本原则:    1.单一职责    2.开闭原则    3.里氏替换    4.依赖倒置    5.接口隔离    6.迪米特法则    7.01组合/聚合 ...