通过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 即可

 

 然后点击你的项目名称邮件 选择如下

导入之前创建的服务端的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();

  改成

HelloWorld_PortType service = locator.getHelloWorld();
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>

  得到最后的结果为


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM