I 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サービスを実行します。 SOAPメッセージに従ってサービス結果をWebサービスリクエスタに返します。 (バインディング)
1) . httpget
2). httppost3). httpsoap
soap の利点は、構造化データを渡すことができることです。
ちなみに、soap は最終的に HTTP を使用して送信します。 手順: 1. 開発に必要な jar パッケージを準備します [apache-cxf-2.5.9 ダウンロード] 2. Web サービス ビジネス インターフェイスを開発し、@WebService を使用します。メソッドを修正します。 🎜package com.ywx; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(String name); }
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(); } }
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暴露成功!"); } }
二、使用CXF开发Web Service客户端:
步骤:
1、新建一个客户端工程
2、调用CXF提供的wsdl2java工具或使用eclipse/myeclipse的new Web Service生成客户端代码(这里使用第二种方式):
输入wsdl链接:
点击next:
选择生成客户端代码的位置:
点击finish,生成客户端代码如下:
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 Service服务端和客户端工程结果截图如下:
更多Webサービスの動作原理と例相关文章请关注PHP中文网!