問題タブ [wcf-client]

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.

0 投票する
2 に答える
859 参照

wcf - WCF:バインディングから構成を取得する方法は?

コードで WCF バインディングをインスタンス化しました。

同等の構成を取得する方法 (コード内) はありますか? 上記について、私は期待します:

config からバインディング インスタンスを取得する方法があることは明らかです (すべてのプロキシがそれを必要とします)。

0 投票する
4 に答える
8013 参照

c# - WCF クライアント接続の問題

VSTS2008 + C# + .Net 3.5 を使用して、IIS でホストされる WCF サービスを開発しています。次に、VSTS 2008 のサービス参照の追加機能を使用して、クライアント プロキシ コードを自動的に生成します。

私の質問は、クライアント プロキシ インスタンスを作成し、この特定のインスタンスを使用して、サーバー側で WCF サービスによって公開されているさまざまなメソッドを呼び出すとします。次に、メソッド呼び出しを行うたびに、新しい接続が確立されますか? それとも、クライアントとサーバーの間に一定の接続がありますか (つまり、接続の有効期間は、クライアント プロキシ インスタンスの作成からクライアント プロキシ インスタンスの破棄までです)。

私はbasicHttpBindingを使用しています。

0 投票する
4 に答える
12697 参照

wcf - クライアント認証証明書を必要とするWebサービスのWCFクライアントにサービス参照を追加する方法

注意、WCF初心者アラート

WCF以外のWebサービスをクエリするためにWCFクライアントを作成する必要があります。WebサービスはWCFサービスではありません。さらに、Webサービスにはクライアント認証証明書が必要です。これで、証明書を取得し、完全に機能する非WCFクライアントを作成できます。「Web参照の追加」ができ、証明書ダイアログボックスが開いて適切な証明書を選択できるようになり、次にWeb参照を作成しました。「サービス参照の追加」を介してWCFクライアントを作成しようとすると、別の話になりますが、403AccessDeniedエラーで失敗します。

サービスのWSDLがあり、その上でsvcutil.exeを実行しましたが、そこから続行する方法がわかりません。

助けてくれてありがとう!

0 投票する
1 に答える
552 参照

c# - WCFの1つの着信ポートで二重バインディングが可能ですか?

WCF で着信接続用に 1 つのポートを開いている場合、二重バインドは可能ですか?

SOの別の質問から引用...「私はビジネス固有のメッセージングアプリケーションを作成しています.5000〜10,000台のマシンをWCF経由でデータセンターに接続します(vpnなし、ネット全体)。主にアラート用です。特定のクライアントに直接メッセージを送信できるようにする必要があります」

これは私のアプリケーションの動作と同じです。すべてのユーザーに、クライアントでポートを開くためにポート フォワーディングを実行させることはできません。(ただし、サーバーのポートは開けます)

それで、これは可能ですか?

0 投票する
2 に答える
9312 参照

wcf - WCFサービスでの認証

別のマシンにWCFサービスを展開していて、WCFサービスに対してクライアントを認証したいと考えています。

私は次のことをしました:

1)IISで、匿名アクセスのチェックを外し、[統合されたWindows認証]チェックボックスをオンにしました。

2)私のWeb構成

3)クライアント側では、次のようにユーザー資格情報を渡します。

私の質問は、サーバー側(サービスが展開されている場所)でユーザー名とパスワードをトラップするにはどうすればよいですか?

渡されたクレデンシャルに対してユーザーを認証するにはどうすればよいですか?

現在、basichttpバインディングを使用しています..このバインディングはセキュリティモデルをサポートするのに十分ですか?

0 投票する
1 に答える
4058 参照

c# - ホステッド サービスでサービス プリンシパル名をプログラムによって設定する方法

構成ファイルを使用して上記を行うには、次のようにします。

しかし、それを以下のコードに追加するにはどうすればよいですか?

0 投票する
1 に答える
11400 参照

wcf - このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストするIISアプリケーションでは有効になっていません

IISV5.1を使用しています。統合Windows認証

私は次のWeb設定を持っています:

