2011-01-06 7 views
7

SOAPとWSHttpBindingを使用してWCFサービスへのJQuery呼び出しを作成できますか?SOAPとWSHttpBindingを使用してWCFサービスへのjQuery呼び出しを作成できますか?

もしそうなら、どうですか? (Web上の例?)そうでない場合は、どうしてですか?

this postからわかるように、私はそれを動作させることはできません。

私はSAMLとWS-Securityをサポートできるように、WSHttpBindingを使用できるようにする必要があります。 basicHTPBindingがws-Securityをサポートしていないことは私の理解です。

他のすべての例では、json(これは簡単に使用できます)またはbasicHttpBindingを使用しています。

OGC 07-118r8規格に準拠するには、SOAPとws-Securityを使用する必要があります。

+1

私はjQueryのは、人々がJS側にあまりにも多くのサーバー側の事をやろうとしているほどの人気になっていたと思います。境界を定義し、両方の世界をはっきりと区別する線を特定する必要があります。 –

+0

JavaScriptを使用してWebサービスを呼び出す方法は? – capdragon

答えて

3

WS- *とWCFの複雑さのため、.NETの組み込みWSセキュリティライブラリを活用できるサイト上の別のページへのシンプルなjQuery非同期コールバックを作成する方が簡単でしょうか?そこから、WCFエンドポイントへの呼び出しを呼び出して、結果を処理し、jQuery関数に簡単に読めるように返すことができます。

あなたがしようとしていることを言及した記事があります。

"wsHttpBinding"バインディングで公開されているサービスはWS-Security jQueryライブラリを実装していますが、 Webサービス仕様のWS- *ファミリのセキュリティバインディングでセキュリティが使用されると、要求は拒否されます.JQueryの終了時にWS-Securityを実装せずにサービスを呼び出すことはできないため、サービスメソッドを呼び出すには、セキュリティと妥協する」

http://www.codeproject.com/Articles/311908/Calling-WCF-service-exposed-with-different-binding

"...それはAJAXでは動作しませんSOAPバインディングでwsHttpBinding、。"

http://www.west-wind.com/presentations/jquery/jquerypart2.aspx

1

JavaScriptでWS *を実装することはできません!

ベスト・オプションは、サーバー上に別のバインディングを作成し、それを基本HTTPまたはWCF RESTとしてさらに公開することです。

+0

オプションはありません...クライアントは休憩ではなくWS- *を介して私と通信する必要があります。私は私の質問で言及された基準に従うことが求められます。 – capdragon

+0

JavaScriptですべての暗号化を実装したいのですか?もし可能であれば、あなたは多くの可能性を開くだろうから、おそらく金持ちになるだろうが、そうしたことが行われたかどうかは分からない。 – Aliostad

+0

あなたのポイントを参照してください...あなたの言いたいJavascriptクライアントはローカル(暗号化されていませんが、それはローカルなので気にしますか?)WCF REST WebサービスはSAML/WCF SOAP経由でリモートサーバーへのSAML認証を行います。 – capdragon

0

理論上可能である必要があります。 SAMLトークンを取得してWS-Securityを処理する方法を理解した瞬間です。 WSHttpBindingのデフォルトはsoap 1.2です。したがって、httpバインディング仕様を調べて、jquery:http://www.w3.org/TR/soap12-part2/#soapinhttpを使用してリクエストを構成する方法や、WSHttpBindingでEnvelopeVersion.Soap11を設定する方法を検討してください。がんばろう!

+0

私はSAMLトークン部分を理解していません。私は走る前に歩くほうがいいと思った。だから、私は基本的なサービスを通信したいと思っていました。私はWCFを初めて使っているので、EnvelopeVersion.Soap11は設定していませんが、これを調べます。ありがとう。 – capdragon

+0

私はSAML/WS-Securityの部分を最初に理解するでしょう。なぜなら、それはこのアプローチの大きなリスクだからです。私はそれが実現可能であることを個人的には知りません。はるかに簡単なアプローチは、jsの消費に特有の別のWCFエンドポイントを公開し、代わりに他のWCFエンドポイントを使用することです。 – alexdej

関連する問題