web service

項(xiàng)目結(jié)構(gòu)

1 創(chuàng)建服務(wù)端

  • 1.1 創(chuàng)建weather接口
package com.lm.ws;

public interface WeatherInterface {
    public String queryWeather(String cityName);
}
  • 1.2 創(chuàng)建實(shí)現(xiàn)類(lèi)
    @WebService注解表示該類(lèi)是一個(gè)服務(wù)類(lèi),需要發(fā)布其中的public的方法
package com.lm.ws;
import javax.jws.WebService;

@WebService
public class WeatherInterfaceImpl implements WeatherInterface {

    public String queryWeather(String cityName) {
        System.out.println("服務(wù)端:"+cityName);
        String weather = "晴";
        return weather;
    }
}
  • 1.3 發(fā)布服務(wù),Endpoint.publish(服務(wù)地址,實(shí)現(xiàn)類(lèi));
package com.lm.ws;
import javax.xml.ws.Endpoint;

public class WeatherService {
    public static void main(String[] args) {
        Endpoint.publish("http://127.0.0.1:12345/weather", new WeatherInterfaceImpl());
        System.out.println("web service success");
    }
}
  • 1.4 閱讀WSDL說(shuō)明書(shū),WSDL說(shuō)明書(shū)地址為服務(wù)地址?wsdl,示例:http://127.0.0.1:12345/weather?wsdl

2 創(chuàng)建客戶(hù)端

  • 2.1 客戶(hù)端開(kāi)發(fā):創(chuàng)建客戶(hù)端項(xiàng)目(代碼由jdk提供的wsimport生成)

  • 2.2 打開(kāi)命令窗口cmd,進(jìn)入所創(chuàng)建項(xiàng)目的src目錄下,我的項(xiàng)目所在目錄是C:\hdel_scm\workspace_new\weather_wsimport

    cmd操作

  • 2.3輸入wsimport -s . wsdl說(shuō)明書(shū)地址,示例:wsimport -s . http://127.0.0.1:12345/weather?wsdl,這里的.是代表當(dāng)前目錄,表示在src目錄下生成客戶(hù)端代碼

  • 2.4 使用客戶(hù)端代碼調(diào)用服務(wù)端

    • 創(chuàng)建服務(wù)視圖,視圖是從service標(biāo)簽的name屬性獲取
    • 獲取服務(wù)實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)類(lèi)從portType的name屬性獲取
    • 獲取查詢(xún)方法,從portType的operation標(biāo)簽獲取
package com.lm.client;

import com.lm.ws.WeatherInterfaceImpl;
import com.lm.ws.WeatherInterfaceImplService;

public class WeatherClient {
    public static void main(String[] args) {
        //創(chuàng)建服務(wù)視圖
        WeatherInterfaceImplService weatherInterfaceImplService = new WeatherInterfaceImplService();
        //獲取服務(wù)實(shí)現(xiàn)類(lèi)
        WeatherInterfaceImpl weatherInterfaceImpl = weatherInterfaceImplService.getPort(WeatherInterfaceImpl.class);
        //調(diào)用查詢(xún)方法
        String weather = weatherInterfaceImpl.queryWeather("上海");
        System.out.println(weather);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一,解釋?zhuān)篧ebService是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)。 所謂跨編程語(yǔ)言和跨操作平臺(tái),就是說(shuō)...
    君滿(mǎn)樓001閱讀 352評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • web service 相關(guān) 什么是Web Service? 答:從表面上看,Web Service就是一個(gè)應(yīng)用程...
    niuben閱讀 1,091評(píng)論 0 3
  • 不知道各位女同胞有沒(méi)有這樣的感覺(jué),逢年過(guò)節(jié),特別是過(guò)年的時(shí)候,在婆家其樂(lè)融融的氛圍里總是帶有那么一絲尷尬,而這...
    尛小小2017閱讀 851評(píng)論 3 3
  • 時(shí)間管理第8講,主講如何進(jìn)行收集,并按事情重要程度進(jìn)行排程。排程之后與突然出現(xiàn)的緊急事件沖突了如何處理
    做最完美的自己_帥閱讀 172評(píng)論 0 0

友情鏈接更多精彩內(nèi)容