ブラウザでsvcファイルを表示することを選択すると、次のエラーが表示されます。

例外:
このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストするIISアプリケーションでは有効になっていません。

このエラーは、Mexエンドポイントを削除すると削除されます。

しかし、クライアントアプリケーションにサービス参照を追加しようとすると、次のエラーが発生します。

URL http://localhost/DXDirectory/DXDirectoryService.svcのドキュメントが既知のドキュメントタイプとして認識されませんでした。

既知の各タイプからのエラーメッセージは、問題の修正に役立つ場合があります。

  • ' http://localhost/DXDirectory/DXDirectoryService.svc 'からのレポートは'ドキュメント形式は認識されません(コンテンツタイプは' text / html; charset = UTF-8')'です。
  • 「DISCOドキュメント」からのレポートは「ダウンロード中にエラーが発生しました」https://hes-ashu.abc.com/DXDirectory/DXDirectoryService.svc?disco「。」です。
    • 基になる接続が閉じられました:送信時に予期しないエラーが発生しました。
    • リモートパーティがトランスポートストリームを閉じたため、認証に失敗しました。
  • 「WSDLドキュメント」からのレポートは「ドキュメント形式が認識されません(コンテンツタイプは「text / html; charset = UTF-8」)です)。
  • 'XMLスキーマ'からのレポートは'ドキュメント形式は認識されません(コンテンツタイプは' text / html; charset = UTF-8')'です。メタデータに解決できない参照が含まれています:' http://localhost/DXDirectory/DXDirectoryService.svc '。

HTTPリクエストは、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「Negotiate、NTLM」でした。

リモートサーバーがエラーを返しました:(401)許可されていません。

サービスが現在のソリューションで定義されている場合は、ソリューションを構築して、サービス参照を再度追加してみてください。

0 投票する
1 に答える
1899 参照

wcf - チャネル インターフェイスを介してメッセージ レベルのセキュリティをサポートする最小限のクライアント

SecurityMode: Message直接チャネル インターフェイスを介して WSHttpBinding を使用して、WCF サービス用の最小限のクライアントを構築しようとしています。

私の現在のコードは非常に単純です:

clientCertificate が正しく読み込まれます。ただし、その後、すべての関数を正しい方法で呼び出すかどうかはわかりません。

事実: コード スニペットの最後の行はMessageSecurityException、コンテンツとともに をスローします。

クライアントは、SspiNegotiation/Kerberos の目的で、ターゲット アドレス ' http://myServerUrl 'の ID に基づいてサービス プリンシパル名を特定できません。ターゲット アドレス ID は、UPN ID (acmedomain\alice など) または SPN ID (host/bobs-machine など) である必要があります。

この問題の原因は何ですか?

0 投票する
3 に答える
8463 参照

wcf - 送信メッセージの WCF Content-Length HTTP ヘッダー

私は、IBM HTTP Server (IHS) でホストされている Java Web サービス エンドポイントが Content-Length ヘッダーを必要とするという厳しい状況にありますが、HTTP/1.1 に準拠していると思われます。ヘッダーを送信すると、すべてが機能します。オフのままにしておくと、500 エラー応答が返され、POST エンティティ本体が空であることが通知されます (空ではないにもかかわらず)。

これらのサービス (サード パーティによって開発された) の WCF クライアントにかなりの時間を費やしましたが、要求に Content-Length ヘッダーを追加する良い方法が見つからないようです。このようなブログ投稿で説明されているように、IClientMessageInspector を使用して任意のヘッダー (つまり、X-Dan-Lynn-Header) を要求に追加できますが、WCF は Content-Length ヘッダーを無視するようです。

私のオプションは次のとおりです。

a) WCF に Content-Length ヘッダーを HTTP POST 要求に追加させる方法を理解するか、または、

b) Content-Length ヘッダーでリクエストを装飾する、非常に単純でありながら透過的な HTTP プロキシを見つけるか、または作成します。

ありがとう!

サンプル IClientMessageInspector.BeforeSendRequest:

WCF (および前述の IClientMessageInspector) によって生成されたサンプル要求: