博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAX-WS
阅读量:6670 次
发布时间:2019-06-25

本文共 2513 字,大约阅读时间需要 8 分钟。

1.创建一个普通的Java Project,例如叫wsService

2.创建package com.du.ws

3.创建接口 com.du.ws.HelloService.java

3.1 类用@WebService注解

3.2 方法用@WebMethod注解

@WebService 

public interface HelloService {

@WebMethod 

String sayHello(String name);

}

4.创建接口的实现类com.du.ws.HelloService.java

4.1 类用@WebService注解

4.2 方法用@WebMethod注解,如果方法要排除,使用@WebMethod(exclude=true)排除

@WebService

public class HelloServiceImpl implements HelloService {

@WebMethod

public String sayHello(String name) {

return "Hello " + name;

}

}

5.编写发布类com.du.endpoint.HelloServicePublisher.java

5.1 静态main方法 使用EndPoint.publish(URL,NEW_INSTANCE)格式发布

5.2 URL就是WSDL服务的地址,NEW_INSTANCE就是实例类

public class HelloServicePublisher {

public static void main(String[] args) {

Endpoint.publish("http://localhost:8888/helloService", new HelloServiceImpl());

System.out.println("Service is published!");

}

}

6.访问http://localhost:8888/helloService?wsdl如果看到XML格式,表示发布成功.

7.生成*.wsdl文件

7.1编写ANT文件或者借使用wsgen命令,因为项目使用JDK自带的JAX-WS API创建的.

7.2 使用wsgen命令:cmd进入到项目根目录使用命令,

wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl com.du.ws.HelloServiceImpl

使用时如果不清楚可以wsgen,看帮助说明比较重要的有-cp -r -s -d -wsdl

-cp 定义classPath,一般为./bin

-r 生成的wsdl文件存放目录,要创建好目录,否则会报找不到目录

-s 生成发布Web Service的源代码文件目录,一般为./src

-d 生成发布Web Service的对应class文件存放目录,一般为./bin

7.3 使用ANT文件 build_wsdl.xml,右键Run As -> Ant Build

<?xml version="1.0"?>

<project default="wsgen">

<target name="wsgen">

<exec executable="wsgen">

<arg line="-cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl com.du.ws.HelloServiceImpl" />

</exec>

</target>

</project>

8. 执行完成后,项目右键,Refresh.

8.1 会在wsdl目录下生成*Service.wsdl文件和 *Serviec_schema1.xsd校验文件

8.2 在com.du.ws下创建package jaxws存放对应的发布源代码

--根据*.wsdl文件和*.xds生成web service文件 (HelloServiceImplService.wsdl , HelloServiceImplService_schema1.xsd)

1. 创建一个普通java project.例如叫wsServiceClient

2. 将*.wsdl和*.xds文件复制到src目录下

3. 使用wsimport -d表示生成的class文件目录, -s表示源文件目录

3.1直接路径

wsimport -d D:/xxx/workspace/ProjectName/bin -s D:/xxx/workspace/ProjectName/src HelloServiceImplService.wsdl

3.2间接路径 -s后面的点表示当前路径

wsimport -d ../bin -s . HelloServiceImplService.wsdl

3.3通过WSDL服务发布的WSDL link.

wsimport -d ../bin -s . http://localhost:8888/helloService?wsdl

4.上面的命令会根据Web Servie创建时的package接口创建源文件,这样就创建成功了.

5.编写测试类

在静态Mail方法中获取service,创建Port实例,调用相应的方法

public class TestHelloServiceClient {

public static void main(String[] args) {

HelloServiceImplService service = new HelloServiceImplService();

HelloServiceImpl proxy = service.getHelloServiceImplPort();

System.out.println(proxy.sayHello("Chen, Du"));

}

}

 

转载于:https://my.oschina.net/vivine/blog/357482

你可能感兴趣的文章
一次阿里的面试
查看>>
数据库事务隔离级别
查看>>
JSONP跨域以及之前的历史
查看>>
FLEX库在苹果废弃ASL之后的解决方案
查看>>
基于django的视频点播网站开发-step2-搭建环境
查看>>
Qtum量子链与亚马逊AWS中国云服务达成合作
查看>>
Java并发知识点快速复习手册(下)
查看>>
div自适应填充剩余宽度的方法
查看>>
Python3 关键字nonlocal和global的用法与区别
查看>>
Wireshark 3.0.0 正式版发布,免费开源的网络数据包分析软件
查看>>
对象引论
查看>>
Jdk1.8新特性学习(Optional)
查看>>
聊聊flink taskmanager的jvm-exit-on-oom配置
查看>>
165. Compare Version Numbers
查看>>
ESMap+Html5+SpringBoot+FastDFS实现导航导购App
查看>>
CentOS7搭建LNMP--编译安装
查看>>
C++编译器优化
查看>>
golang slice append 后 capacity 增长的算法
查看>>
MP3转换AAC格式哪个音频转换器好
查看>>
黑苹果装机记录
查看>>