jquery touch を使用して Web アプリケーションの作業を開始しました。私の Web サービスは SOAP で記述されており、アプリケーションから呼び出したいと考えています。どうすれば先に進めばよいか教えていただけますか。ajaxから呼び出すことはできますか?
2 に答える
JavaScript 環境で SOAP の複雑さを管理することは非生産的であると多くの人が考えていますが、特に SOAP Web サービスに精通していて、別の中間層フレームワークを学習する必要を避けたい場合は、そうすることができます。 ; 私が提案するライブラリはApache-CXF support for JavaScriptです。
CXF JavaScript クライアント ライブラリは、(いくつかの制限はありますが)コード ジェネレーターであり、最も簡単な形式の wsdl2js で、wsdl ファイルを取得して JavaScript を生成します。
- コンストラクター - サービス用
- メソッド - 任意のサービス操作、および
- オブジェクト - 任意の Web サービス複合要素/タイプ
スクリプトで直接呼び出すことができます。他の利用可能なツールは、Java コードのサーバー側実装 (java2js) またはオンザフライ (動的 JavaScript) で始まる JavaScript コードを生成します。
長所:
- Web サービスの実装 (CXF) に広く使用されているライブラリのコンポーネントを活用する
- 途中で別のレイヤーを避ける
- 使いやすい (wsdl に対してツールを実行し、生成されたソースをロードする)
欠点:
- クライアントは WS の URL とポートについて何も知りません。ws ranswers と thats'it の URL が必要です
- コード ジェネレーターとして、JavaScript クライアント ジェネレーターは JAXB または JAX-WS と同等です。Web サービスの抽象モデルから JavaScript オブジェクトへのマッピングを定義します。JAXB や JAX-WS とは異なり、「JavaScript バインディング」を標準化する委員会はありません。CXF バインディングは万人の好みではないかもしれません。
- 石鹸 1.1 のみ
- 認証サポートなし
ブラウザーから SOAP を使用することは技術的には可能ですが、非常に悪い考えです。SOAP プロトコルを正しく動作させるための戦いにすべての時間を費やすことになり、SOAP のすべての利点を失うことになります。
より良いアプローチは、選択したフレームワークを使用して新しい Web アプリケーションのバックエンドを構築することです。J2EE、.Net、またはその他。これらすべてのプラットフォームには、作業を行う優れた SOAP ライブラリがあります。次に、サーバー上で html ページを生成するか (古い学校の Web サイト)、静的ページを使用してデータを JSON REST API (最新の単一ページ アプリ) として公開します。
要約すると、soap はサーバー間の通信には適していますが、ブラウザとの通信には適していません。