jax-ws java_通过JAX-WS实现WebService

jax-ws java_通过JAX-WS实现WebService(一)服务端的创建一,首先创建一个Web项目,或者创建一个WebService项目也行(差别就是后者在开始就设置了WebService的调用方式)二,在项目中创建一个类作为我们要发布的服务(需要是非静态的public方法,我这里的main方法就是一个尝试)三,把这个项目转成一个WebService项目(开始就创建的WebService项目也要走这步),在划红线部分选择NewWebSe…

大家好,又见面了,我是你们的朋友全栈君。

(一)服务端的创建

一,首先创建一个Web 项目,或者创建一个Web Service项目也行(差别就是后者在开始就设置了Web Service的调用方式)

a392864dadbbb3b8ee60d6e0e3718c12.png

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

bac0847aeeba96ebaf85148d529dce19.png

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

ba6b4cac65e616ee5ebeab9925fa6df9.png

b5d610612de1673ca04e3a96bd35351b.png

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

9787ac81934601de4e7a9540727162d5.png

e8a9ea53d80a7632b62f92897e2fbec6.png

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

b70fd63cb3b68dd6a5302f4736b3b151.png

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

f4a529e32bdb5190eda7abec7608f666.png

4c3b0f4724f9277e418fd4565e2a2e4f.png

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

6a90fde08f14b7d39d02644fb5689f65.png

c01681c563da7a5d990744bd03f88f85.png

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

fa95b4db4cc46657082a544b642c8c2b.png

e7fc238f79736facd631ae1af133f48a.png

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

c268f636853bedadc82cb4e548eeb038.png

(二)客户端的创建

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

be885f4cd1e78ec7d21d6a1affd28fc8.png

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

04128e1a85c67a3fd8973f883f085d21.png

85d8fa2e32f641dca023917dd4a758e9.png

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

c4ee659edeec51083c2e2d4b6470217b.png

main方法的第一行是获取服务的对象;第二行是获取服务的端口;第三行是调用Web Service服务获取返回值;第四行由于我这边返回的是个字符串,所以打印出来看具体结果。

到此,打完收工!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159658.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一比一还原axios源码(八)—— 其他功能

    到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。一、withCredentials这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请

    2022年3月25日
    42
  • 渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?

    渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?渲染杂谈 early z z culling hi z z perpass 到底是什么 之前一直被这几个和深度缓存 z buffer 相关的概念搞得神魂颠倒 今天在翻阅 Real TimeRenderin 时碰巧碰巧看到了这部分的讲解 硬着头皮看了看 姑且算是讲几个概念分清楚了 以我的记性估计下周就全忘了 所以打算顺手记下来 这四种技术本质上都是解决传统渲染管线中的同一个问题 过度绘制 OverDraw 一个经典的渲染管线通常会依次经历顶点阶段 光栅化 片元阶段和逐像素处理 其中片元阶段会进

    2025年10月20日
    2
  • 面试TodoList

    面试TodoList

    2021年5月26日
    95
  • android textwatcher 获取当前控件,android api解析之TextWatcher

    开发android有几年了,但是从来没有整理过,一直是写写写.从今天起开始慢慢整理,总结之处如有错误请指出,谢谢TextWatcher在什么时候会被调用?TextWatcher在edittext内容发生变化时会被调用TextWatcher一共有三个方法beforeTextChanged(CharSequences,intstart,intcount,intafter)在文本变化前调用…

    2022年4月7日
    63
  • C# Winform界面美化(借助IrisSkin实现)

    C# Winform界面美化(借助IrisSkin实现)一.添加控件IrisSkin4.dll。方法:先把IrisSkin4.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin4.dll文件…..).IrisSkin4.dll文件最好放在当前项目bin\Debug文件中.1.右键“工具箱”→“添加选项卡”改名为→“我的皮肤”。2.右键“皮肤”→“选择项”弹出对话框3.点击“浏览“→找到IrisSkin…

    2022年5月8日
    174
  • forkjoin用法_数组join方法

    forkjoin用法_数组join方法Fork/Join是一个分而治之的任务框架,如一个任务需要多线程执行,分割成很多块计算的时候,可以采用这种方法。动态规范:和分而治之不同的是,每个小任务之间互相联系。工作密取:分而治之分割了每个任务之后,某个线程提前完成了任务,就会去其他线程偷取任务来完成,加快执行效率。同时,第一个分配的线程是从队列中的头部拿任务,当完成任务的线程去其他队列拿任务的时候是从尾部拿任务,所以这样就避免了竞争。在Java的Fork/Join框架中,使用两个类完成上述操作:  1.ForkJoinTask:我们要使用F

    2022年9月21日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号