利用IDEA创建Web Service服务端和客户端

来源:互联网 发布:战意首测激活码淘宝 编辑:程序博客网 时间:2024/06/03 22:02

创建服务端

一、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!


创建客户端:

一、file–>new–>project

这里写图片描述

输入客户端项目名,finish即可,项目创建成功会自动跳出如下界面,手动可以右键项目–>webService–>Generate Java Code From Wsdl 即可

这里写图片描述

导入之前创建的服务端的wsdl文件即可

这里写图片描述

点击ok,idea会帮我们生成好相对应的代码,测试类如下:

package example;/**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导包即可,下面

   Activator service = locator.get();   service.businessMethod();

改成

   HelloWorld_PortType service = locator.getHelloWorld();   System.out.println(service.sayHelloWorldFrom("sdsa"));

此时运行客户端main方法还会报错,报错的原因是没有junit的jar包,我的做法是加入maven

 <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>        </dependency>    </dependencies>

用tomcat运行服务端,再用客户端进行测试即可!

这里写图片描述

0 0