通过JAX-WS实现WebService
(一)服务端的创建
一,首先创建一个Web 项目,或者创建一个Web Service项目也行(差别就是后者在开始就设置了Web Service的调用方式)

二,在项目中创建一个类作为我们要发布的服务(需要是非静态的public方法,我这里的main方法就是一个尝试)

三,把这个项目转成一个Web Service项目(开始就创建的Web Service项目也要走这步),在划红线部分选择New Web Service


这里选择下载JAX-WS Facet,然后Strategy(策略、部署)选择下面的通过java类来创建web service(JAX-WS的版本最好和Myeclipse里的版本一致,后面会提到;Target runtime就是你用来跑服务的工具)


next后会让我们选择要发布的类,这里就点击Browse输入我们写的类,其他的数据会自动填充。不熟悉的时候可以勾选Generate WSDL in project(在项目中生成wsdl文件),有多个类时重复操作就行。

四,上面完成后就是导包。选中项目右键选择Properties,然后再选择build path,接着点击Add Library,之后选择Myeclipse Library,最后搜索JAX-WS。这里我搜索的结果是2.1版本的,而之前配置的是2.0版本的,虽然可以用,但最好是一致。(也可自己导包到项目里面,好像有两个--jax-ws runtime 和 jax-ws api)


五,导包完了就是发布服务。这里同样选择划红线的部分来发布服务,然后选择我们的项目再点击Add,选择发布服务的服务器。


发布成功后就运行服务器,运行完成后看下中途是否有报异常、错误。没有错误就看下一步,有和我同样的错误参考:https://blog.csdn.net/weixin_37848710/article/details/79665498(其实就是包有问题,在build path里面选择JAX-WS的包,然后点击Edit把所有的选项都选上)。处理完成后在Servers窗口选中自己的项目重新编译后再启动服务器。


六,没有错误正常启动服务器后就可以查看我们的服务是否正常启用。熟悉的时候就可以直接输入WSDL的地址来查看,不熟悉的话根据之前转换Web Service项目的时候选择的生成的WSDL文件来查看。直接复制XXXPort里面的地址加上?wsdl就可以看到自己发布的服务的WSDL文件,到此服务端完成。

(二)客户端的创建
一,创建一个Java 项目(其他项目也行,这里主要是用来测试的。)然后点击划红线的倒三角选择New Web Service Client,选择刚建的项目就next

接着选择WSDL URL,输入我们前面服务端的wsdl(这里服务端需要处于启动状态)这里如果不指定java source folder和java package就直接用wsdl的文档路径。然后next,finish。会生成如下文件结构。


然后我们新增一个Test类,里面通过main方法来调用Web Service服务端。

main方法的第一行是获取服务的对象;第二行是获取服务的端口;第三行是调用Web Service服务获取返回值;第四行由于我这边返回的是个字符串,所以打印出来看具体结果。
到此,打完收工!
参考文档:https://www.cnblogs.com/lee0oo0/archive/2013/01/25/2876357.html
通过JAX-WS实现WebService的更多相关文章
- 【转】@javax.ws.rs Webservice注解
用于webservice. 1.路径 @javax.ws.rs.Path 标识要请求的资源类或资源方法的uri路径. 例,@Path("animal"),表示下一层路径是anima ...
- 用JAX-WS在Tomcat中公布WebService
JDK中已经内置了Webservice公布,只是要用Tomcat等Webserver公布WebService,还须要用第三方Webservice框架. Axis2和CXF是眼下最流行的Webservi ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- 【Java EE 学习 80 上】【WebService】
一.WebService概述 什么是WebService,顾名思义,就是基于Web的服务,它使用Http方式接收和响应外部系统的某种请求,从而实现远程调用.WebService实际上就是依据某些标准, ...
- WebService技术(一)
前言:学习笔记,以供参考 1.认识 WebService就是一种跨编程语言和跨操作系统平台的远程调用技术. Webservice就是一个独立运行的应用程序,提供了可以进行远程调用的API接口. Web ...
- WebService的一些案例
既然要实现WebService,首先先来创建一个Service类 package cn.happy.webservice; import javax.jws.WebService; import ja ...
- WebService 学习之路(一):了解并使用webService
webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回. webSer ...
- WebService的创建发布及部署
1.打开win7的IIS功能: http://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 2.IIS注册Frameworkt4.0 ...
- 5.开发webservice
package com.atguigu.ws; import javax.jws.WebMethod; import javax.jws.WebService; /** * * @author Adm ...
- java 实现WebService 以及不同的调用方式
webservice: 就是应用程序之间跨语言的调用 wwww.webxml.com.cn 1.xml 2. wsdl: webservice description l ...
随机推荐
- Java中使用md5进行hash运算
public class Md5Util { /** * @author Bean_bag * @description 进行Hash运算 * * @param input 参数字符串 * @retu ...
- 跑shell脚本出错问题以及解决。
脚本信息: #!/bin/bash function hello(){ cat <<YJT echo "hello world!!!" YJT } hello 错误: ...
- ROUND() 函数
ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...
- 查看日志tail命令
打开终端,连接jboss: 命令: tail -f -n 500 /var/log/wildfly/wrapper.log
- 【原】Python基础-类
class CPerson: name = "default" __name2 = "inaccessable name" #类作用域内的变量可以被所有实例访问 ...
- mac使用vnc远程登录ubuntu16.04桌面
mac使用vnc远程登录ubuntu16.04桌面 1.安装在Ubuntu上安装x11vnc,如下: sudo apt-get install x11vnc 2.配置vnc密码 x11vnc -sto ...
- Hvie SQL 修改表名 注释 列名注释
一.修改hive表注释 ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注'); 二.修改hive表字段注释 ALTER TABLE 数据 ...
- 判断Activty是否在前台运行
/** * 判断某个界面是否在前台 * * @param context * @param className 某个界面名称 * */ public static boolean isActivity ...
- Android资源文件命名规范学习手册
[推荐] 资源文件需带模块前缀.[推荐] layout 文件的命名方式. Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 modu ...
- MongoDB查询报错:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential
异常日志: -- ::, [http-nio--exec-] DEBUG [java.sql.Connection] - ooo Connection Opened -- ::, [http-nio- ...