(一)服务端的创建

一,首先创建一个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的更多相关文章

  1. 【转】@javax.ws.rs Webservice注解

    用于webservice. 1.路径 @javax.ws.rs.Path 标识要请求的资源类或资源方法的uri路径. 例,@Path("animal"),表示下一层路径是anima ...

  2. 用JAX-WS在Tomcat中公布WebService

    JDK中已经内置了Webservice公布,只是要用Tomcat等Webserver公布WebService,还须要用第三方Webservice框架. Axis2和CXF是眼下最流行的Webservi ...

  3. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  4. 【Java EE 学习 80 上】【WebService】

    一.WebService概述 什么是WebService,顾名思义,就是基于Web的服务,它使用Http方式接收和响应外部系统的某种请求,从而实现远程调用.WebService实际上就是依据某些标准, ...

  5. WebService技术(一)

    前言:学习笔记,以供参考 1.认识 WebService就是一种跨编程语言和跨操作系统平台的远程调用技术. Webservice就是一个独立运行的应用程序,提供了可以进行远程调用的API接口. Web ...

  6. WebService的一些案例

    既然要实现WebService,首先先来创建一个Service类 package cn.happy.webservice; import javax.jws.WebService; import ja ...

  7. WebService 学习之路(一):了解并使用webService

    webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回. webSer ...

  8. WebService的创建发布及部署

    1.打开win7的IIS功能: http://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 2.IIS注册Frameworkt4.0 ...

  9. 5.开发webservice

    package com.atguigu.ws; import javax.jws.WebMethod; import javax.jws.WebService; /** * * @author Adm ...

  10. java 实现WebService 以及不同的调用方式

    webservice:    就是应用程序之间跨语言的调用    wwww.webxml.com.cn    1.xml    2.    wsdl: webservice description l ...

随机推荐

  1. yarn 强制孙依赖的版本

    今天博主遇到一个棘手的问题,@vue/cli-service 依赖了一个包 portfiner@^1.0.20,但是 2 天前,这个包更新到了1.0.22,带来了一些问题. 博主第一反应就是想 yar ...

  2. Shiro + Redis集成思路

    首先,确保Spring配置完毕了. 集成Shiro 1.在pom.xml中追加依赖 <dependency> <groupId>org.apache.shiro</gro ...

  3. Tkinter 之OptionMenu下拉选择菜单

    一.代码示例 import tkinter as tk window = tk.Tk() # 设置窗口大小 winWidth = 600 winHeight = 400 # 获取屏幕分辨率 scree ...

  4. l2_multi.py

    # Copyright 2012-2013 James McCauley # # Licensed under the Apache License, Version 2.0 (the "L ...

  5. golang通过ssh实现远程文件传输

    使用ssh远程操作文件, 主要是创建ssh, 直接上代码 import ( "fmt" "github.com/pkg/sftp" "golang.o ...

  6. oracle利用触发器实现将ddl操作存入数据表中

    先创建DDL数据库事件操作表: create table ddl_event( sys_time date primary key, event_name ), ), obj_type ), obj_ ...

  7. git notes的使用

    1. 获取notes git fetch origin refs/notes/*:refs/notes/* 2. 设置notes 2.1 git config --add core.notesRef ...

  8. C#依赖注入实例

    http://qing.weibo.com/tj/400082fa33001h7x.html 1.5 实现依赖注入1.5.1 背景介绍 设计模式中,尤其是结构型模式很多时候解决的就是对象间的依赖关系, ...

  9. KDChart example

    /******************************************************************************** ** Form generated ...

  10. RobotFramework:发现一个大坑,当post接口入参为json时,千万不能用sojson转化后的json串(ride解析会有异常,非sojson工具问题),直接用浏览器粘过来的就行

    问题背景: 和以往一样愉快的进行着自动化测试,突然就不停的提示我,“程序异常”,查看log发现data中的json变为了数组?????? 那算了,我不先组装入参数据直接data=json入参吧,wha ...