博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
idea写java webservice_WebService系列之Idea 创建Webservice server 和 WebService Client
阅读量:5108 次
发布时间:2019-06-13

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

WebService 作为一项流行的通信技术,被大多数应用所采用。本文将从Idea 创建WebService 的Server 和Client 开始介绍,后续将会详细介绍WebService的一系列配置,达到由浅入深的效果。

一、创建WebService Server

1、打开Idea,选择“create a new project”:

248430137aade1c80c6169b31198e5a9.png

2、点击左边菜单栏“java”,选择右边“Web Application”,找到"WebServices”并选中

2b0dc0b839a598d81590c46a1eed2967.png

此时注意下方“Version” ,我们选择使用“Apache Axis”(为什么要选择这个?)

3、填写本地创建的项目文件夹以及项目名称

ab9829fed6231acfd65a115045cfd42d.png

点击“finish”,即 WebService的“Server”创建成功。

创建完成后,界面显示如下:

437bc42dd9f640a3be8cd3d490710828.png

可以看到这是一个Web项目,自动生成了HelloWorld.java文件,里面包含一个方法,接收一个参数,并返回"Hello, world, from "+输入的信息,并且生成了Server 的配置文件“server-config.wsdd”。

4、生成服务访问方式以及发布提供各种方法

打开“HelloWorld.java”,右击鼠标,选择“WebServices”,选择“Generate Wsdl From Java Code”。

0c7761b5edbbcda6eb4bfa828091cac5.png

出现如下界面,这就是将要发布的服务以及方法的定义,例如端口为9000.

ed1dcb55fee67b29fa0cebe9fce5a845.png

点击"OK",生成“HelloWorld.wsdl”文件,里面定义了我们要发布的方法的输入输出规则等信息。(具体的xml文件的介绍请关注后续文章介绍)

0efb9299c8291b75df2ab551f6ccb302.png

5、打包项目

至此,我们的WebService服务已经生成,因为这是一个Web项目,因此需要使用Tomcat 进行发布。请注意,发布之前,需要将使用的jar 包打包进去。选中项目,右击,选择“Open Module Settings”.

f3f87b3b16a2711c87ce0d61e4a4b623.png

看到左边“Problems”标记为“1”,说明有一些需要处理的问题,点击可看到如下界面,意思是有jar 包没被打包进发布文件,点击Fix,完成修复。

bef7ead5be5ee9a95bafcf534f2322ba.png

6、发布web项目

以下流程为正常的Web项目发布过程,看截图,具体不做过多介绍,需要注意的是端口号改成我们之前发布Server时一样的端口,此处是9090。

ffbf3be7f9341c52c16945da0f158650.png

7b6b27cc71865ba16ed689877f67df12.png

7、运行项目,校验结果

在浏览器中输入 http://localhost:9000/services,出现如下画面

a6374a934b5487dae911da9c08d8bb91.png

说明发布成功,已经有了所有的该webservice 的信息。

点击HelloWorld后面的超链接,效果如下:

dd9b0e23cd16d164e3204cc828315033.png

至此,server端创建并发布运行成功。

二、创建WebService Client

1、创建客户端项目

0c698a31eea903fdff92ab8ac8527238.png

注意“Version”的选择和Server相同。

f7d3da6a8effe49082d1192944d3d4ae.png

点击“Finish”完成创建。

2、客户端配置Server连接信息

创建完成,自动弹出如下界面,需要填写Server的信息

939fcc10e6ac03ff7b7dd7abf677ae12.png

第一个输入框,点击后面的选择按钮,选择我们之前创建Server的wsdl文件即可,自动会从wsdl文件中找到对应的访问url信息。

e1c9a7a2ae1920f674a4ab46158eedbf.png

因为我们之前创建server时,并未配置用户名和密码信息,因此此处我们用户名和密码不用输入。(用户名密码配置后续文章会介绍)

6d821bcce407fa29548c4b6cafba5000.png

“Package prefix ”需要填写的是自动创建的文件所在的包名,此处填写的“com.webservice”。点击“Ok”,完成创建客户端。

3、引入包并修改原方法

a00ca41a3d2b3d1a01e51a6b24c50750.png

从上图可以看出,创建完成后会报很多错误信息,不用紧张。首先按“Alt+Enter”组合键,引入相应的包,然后将其中的部分内容替换成我们当前server的调用,即将

Activator service = locator.get();

// If authorization is required

//((HelloWorldSoapBindingStub)service).setUsername("user3");

//((HelloWorldSoapBindingStub)service).setPassword("pass3");

// invoke business method

service.businessMethod();

替换成

HelloWorld_PortType helloWorld_portType = locator.getHelloWorld();

String message = helloWorld_portType.sayHelloWorldFrom("client1");

System.out.println(message);

至此,客户端配置完成。

4、运行客户端,访问Server

819b35c2eac59498abe37c85f2c48444.png

因为这就是一个普通的java项目,通过main方法执行,因此直接右击选择Run“HelloWorldClient.main()”。

运行结果如下

5cc16312408cbb551661f5b4ce10d988.png

可以看到,输出的信息是服务器返回的信息,客户端配置正确。

至此,一个完整的webservice 所包含的Server和Client配置完成,后续文章会介绍其各种配置以及安全问题,敬请关注。

转载地址:http://pqjdv.baihongyu.com/

你可能感兴趣的文章
快排序
查看>>
Cobbler自动化批量部署CentOS6.5系统
查看>>
遇到Elements in iteration expect to have 'v-bind:key' directives.' 这个错误
查看>>
Mekong River Cruise
查看>>
Message,MessageQueue,Handler,Looper,Thread,ThreadLocal
查看>>
阅读笔记
查看>>
[转]mysql的查询、子查询及连接查询
查看>>
Effective C++:规定24:如果所有的单位都需要的参数类型转换,使用请做到这一点non-member功能...
查看>>
数据库锁的粒度
查看>>
承上启下——牛腩新闻公布系统总结
查看>>
递归算法浅谈
查看>>
人数最多的10个专业,了解一下
查看>>
CentOS6.x文件系统和目录结构详解
查看>>
Vue+Element+Select获取选中的对象
查看>>
smarty实例教程
查看>>
MSDTC相关配置参考
查看>>
mysql有关show的用法
查看>>
(转)J2EE的13种核心技术
查看>>
Fiddler启动后Chrome浏览器无法浏览网页的解决方案
查看>>
Windows系统下IIS 6.0+MySql 5.0.45+PHP 5.2.5+ZendOptimizer 3.3.0a+phpMyAdmin 2.11.4环境配置安装指南...
查看>>