2016-11-18 5 views
0

サービス参照からメソッドを使用しようとすると、プラグインに問題があります。私はその後、私はそれらのパラメータを取り、ウェブの参照方法を使用してWebサービスにそれらを送信する必要があり、その後、私のプラグインするためにこれらのパラメータを送信することを、ウェブサービスにパラメータを送信しクライアントを持って 。 Webサービスにアクセスするには、最後のWebサービスを所有する会社が歌った証明書を使用する必要があります。プラグインからWebサービスへのSSL/TLSセキュアチャネルを作成できませんでした

The request was aborted: Could not create SSL/TLS secure channel. 

最後のWebサービスが正常に動作し、私は同じコードを使用している場合ので、証明書が有効である:

BasicHttpsBinding binding = new BasicHttpsBinding 
      { 
       Security = new BasicHttpsSecurity 
       { 
        Transport = new HttpTransportSecurity 
        { 
         ClientCredentialType = HttpClientCredentialType.Certificate 
        } 
       } 
      }; 

UploaderServiceClient client = new UploaderServiceClient(binding, new EndpointAddress(args.EndPoint)); 

client.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.LocaMachine, StoreName.My, X509FindType.FindBySerialNumber, args.SerialNum); 

client.approveTransportDocument(appC, FileDesc); 

私はこのコードを使用した後、私は例外を取得:私が使用するコードはこれですフォーム上でうまく動作します。 EDIT:

System.ServiceModel.Security.SecurityNegotiationExceptionを:: は、私は多分それは助ける取得の例外を追加している は権威「IMAS-ws.vmiでSSL/TLSの安全なチャネルを確立できませんでした。 lt '。 ---> System.Net.WebException:要求が中止されました:SSL/TLSセキュアチャネルを作成できませんでした。内部例外スタックトレースの System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpanの タイムアウト)---終わり---

サーバーで System.Net.HttpWebRequest.GetResponse()でスタックトレース: System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(webException webException、HttpWebRequestの要求、HttpAbortReason abortReason)
でSystem.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpanの タイムアウト)での System.ServiceModel.Channels.RequestChannel System.ServiceModel.Channels.ServiceChannel.Call(文字列アクション、 ブール一方向、ProxyOperationRuntime動作時 System.ServiceModel.Dispatcher.RequestChannelBinder.Request(メッセージ メッセージ、のTimeSpanタイムアウト)で.Request(メッセージメッセージ、 のTimeSpanタイムアウト) 、 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessageが メッセージ)で System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCallで、ProxyOperationRuntime操作)で[]イン、 オブジェクト[]アウト、のTimeSpanタイムアウト)オブジェクト

例外が[0]で再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage Eur_Iz.Ie.UploaderServiceでSystem.Runtime.Remoting.Proxies.RealProxy.PrivateInvokeで(IMessageが reqMsg、IMessageがretMsg)(のMessageData & msgData、のInt32型)。 Uで Eur_Iz.Ie.UploaderServiceClient.submitTransportDocument(TransportDocument LocalTransportDocument、変数FileDescriptionコンテキスト情報、 AdditionalContext AdditionalContext)でsubmitTransportDocument(TransportDocument LocalTransportDocument、変数FileDescriptionコンテキスト情報、 AdditionalContext AdditionalContext):\ DPbを\あるpIns \ Eur_Iz \サービスすなわち\リファレンス\ 参照。CS:それは、クライアント証明書またはサーバ証明書を持つものになる可能性が Eur_Iz.ClientPlugin.DataHandling(IServicePluginArgsの引数)

答えて

1

でライン3295。それは信頼の問題(クライアントまたはサーバーで失われたCA証明書)である可能性があります。

CAPI2ログを有効にすると、なぜCould not create SSL/TLS secure channel.のCAPI2ログがデフォルトで無効になっているのかを知ることができます。有効にすると、再度要求を実行しようとします。原因に関する有用な情報を含むエラーイベントがいくつかあるはずです。 CAPI2 event log

0

peposの助けを借りれば、証明書とルート証明書を再登録した後にマシン全体ではなくユーザーが信頼できるため、信頼できないことがわかりました。私はまだ "SSL/TLSセキュアチャンネルを作成できませんでした"というエラーが表示されます。

関連する問題