3

WSDL から自動的に作成された SoapHttpClientProtocol クラスを、HTTP ではなく HTTPS プロトコルを使用するように変換できますか? (もし、どうやって?)

Web サービスの URL アクセスを から に変更するだけhttp://https://、例外が発生します。

予期しないパケット形式のため、ハンドシェイクに失敗しました

私の問題は、クラスが非常に大きく (10k SLOC と考えてください)、ここでプロトコルを変更する方法がよくわからないことです。

4

1 に答える 1

1

新しいものを検索してわかることから、行を追加することでそれができるはずです

this.Url = "https://example.com:443/servlet_path";
this.Credentials = System.Net.CredentialCache.DefaultCredentials;

派生SoapHttpClientProtocolクラスのコンストラクターに

[System.Web.Services.Protocols.SoapDocumentMethodAttribute(
  "http://example.com/servlet_path",
  RequestNamespace="http://example.com/",
  ResponseNamespace="http://example.com/",
  Use=System.Web.Services.Description.SoapBindingUse.Literal,
  ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]

関数の定義に。あるページでは、実行中のマシンが受け入れる CA からの証明書がターゲット マシンにない場合、デフォルトの証明書バリデーターをオーバーライドする必要があるかもしれないと述べています。

于 2013-03-27T20:47:38.563 に答える