問題タブ [wshttpbinding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - ファイアウォールを介した WCF wsHttpBinding の興味深い問題
インターネット ホスティング プロバイダーにデプロイされた Web アプリケーションがあります。この Web アプリケーションは、会社のアプリケーション サーバーにある IIS サーバーに展開された WCF サービスを使用します。会社のデータベースにデータ アクセスするために、ネットワーク担当者は、セキュリティ上の理由から、ファイアウォールを介してこの WCF サービスを公開することを許可しました。ダイアグラムは次のようになります。
[ホストされたページ] ---> (インターネット) ---> |ファイアウォール
<Public IP>:<Port-X >
| ---> [IIS と WCF サービス<Comp. Network Ip>:<Port-Y>
]
また、wsHttpBinding を使用して、そのセキュリティ機能を利用し、重要な情報を暗号化したいと考えていました。
試してみると、次のエラーが表示されます。
例外の詳細: System.ServiceModel.EndpointNotFoundException: To 'http://:/service/WCFService.svc' を含むメッセージは、EndpointDispatcher での AddressFilter の不一致により、受信側で処理できません。送信者と受信者の EndpointAddresses が一致していることを確認してください。
調査の結果、wsHttpBinding が WS-Addressing 標準を使用していることがわかりました。この標準について読んで、SOAP ヘッダーが拡張され、「MessageID」、「ReplyTo」、「Action」、「To」などのタグが含まれていることがわかりました。
クライアント アプリケーションのエンドポイントがファイアウォールの IP アドレスとポートを指定し、サービスがファイアウォールの IP とは異なる内部ネットワーク アドレスで応答するため、WS-Addressing が上記のメッセージを送信すると推測しています。これは非常に優れたセキュリティ対策だと思いますが、私のシナリオではあまり役に立ちません。
WS-Addressing 標準提出の引用 ( http://www.w3.org/Submission/ws-addressing/ )
「現在広く使用されているさまざまなネットワーク技術 (NAT、DHCP、ファイアウォールなど) のため、多くの展開では、特定のエンドポイントに意味のあるグローバル URI を割り当てることができません。これらの「匿名」エンドポイントがメッセージ交換パターンを開始できるようにするには、 WS-Addressing は、安定した解決可能な URI を持つことができないエンドポイントで使用する次の既知の URI を定義します。 http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous "
ファイアウォールの IP アドレスを指定し、SOAP メッセージ ヘッダーの「To」WS-Addressing タグで指定されたアドレスを無視またはバイパスするように wsHttpBinding エンドポイントを構成するにはどうすればよいですか? または、サービス エンドポイント構成で何かを変更する必要がありますか?
ヘルプとガイダンスをいただければ幸いです。
マルコ。
PS:これに対する解決策を見つけましたが、basicHttpBindingを使用していますが、もちろん問題はありません。
wcf - wsHttpBindingとws2007HttpBindingの違いは何ですか?
MSDNで私たちは読むことができます:
WS2007HttpBindingクラスは、WSHttpBindingと同様のシステム提供のバインディングを追加しますが、ReliableSession、Security、およびTransactionFlowプロトコルのOrganization for the Advancement of Structured Information Standards(OASIS)標準バージョンを使用します。このバインディングを使用する場合、オブジェクトモデルやデフォルト設定を変更する必要はありません。
しかし、wsHttpBindingをws2007HttpBindingに移動したい理由を説明できるドキュメントが見つかりません。標準は同じであるように思われます。
誰かが私に良い説明をすることができますか?
wcf - WSHttpBindingを拡張してSwAを許可する方法はありますか?
WCFを使用して、(WSHttpBindingに基づいて)独自のバインディングを作成し、それを使用してHTTP要求を操作して、標準のMIME添付ファイル(SwA)を追加できますか?
c# - WCF での mex バインディング エラー
VSTS 2008 + C# + .NET 3.0 を使用しています。セルフホステッド WCF サービスを使用しています。次のステートメントを実行すると、次の「バインディングが見つかりません」というエラーが発生します。app.config ファイル全体を投稿しましたが、何が問題なのですか?
エラーメッセージ:
バインド MetadataExchangeHttpBinding を持つエンドポイントのスキーム http に一致するベース アドレスが見つかりませんでした。登録されているベース アドレス スキームは [https] です。
完全な app.config:
c# - WCF wsHttpBinding 'algorithmSuite' を解析できませんエラー
VSTS 2008 + C# + .Net 3.0 を使用しています。セルフホステッド WCF を使用しています。次のステートメント (host.Open()) を実行すると、次のバインディングが見つからないというエラーが発生します。app.config ファイル全体を投稿しましたが、何が問題なのですか?
エラーメッセージ、
プロパティ「algorithmSuite」の値を解析できません。エラー: 値 'Aes128' は、タイプ 'System.ServiceModel.Security.SecurityAlgorithmSuite' の有効なインスタンスではありません。
EDIT1: アルゴリズムスーツのオプション値をデフォルトに変更しましたが、Open() の実行時に新しいエラーが発生しました。エラーメッセージは、何が問題なのか、
WSHttpBinding がトランスポート セキュリティ (HTTPS) を介した信頼できるセッションをサポートしていないため、バインドの検証に失敗しました。チャネル ファクトリまたはサービス ホストを開くことができませんでした。HTTP を介した安全で信頼性の高いメッセージングには、メッセージ セキュリティを使用します。
完全なapp.config、
前もって感謝します、ジョージ
c# - no WCF max response message size setting in wshttpbinding?
I am surprised to see that no WCF max response message size setting in wshttpbinding? My question is whether there is max response message size setting in wshttpbinding? I am using .Net 3.0 + C# + VSTS 2008.
BTW: I have found max request message size setting and tested it works.
thanks in advance, George
java - Java での WCF WsHttpBinding WebService の使用
Java クライアントが WCF wshttpbinding WebService と通信できるようにしようとしています。しかし、私はそうすることができません。通話がハングするか、「musunderstoodheader expcetions」が発生します。
私の Web サービスは、Visual Studio で生成されたデフォルトの「WCF サービス ライブラリ テンプレート」です。
私の Web サービス クライアントは空の IntelliJ プロジェクトであり、対応するスタブは「Web サービス クライアントの追加」を使用して生成されます (指定された Web サービス プラットフォームは JAX-WS 2.X です)。
バインディングを BasicHttpBinding に変更すると、すべて問題なく動作します。
セキュリティをオフにするなど、WsHttpBinding 構成をいじってみましたが、成功しませんでした。
提案?考え?WsHttpBinding は JAX-WS 2.0 で部分的にしかサポートされていませんか?
.net - インターネット経由の wsHttpBinding
IIS でホストされ、wsHttpBinding で保護され、インターネット上で公開される一連の WCF サービスがあります。クライアントからこれらのサービスを利用しようとすると、「セキュリティ トークンのリクエストに無効または不正な要素が含まれています」というエラーが表示されます。
私は使っている
これに関する任意の助けをいただければ幸いです
wcf - チャネル インターフェイスを介してメッセージ レベルのセキュリティをサポートする最小限のクライアント
SecurityMode: Message
直接チャネル インターフェイスを介して WSHttpBinding を使用して、WCF サービス用の最小限のクライアントを構築しようとしています。
私の現在のコードは非常に単純です:
clientCertificate が正しく読み込まれます。ただし、その後、すべての関数を正しい方法で呼び出すかどうかはわかりません。
事実: コード スニペットの最後の行はMessageSecurityException
、コンテンツとともに をスローします。
クライアントは、SspiNegotiation/Kerberos の目的で、ターゲット アドレス ' http://myServerUrl 'の ID に基づいてサービス プリンシパル名を特定できません。ターゲット アドレス ID は、UPN ID (acmedomain\alice など) または SPN ID (host/bobs-machine など) である必要があります。
この問題の原因は何ですか?
iis - WCF バインディング -wsHttpBinding はセッションを使用しますか?
前のスレッドで、回答者の 1 人が、wsHttpBinding を使用するとセッションが使用されると述べました。クラスター化された IIS 環境で作業しているため、これを無効にする必要がありますか? 私の知る限り、セッションはクラスターでは機能しません。
これを無効にする必要がある場合、どうすればよいですか?