目標:JDKによって、Webサービスのサービスを公開します
1は、インタフェースの作成
2を、実装クラスのWebサービスを作成し、@ +
3、発行サービスを
IWeatherService.java
パブリック インターフェースIWeatherService { パブリック文字列のクエリ(文字列cityName)。 公共の文字列のqueryother(文字列のcityname)。 }
WeatherServiceImpl.java
輸入javax.jws.WebService; @WebService パブリック クラス WeatherServiceImpl 実装IWeatherService { @Override 公共の文字列のクエリ(文字列cityName){ System.out.printlnは( "查询!" + cityName)。 リターン "121212" ; } @Override パブリック文字列queryother(文字列cityname){ // TODO自動生成方法スタブ リターン "1212" + cityname。 } }
リリース:
パブリック クラスメイン{ 公共の 静的な 無効メイン(文字列[] args)を{ Endpoint.publish( "にhttp:// localhost:8080 / weatherservice"、新WeatherServiceImpl()); System.out.println( "发布成功!" ); } }
ブラウザに入力します。
http:// localhostを:?8080 / weatherservice WSDL
サービス命令
インタフェース名:WeatherServiceImplService
portTypeの以下のクラス名:WeatherServiceImpl
二つの方法:クエリとqueryother
第二に、目標:プログラミングによってサービスにアクセスします
1、クライアントコードの生成
コマンドを:wsimportの
SRCの下で、現在のプロジェクトのパスにcmdで、
コマンドを入力し、
wsimportの-s HTTP :. // localhostを:8080 / WSDL WeatherService?
コマンドラインcmdを入力します。
SRCの下にある現在のクライアント側のプロジェクトに
输入:wsimportの-sを。http:// localhostを:?8080 / weatherservice WSDL
日食に戻る、クライアントの更新プロジェクトを作成します
コールWebサービス
main.java
import com.huk.webservice.WeatherServiceImpl; import com.huk.webservice.WeatherServiceImplService; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub //1,创建服务视图 WeatherServiceImplService webservice = new WeatherServiceImplService(); //2,获取服务实现类 WeatherServiceImpl port = webservice.getPort(WeatherServiceImpl.class); //3,调用实现方法 String query = port.query("江西"); System.out.println(query); String queryother = port.queryother("南昌!"); System.out.println(queryother); } }
三,目标:webservice 服务更新了,怎么办
需要从新生成client代码
先将之前的删除,在用cmd重新生成
利用命令 wsimport -s . http://localhost:8080/weatherservice?wsdl