ホームページ > php教程 > PHP开发 > Webサービスの動作原理と例

Webサービスの動作原理と例

高洛峰
リリース: 2016-12-15 14:58:51
オリジナル
1505 人が閲覧しました

I Web サービスの動作原理










Webサービスの動作原理と例










Web サービス、XML Web サービス WebService とも呼ばれますは、インターネットやイントラネットから他のシステムから受信できる軽量な独立通信技術です。はい: SOAP を介して Web 上で配信され、WSDL ファイルを使用して記述され、UDDI を介して登録されるソフトウェア サービス。

XML: (拡張マークアップ言語) 拡張マークアップ言語。短期の一時的なデータ処理と World Wide Web にとって、これは Soap の基礎です。

Soap: (シンプル オブジェクト アクセス プロトコル) シンプル オブジェクト アクセス プロトコル。 XML Web Serviceの通信プロトコルです。ユーザーが UDDI を通じて WSDL 記述ドキュメントを見つけると、SOAP を通じて作成した Web サービス内の 1 つ以上のオペレーションを呼び出すことができます。 SOAP は、XML ドキュメントの形式でメソッドを呼び出すための仕様であり、HTTP(S) や SMTP などのさまざまな基礎となるインターフェイスをサポートできます。

WSDL: (Web サービス記述言語) WSDL ファイルは、一連の SOAP メッセージとその交換方法を記述する XML ドキュメントです。ほとんどの場合、ソフトウェアによって自動的に生成され、使用されます。

UDDI (Universal description, Discovery, and Integration) は、主に Web サービスプロバイダーとユーザーを対象とした新しいプロジェクトです。ユーザーが Web サービスを呼び出す前に、サービスにどのビジネス メソッドが含まれているかを判断し、呼び出されるインターフェイス定義を見つけて、サーバー側でソフトウェアをコンパイルする必要があります。UDDI は、システムがそれに基づいて対応するサービスを見つけるようにガイドするメカニズムです。説明文書。 UDDI は、SOAP メッセージング メカニズム (標準 XML/HTTP) を使用して、登録情報を公開、編集、参照、検索します。 XML 形式を使用してさまざまなタイプのデータをカプセル化し、それを登録センターに送信するか、登録センターが必要なデータを返します。


2. 呼び出し原則




完全な Web サービスの実装には、次の手順が含まれます。

◆ Web サービス プロバイダーは、Web サービスを設計および実装し、Web サービス仲介者を通じて正しくデバッグされた Web サービスを公開します。 UDDI 登録センターに登録する (リリース)

◆ Web サービスの要求者は Web サービス仲介者に特定のサービスを要求し、仲介者は要求に従って UDDI 登録センターに問い合わせて、要求者の要求を満たすサービスを見つけます。 (発見)

◆ Web サービス仲介者は、条件を満たす Web サービスの記述情報を Web サービス要求者に返します。記述情報は WSDL で記述されており、Web サービスをサポートするさまざまなマシンで読み取ることができます。 ◆ Webサービス仲介者から返された情報を利用する 記述情報により、対応するSOAPメッセージが生成され、Webサービスプロバイダに送信され、Webサービスの呼び出しが実装されます(バインディング)


◆ Webサービスプロバイダは、対応するWebサービスを実行します。 SOAPメッセージに従ってサービス結果をWebサービスリクエスタに返します。 (バインディング)

3. 呼び出しメソッド:

1. Net (C#) で GET/POST/SOAP を使用して WebService を動的に呼び出すためのシンプルで柔軟なメソッド

WebService を呼び出す方法は 3 つあります

Webサービスの動作原理と例1) . httpget

2). httppost

3). httpsoap

soap の利点は、構造化データを渡すことができることです。

ちなみに、soap は最終的に HTTP を使用して送信します。 手順:

1. 開発に必要な jar パッケージを準備します [apache-cxf-2.5.9 ダウンロード]

Webサービスの動作原理と例

2. Web サービス ビジネス インターフェイスを開発し、@WebService を使用します。メソッドを修正します。 🎜
package com.ywx;  
  
import javax.jws.WebService;  
  
@WebService  
public interface HelloWorld {  
    String sayHi(String name);  
}
ログイン後にコピー
🎜3. このメソッドの実装クラスも @WebService で変更し、実装するインターフェイスとサービス名を指定する必要があります。 🎜
package com.ywx.impl;  
  
import java.util.Date;  
  
import javax.jws.WebService;  
  
import com.ywx.HelloWorld;  
@WebService(endpointInterface="com.ywx.HelloWorld",serviceName="HelloWorldWs")//指定webservice所实现的接口以及服务名称  
public class HellowWorlds implements HelloWorld{  
  
    @Override  
    public String sayHi(String name) {  
        return name+"您好!现在时间是:"+new Date();  
    }  
  
}
ログイン後にコピー
🎜4. Web サービスの関数を公開します。Web サービスを公開する関数を実行します: 🎜
package com.ywx.lee;  
  
import javax.xml.ws.Endpoint;  
  
import com.ywx.HelloWorld;  
import com.ywx.impl.HellowWorlds;  
  
public class ServiceMain {  
    public static void main(String args[]){  
        HelloWorld hw = new HellowWorlds();  
        //调用Endpoint的publish方法发布Web Service  
        Endpoint.publish("192.168.1.7/vashon", hw);  
        System.out.println("Web Service暴露成功!");  
    }  
}
ログイン後にコピー
🎜 次に、ブラウザを実行して、http://192.168.1.7/vashon?wsdl と入力して、結果を表示します。ドキュメントが正常に生成されたということは、Web サービスが正常に公開されたことを意味します。 🎜🎜🎜🎜

二、使用CXF开发Web Service客户端:

步骤:

1、新建一个客户端工程

2、调用CXF提供的wsdl2java工具或使用eclipse/myeclipse的new Web Service生成客户端代码(这里使用第二种方式):

Webサービスの動作原理と例

输入wsdl链接:

Webサービスの動作原理と例

点击next:

Webサービスの動作原理と例

选择生成客户端代码的位置:

Webサービスの動作原理と例

点击finish,生成客户端代码如下:

Webサービスの動作原理と例

3、在客户端写测试类测试:

package com.ywx.test;  
  
import java.rmi.RemoteException;  
  
import com.ywx.HelloWorldProxy;  
  
  
public class TestService {  
    public static void main(String args[]){  
        HelloWorldProxy h = new HelloWorldProxy();  
        try {  
            String s = h.sayHi("yangwenxue");  
            System.out.println("调webservice:"+s);  
        } catch (RemoteException e) {  
            e.printStackTrace();  
        }  
    }  
}
ログイン後にコピー

运行结果(传入一个参数,调用Web Service返回的字符串结果如下):

Webサービスの動作原理と例

其调用生成的格式已经有服务端定义好了,看上面贴出来的代码或者下面的截图说明:

Webサービスの動作原理と例

Web Service服务端和客户端工程结果截图如下:

Webサービスの動作原理と例



更多Webサービスの動作原理と例相关文章请关注PHP中文网!

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート