1

私はfirstdatawebserviceAPIを使用しています。WCFでC#クライアント呼び出しfirstdataWebサービスAPIを使用します。

しかし、エラーメッセージが表示されます:

 "System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client 

authentication scheme 'Anonymous'. The authentication header received from the server was ''. ---> System.Net.WebException: 

The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() at  System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) --- End 

of inner exception stack trace --- Server stack trace: at 

System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, 

WebException responseException, HttpChannelFactory factory) at 

 System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException, ChannelBinding channelBinding) at 

System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) at 

System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) at 

System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) at 

System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] 

ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 

methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage 

retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at 

com.firstdata.globalgatewaye4.api.ServiceSoap.SendAndCommit(SendAndCommitRequest request) at 

com.firstdata.globalgatewaye4.api.ServiceSoapClient.com.firstdata.globalgatewaye4.api.ServiceSoap.SendAndCommit

(SendAndCommitRequest request) at com.firstdata.globalgatewaye4.api.ServiceSoapClient.SendAndCommit(Transaction 

SendAndCommitSource)"

以下の私のweb.config情報:

<behaviors>
        <endpointBehaviors>
            <behavior name="FDGGBehavior">
                <clientCredentials>
                    <clientCertificate  findValue="WS1909642825._.1"  storeLocation="LocalMachine" x509FindType="FindBySubjectName" storeName="TrustedPeople" />
                    <serviceCertificate>
                        <authentication certificateValidationMode="PeerTrust" />
                    </serviceCertificate>
                </clientCredentials>
            </behavior>
        </endpointBehaviors>
    </behaviors>
<binding name="ServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
             receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
             bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
             maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
             messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
             useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                 maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="TransportWithMessageCredential">
                    <transport clientCredentialType="Certificate" proxyCredentialType="Ntlm" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
<endpoint address="https://api.globalgatewaye4.firstdata.com/transaction/v11"
         binding="basicHttpBinding" bindingConfiguration="ServiceSoap"
         contract="com.firstdata.globalgatewaye4.api.ServiceSoap" name="ServiceSoap"  behaviorConfiguration="FDGGBehavior" />

どうすれば質問を解決できますか?

4

1 に答える 1

3

同じ問題がありました。正しいGatewayIDPasswordを使用しているかどうかを確認してください。パスワードを生成した後、更新ボタンをクリックする必要があることに注意してください。また、私は動作設定を使用しません

<behaviors>
     <endpointBehaviors>
         <behavior name="FDGGBehavior">
             <clientCredentials>
                 <clientCertificate  findValue="WS1909642825._.1"  
                     storeLocation="LocalMachine" 
                     x509FindType="FindBySubjectName"
                     storeName="TrustedPeople" />
                 <serviceCertificate>
                     <authentication certificateValidationMode="PeerTrust" />
                 </serviceCertificate>
             </clientCredentials>
         </behavior>
     </endpointBehaviors>
 </behaviors>
于 2012-09-07T18:07:05.160 に答える