通过IDEAWebService生成客户端和服务端
Posted 丶柚子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过IDEAWebService生成客户端和服务端相关的知识,希望对你有一定的参考价值。
服务端:
一、file–>new–>project
二、点击next后输入服务端名,点击finish,生成目录如下
三、在 HelloWorld.Java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定
点击ok会自动给我们生成HelloWorld.wsdl,画红线处注意
四、配置tomcat,此处不多说,主要是配置好tomcat后还需要加入 Axis 的库
点击右下角fix即可,重新启动 tomcat ,在浏览器中输入:http://localhost:8080/services ,出现如下信息,代表部署成功。
点击HelloWorld (wsdl)可看到相应的信息
至此,服务器端的Web Service就创建好了,下面我将继续讲解如何创建客户端的Web Service!
0|1创建客户端:
一、file–>new–>project
输入客户端项目名,finish即可,项目创建成功会自动跳出如下界面,手动可以右键项目–>webService–>Generate Java Code From Wsdl 即可
然后点击你的项目名称邮件 选择如下
点击ok,idea会帮我们生成好相对应的代码,测试类如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package example; import com.HelloWorldServiceLocator; import com.sun.corba.se.spi.activation.Activator; public class HelloWorldClient { public static void main(String[] argv) { try { HelloWorldServiceLocator locator = new HelloWorldServiceLocator(); Activator service = locator.get(); // If authorization is required //((HelloWorldSoapBindingStub)service).setUsername("user3"); //((HelloWorldSoapBindingStub)service).setPassword("pass3"); // invoke business method service.businessMethod(); } catch (javax.xml.rpc.ServiceException ex) { ex.printStackTrace(); } catch (java.rmi.RemoteException ex) { ex.printStackTrace(); } } } |
此时会有报错,HelloWorldServiceLocator类是由于没有导包按alt+enter导包即可,下面在进行一些代码修改
1
2
|
Activator service = locator.get(); service.businessMethod(); |
改成
1
2
|
String str = service.sayHelloWorldFrom( "sushan" ); System.out.println(str); |
此时运行客户端main方法还会报错,报错的原因是没有junit的jar包,我的做法是加入maven
此时运行客户端main方法还会报错,报错的原因是没有junit的jar包,我的做法是加入maven
具体步骤:
1.现在项目新建一个pom.xml(最好从已有的maven项目中粘贴过来)
2.关闭项目 删除最近打开历史 重新打开这个项目
3.显示是否变味maven项目 点击 是
然后在pom中加入依赖
1
2
3
4
5
|
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version> 4.12 </version> </dependency> |
以上是关于通过IDEAWebService生成客户端和服务端的主要内容,如果未能解决你的问题,请参考以下文章
axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有啥区别。