上一篇说到 服务端的配置  现在来说一下 客户端   客户端简单的多 只需要相关的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客户端)_intellij idea


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


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


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


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


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

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


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

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


如果 你生成了 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客户端)_intellij idea_06