Intellij Idea 下 生成WebServiceClient (WS客户端)

上一篇说到 服务端的配置  现在来说一下 客户端   客户端简单的多 只需要相关的jar包   


原料 

  1.一个 可用的webService Server端  我这里是 :

http://localhost:8085/services/HelloWorldService?wsdl

这是在另一个服务端工程中的服务类  逻辑代码为 :

package example;
/**
  * Created with IntelliJ IDEA. 
  * Author: DAX
  *   Date: 2016/12/10
  *   Time: 14:26
  */ 


public class HelloWorld {
  public String sayHelloWorldFrom(String from) {
    String result = "Hello, world, from " + from;
    System.out.println(result);
    return result;
  }
}


     2.  Intellij Idea 2016  2.3


步骤如下:

1.新建个工程    如图:    选择Apache Axis     idea 会自动现在所需要的 基础jar包


Intellij Idea 下  生成WebServiceClient (WS客户端)


2.点击下一步 进入工程后 会有下面的 对话框    先说明下 框中参数的作用:


Intellij Idea 下  生成WebServiceClient (WS客户端)


3.如果你很清楚 这些参数的作用 就直接设置  就行了      也可以关掉 从这里设置  想建在哪个包 自己就那个包点击右键如下选择


Intellij Idea 下  生成WebServiceClient (WS客户端)


点击后 出现如下图所示   相关的参数   上面已经介绍过了

Intellij Idea 下  生成WebServiceClient (WS客户端)


4.点击OK生成客户端   其中会有不少错误  下面的错误区域  需要自己改 IDE不是万能的:

Intellij Idea 下  生成WebServiceClient (WS客户端)


如果 你生成了 TestCase 测试类 (上图倒数第二个类) 也是会报错的  因为你没有加入JUnit框架    IDEA的解决方法很简单  在类上增加一个@Test注解  然后用万能键 ALT+Enter 选择 JUnit4   加入  然后删除 @Test注解  就可以 进行单元测试了


我修改后的代码如下:

package cn.ws.client;
/**
  * Created with IntelliJ IDEA. 
  * Author: DAX
  *   Date: 2016/12/10
  *   Time: 15:16
  */ 


public class App {
  public static void main(String[] argv) {
    try {
      HelloWorldService_ServiceLocator locator = new HelloWorldService_ServiceLocator();
     HelloWorld  service= locator.getHelloWorldService();
      System.out.println(service.sayHelloWorldFrom("hello   WebServiceClient"));
    } catch (javax.xml.rpc.ServiceException | java.rmi.RemoteException ex) {
      ex.printStackTrace();
    }
  }
}

自己点击传参数测试就行了  运行结果如下:


Intellij Idea 下  生成WebServiceClient (WS客户端)