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服务获取返回值;第四行由于我这边返回的是个字符串,所以打印出来看具体结果。

到此,打完收工!

本文来源weixin_39933895,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/209617
0

发表评论