利用IDEA創建Web Service服務端和客戶端的詳細過程


創建服務端

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

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導包即可,下面在進行一些代碼修改

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

  改成

HelloWorld_PortType service = locator.getHelloWorld();
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中加入依賴

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

  得到最后的結果為

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM