WebService之jax-ws入門
阿新 • • 發佈:2019-01-02
這是一個入門程式,只求通俗易懂,不求深入。
1、建立一個JAVA專案,並建立一個WeatherService的介面
package com.ckinghan.webService.jaxws;
public interface WeatherService {
/**
* 根據城市獲取天氣資訊
* @param city
* @return
*/
public String getWeatherInfo(String city);
}
2、建立WeatherService介面的實現類
package com.ckinghan.webService.jaxws.impl;
import javax.jws.WebService;
import com.ckinghan.webService.jaxws.WeatherService;
/**
* 注意,這裡的@WebService必須加,是要告訴系統這是個WebService的程式
*/
@WebService
public class WeatherServiceImpl implements WeatherService{
/**
* 實現介面中的方法
*/
@Override
public String getWeatherInfo(String city) {
System.out.println("接收到來自客戶端的請求資料:" +city);
return "這是個晴天";
}
}
3、建立CreateServiceTest測試類,將WebService程式進行釋出,並執行。
package com.ckinghan.webService.jaxws.test;
import javax.xml.ws.Endpoint;
import com.ckinghan.webService.jaxws.impl.WeatherServiceImpl;
public class CreateServiceTest {
/**
* 測試釋出
*/
public static void main(String[] args) {
//使用Endpoint進行釋出,引數一:訪問地址。引數二:釋出的服務
Endpoint.publish("http://localhost:12306/weather", new WeatherServiceImpl());
}
}
4、執行後,可以將釋出的地址複製一下貼上到瀏覽器上,看是否釋出成功,如果釋出成功,會出現如下介面:
6、將Client客戶端程式碼進行匯出。操作方式
- 在C盤建立一個資料夾:webService
- 開啟CMD視窗,輸入: cd c:/ 進入C盤根目錄
- 輸入cd webService 進入webService資料夾
- 常見出錯問題:連線地址寫錯,少加了?wsdl引數
- 環境變數配置不正確,如果可以使用javac -version命令正確輸出,就可以正常匯出資料。
7、將生成 的程式碼包括資料夾複製到 新建立的一個JAVA專案(webServieClient)中的src目錄下。複製過後如下:
8、建立測試類ClientTest,並執行,檢視效果:
package com.ckinghan.webservice.jaxws.impl;
public class ClientTest {
/**
* 測試WebService是否可以正常訪問
*/
public static void main(String[] args) {
//建立WebServer服務釋出的物件
WeatherServiceImplService weatherServiceImplService = new WeatherServiceImplService();
//通過WebServer的物件獲取Port,引數是wsdl檔案中指定的類
WeatherServiceImpl port = weatherServiceImplService.getPort(WeatherServiceImpl.class);
//遠端呼叫WebService伺服器的介面,獲取資料
String weatherInfo = port.getWeatherInfo("河南");
//列印獲取 的資料
System.out.println("服務端回覆:"+weatherInfo);
}
}
9、執行後效果如下:
10、測試完成。。。