創建服務端
一、file–>new–>project
二、點擊next后輸入服務端名,點擊finish,生成目錄如下
三、在 HelloWorld.Java 文件中右擊,選 Tools 的WebServices ,再選 Generate Wsdl From Java Code ,確定
點擊ok會自動給我們生成HelloWorld.wsdl,畫紅線處注意
四、配置tomcat,此處不多說,主要是配置好tomcat后還需要加入 Axis 的庫
點擊右下角fix即可,重新啟動 tomcat ,在瀏覽器中輸入:http://localhost:8888/services ,出現如下信息,代表部署成功。
點擊HelloWorld (wsdl)可看到相應的信至此,服器端的Web Service就創建好了,下面我將繼續講解如何創建客戶端的Web Service!
創建客戶端:
一、file–>new–>project
輸入客戶端項目名,finish即可,項目創建成功會自動跳出如下界面,手動可以右鍵項目–>webService–>Generate Java Code From Wsdl 即可
這里的地址要改為:http://localhost:8888/myWebservice/services/HelloWorld?wsdl
然后點擊你的項目名稱郵件 選擇如下,也可以點擊Tools里面的Webservice
導入之前創建的服務端的wsdl文件即可,是咱們之前Service項目里的文件
點擊ok,idea會幫我們生成好相對應的代碼,測試類如下:
這是經過改動后的代碼。
package example; import com.HelloWorldServiceLocator; import com.HelloWorld_PortType; public class HelloWorldClient { public static void main(String[] argv) { try { HelloWorldServiceLocator locator = new HelloWorldServiceLocator(); HelloWorld_PortType service=locator.getHelloWorld(); // If authorization is required //((HelloWorldSoapBindingStub)service).setUsername("user3"); //((HelloWorldSoapBindingStub)service).setPassword("pass3"); // invoke business method String str = service.sayHelloWorldFrom("xulifeng"); System.out.println(str); } catch (javax.xml.rpc.ServiceException ex) { ex.printStackTrace(); } catch (java.rmi.RemoteException ex) { ex.printStackTrace(); } } }
運行后會發現沒有導入jar包,進行導入
切記在運行時,將地址改為自己的網絡地址:(這個點坑了我好久,第一次學也不太明白)改動后就成功了
運行截圖: