2011-01-07 17 views
2

タイトルが示すように、JavaScriptを使用してSOAPサービスを呼び出す方法を理解しようとしています。私のローカルマシン上のTomcat上でSOAPサービスが実行されています。 SOAPサービスにアクセスするだけでなく、WSDLを非常に簡単にダウンロード/アクセス/読み取りすることもできます。JavaScriptを使用してSOAPサービスを呼び出す

私は今この問題で数日間壁に頭を打っています。調査中、私は短い例題を見つけましたが、どれも包括的であり、最初から最後までこれを達成する方法は詳しくはありません。それ、または私は解決策を見つけましたが、それはIEまたはMozillaでのみ機能します。

Javascript(主要なブラウザ)を使用してSOAP Webサービスを呼び出す方法はありますか?ありがとう!

(PS:私もjqueryのを使用しているあなたには、いくつかの滑らかなjQueryのツールを使ってこれを実現したい場合は、それを提案すること自由に感じなさいので)

+0

さらに詳しい情報を追加すると、さらに役立ちます。私は現在のWebページをリロードせずにサービスを使用してデータを送信して呼び出すようにしています(バックグラウンドでサービスを使用しています)。 Webサービスは、ネゴシエートしてデータベースと連携するためのものです。私はこれをやっているかもしれません - もしそうなら、私はこれをどうやってやるべきですか? – ajh007

答えて

1

これを行うことが可能であるべきであるように、SOAPはXMLだけですしかし、私はJSで書かれた既存のSOAPクライアントを認識していないよ

Aより一般的な方法は、おそらく次のようになります。

  1. JavaScriptがいずれかを使用して、サーバー側のAJAXヘルパーへの呼び出しXHRオブジェクトを開始しますGET/POSTパラメータ、またはJSONエンコードされたオブジェクト

  2. JSONまたはXMLのいずれかとし

    AJAXヘルパーを適宜、データベースやWebサービスのいずれかへの呼び出しを行い、出力に必要なデータオブジェクト(複数可)

  3. JavaScriptがレスポンスボディ(JSONまたはXML)を解析し、取り指定されたデータを使用して必要なアクション。

これは、JavaScriptから直接Webサービスを呼び出そうと比べて利点のカップルを持っている:

  • SOAP XMLがクライアントにしてから転送するより多くのデータを意味し、非常に複雑になることがあり、これかもしれません遅い接続です。特にJSONだけでなく、必要なデータだけを持つXMLスキーマも、データ使用量に関してはるかに経済的です。

  • WebServiceにあらゆる種類の認証が必要な場合は、認証の詳細がすべての訪問者に公開されます。

  • Webサービスは、通常、同じアプリケーション/サイトのフロントエンドコンポーネントとバックエンドコンポーネント間の通信ではなく、別々のシステム間の通信を標準化するために使用されます。

関連する問題