WebServiceサービス構築

16258 ワード

機能紹介:WebServiceのインタフェースを提供し、他の人が呼び出すことができます.知識点:
  • WebServiceの使用
  • XMLドキュメントアクション
  • Spring+jdbcリンクデータベースの注入
  • データベース操作jdbcTemplate操作
  • を使用
    システム:Win 7
    準備ツール:eclipse、下図は私のIDEで、自分でeclilpseの公式サイトでダウンロードしました.
    http://www.eclipse.org/
    WebService服务搭建_第1张图片
    データベース:MyQSL 5.6プロジェクトはOracleで、このDemoは私のパソコンで構築され、主に総括と思い出に使われています.oracleに詳しくないので(後で主にoracleを使う)、今はmysqlに代わってください.mysql公式サイトで解凍版をダウンロードすると、データベースのインストールはあまり紹介されず、ネット上にはたくさんあります.
    Tomcat:apache-tomcat-7.0.64
    環境構築
  • はeclipseで開発されているので(MyEclipseに比べて軽く、多くの機能は自分でプラグインや構成をダウンロードする必要がある)、まず構成についてお話ししましょう.
  • tomcatをダウンロードしてディレクトリの下に置きます.ここで説明するのは、後でわけのわからない問題が発生しないように、保存されているディレクトリは英語のディレクトリでスペースを持たないほうがいいということです.私のtomcatディレクトリ:D:tomcatapache-tomcat-7.064
  • eclipseでtomcatを構成する
  • step 1:eclipse->Window->Preferences->Server-Runtime Environmentsを開く図WebService服务搭建_第2张图片
  • Step 2:私が配置したので、すでに3つのApcache Tomcatが存在します.Addをクリックしてバージョンを選択し(何の役に立つか分かりません)、あなたがダウンロードしたtomcatに対応して、next WebService服务搭建_第3张图片
  • Step 3:Browseをクリックして経路の中でDirectoryを見つけ、FinishをクリックすればOKです.ここで一言、私が使っているJREバージョンは1.7です.自分のJREを表示する:win+rを押してcmdを入力して車に戻って、コマンドラインのインタフェースに入ってjava-version 这里写图片描述 WebService服务搭建_第4张图片下図の中で配置したばかりのTomcat WebService服务搭建_第5张图片
  • を入力します

    WebプロジェクトWebService服务搭建_第6张图片を作成し、構成したばかりのTomcatを選択し、nextを選択します.WebService服务搭建_第7张图片 WebService服务搭建_第8张图片ここで注意が必要なのは、EclipseとMyEclilpseは少し違います.Eclipseが作成したWebプロジェクトのデフォルトで使用されるパスはWebContentですが、MyEclipseのデフォルトで使用されるのはWebRootです.MyEclipseからエクスポートされたプロジェクトがEclipseを走る場合は、構成を変更する必要があります.現在のプロジェクトのプロファイルです.ワークスペースで現在のアイテムを検索するsettings->org.eclipse.wst.common.component下図の緑の部分
    WebService服务搭建_第9张图片
    WebService服务搭建_第10张图片
    クライアントテストコード
  • は、まず、どのような結果を得る必要があるかを明確にする.リモートクライアントはWebServiceインタフェースを呼び出し、パラメータを入力し、目的の結果を返します.
  • クライアント呼び出し方式:xfire方式を使用します.xfireのjarパッケージが必要です.必要なjarパッケージをWebContent/WEB-INF/libディレクトリに直接コピーし、テストクラスに導入すれば次の
  • のコードになります.
    package com.test;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.codehaus.xfire.client.Client;
    
    
    public class WebServiceTest {
    
           public static void main(String[] args) throws MalformedURLException, Exception {
                 // TODO Auto-generated method stub
    
                String url = "http://localhost:8080/WebServiceDemo/services/queryPeople?wsdl" ;
                String xml = "xiaoming" ;
                Client c = new Client(new URL(url));
                Object[] o = c.invoke( "queryPeopleInfo", new Object[]{xml});
    
                 //     queryPeopleInfo          ,xml      。
                 //    ,o     ;  ,   。  WebService    ,        。
    
                 if(o !=null){
                      String result = o [0].toString();
                      System. out.println(result );
                } else{
                      System. out.println("    " );
                }
          }
    }

    WebServiceサービスはまだ構築されていないため、すべての実行結果は見つかりませんでした.
    WebServiceの作成
    WebService服务搭建_第11张图片
    Firstは、プロジェクトに必要なjarパッケージをWebContent/WEB-INF/libにコピーします.本Demoに必要なjarパッケージはコードにあります
  • 記述コードはsrcディレクトリの下に3つのパケットを作成し、それぞれcomである.service、com.service.impl、com.テスト中com.testはクライアントのテストプログラム(もちろん1つのプロジェクトを単独で作成してテストすることもできる)comである.サービスは定義されたWebServiceインタフェース、comである.service.implは、具体的に実装されるクラスパケット
  • である
  • インタフェース定義:nameによってその人の関連情報
  • を問い合わせる.
    package com.service;
    
    public interface QueryPeople {
    
           public String queryPeopleInfo(String name );
    }
    
  • 実装:
  • package com.service.impl;
    
    import com.service.QueryPeople;
    
    public class QueryPeopleImpl implements QueryPeople{
    
           @Override
           public String queryPeopleInfo(String name ) {
                 // TODO Auto-generated method stub
    
                 //             
    
                 return "      " + name + "    ";
          }
    }
    

    プロファイル
  • WebContent/WEB-INFの下にファイルwebを作成する.xml.内容は以下の通りです:(コードディレクトリと名前が変更されていない場合は、下の内容をそのままコピーすればいい)
  • 
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           version="2.4"
           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
           <servlet>
                 <servlet-name> XFireServletservlet-name >
                 <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet servlet-class>
                 <init-param>
                       <param-name> configparam-name >
                       <param-value> services.xmlparam-value >
                 init-param>
                 <load-on-startup> 0 load-on-startup>
           servlet>
           <servlet-mapping>
                 <servlet-name> XFireServletservlet-name >
                 <url-pattern> /services/*url-pattern >
           servlet-mapping>
    
    
           <welcome-file-list>
                 <welcome-file> index.jspwelcome-file >
           welcome-file-list>
    web-app>
    

    構成説明:ラベルのを構成しない場合、デフォルトのservices.xmlパスはWebContent/WEB-INF/META-INF/xfire/services.xml(具体的にどこで構成されているのかは不明ですが、知っている仲間が教えてくれます)
  • 同じディレクトリの下にファイルservicesを作成する.xmlこのファイルはWebServiceの主なプロファイルであり、提供されるインタフェースと具体的な実装クラスはここで構成されています.
  • 
    <beans xmlns="http://xfire.codehaus.org/config/1.0" >
    
           
           <service>
                 <name> queryPeoplename >
                 <serviceClass> com.service.QueryPeopleserviceClass >
                 <implementationClass>
                      com.service.impl.QueryPeopleImpl
                 implementationClass>
                 <style> wrappedstyle >
                 <use> literaluse >
                 <scope> applicationscope >
           service>
    
    beans>
    

    それぞれが1つのサービスであり、nameが提供するサービス名であり、serviceClassがサービスであるインタフェースであり、implementationClassが具体的な実装であるクラスである.
    これで、WebServiceのフレームワークがほぼ完成しました.次はプロジェクトを実行して、テストしましょう.
    プロジェクトの実行
  • 右クリックアイテムRun AS->Run on server WebService服务搭建_第12张图片実行するアイテムを右側のConfiguredに移動->finishでTomcatが起動します.コンソールのログにエラーが報告されているかどうかを確認し、エラーがあればエラーに基づいて問題を特定します.運転後の画面は下図:WebService服务搭建_第13张图片
  • 私たちが望んでいる結果ではないようです.
                :  tomcat  +    ,       WebService  
    

    so
              services        :http://localhost:8080/WebServiceDemo/services        services   ,           services    web.xml     XFireServlet  ,          
    

    WebService服务搭建_第14张图片インタフェースが出てきました.ここまでは構成が成功したことを示しています.[wsdl]をクリックすると、次のWebService服务搭建_第15张图片のインタフェース情報が表示されます.
    OK、最初のクライアントテストコードに戻ります.
    コードを実行し、予想された結果は「クエリー(入力値)成功」の結果: xiaoming テスト成功!
    次編では,このコードに基づいて補完し,Spring注入方式を用いてデータベースクエリを行う.
    ダウンロードリンク:http://download.csdn.net/detail/crazycodings/9224379