1

Microsoft Forefront/TMG の背後で WCF サービスを実行しています。このサービスは、ポート 80 を使用する IIS 上にあります。TMG はポート 443 をリッスンします。TMG には SSL 証明書がインストールされています。TMG のセットアップは、当社の IT 部門によって行われます。https://mypublicsite:443/myservice.svcとにアクセスできますhttps://mypublicsite:443/myservice.svc?wsdl。ただし、Visual Studio テストクライアントを使用している場合: WCFTestClient.exe (または任意のクライアント) - このエラーで呼び出しを行うとタイムアウトが発生します:

サービスの呼び出しに失敗しました。考えられる原因: サービスがオフラインであるか、アクセスできません。クライアント側の構成がプロキシと一致しません。既存のプロキシは無効です。詳細については、スタック トレースを参照してください。新しいプロキシを開始するか、デフォルト構成に復元するか、サービスを更新することで、回復を試みることができます。

私は今立ち往生しました。http://myinternalsite:80/myservice.svcネットワーク内から使用してサービスにアクセスすると、すべてが機能します。解決策を持っている人はいますか?または解決策を見つける方法はありますか?

4

3 に答える 3

0

サービスによって送信された列挙型にゼロの値がない場合に、このエラーが発生しました。列挙型を使用する場合は、送信される値が定義されていることを確認してください。デフォルトは0です。

[DataContract]
public enum MyEnum // No name for value 0 in this enum
{
    [EnumMember]
    Something1=1,
    [EnumMember]
    Something2=2,   
}
于 2013-01-21T22:55:04.097 に答える
0

解決策を見つけました。fiddler2にネットワーク パッケージの内容を表示してもらいました。そして、これは私を解決策に導きました。500 の応答の理由は、WCF AddressFilter の不一致によるものでした。これは、これを私のサービスに追加することで修正されました:[ServiceBehavior(AddressFilterMode=AddressFilterMode.Any)]

これは私を助けた記事です: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/b5ae495b-f5fb-4eed-ae21-2b2280d4fec3/

于 2012-05-24T12:10:45.840 に答える
0

かもしれない:

  • ファイアウォールによってブロックされている (telnet を試してください)
  • TMG の設定に問題があること (ブラウザからサービス wsdl にアクセスしてみてください)
  • wcf 構成がトランスポート セキュリティを使用する/使用しないように設定されていること (サーバーとクライアントの構成ファイルが一致していることを確認してください)
于 2012-05-23T13:46:33.310 に答える