通過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