簡體   English   中英

無法解析遠程名稱:'sandbox.api.mastercard.com'

[英]The remote name could not be resolved: 'sandbox.api.mastercard.com'

我正在嘗試通過MoneySend api在MasterCard的沙箱上發出請求。 這里是示例代碼,也可以在這里找到c#

問題陳述:

當我試圖直接通過visual studio提出請求時,它工作得很好 ,但是當我在IIS部署此服務時,這顯示錯誤

無法解析遠程名稱:'sandbox.api.mastercard.com'

進一步說明:

在VS 2017中創建了解決方案,在其中創建了2個項目,其中一個服務和其他用於在控制台中測試相同服務的項目。 通過在服務器中指向服務的服務引用,它工作正常。 當我在IIS上部署服務並將服務端點從本地VS鏈接替換為控制台應用程序中的已部署IIS鏈接時,我遇到了上述錯誤。

更新:

我在一家互聯網服務有自己的DNS和代理設置的公司工作。

完全例外:

MasterCard.Core.Exceptions.ApiException:無法解析遠程名稱:'sandbox.api.mastercard.com'---> System.Net.WebException:無法解析遠程名稱:'sandbox.api.mastercard。在RestSharp.RestClient.Execute的RestSharp.Http.PostPutInternal(String方法)的RestSharp.Http.WriteRequestBody(HttpWebRequest webRequest)上的System.Net.HttpWebRequest.GetRequestStream()處的System.Net.HttpWebRequest.GetRequestStream(TransportContext&context)上的com。 (IRestRequest請求,String httpMethod,Func`3 getResponse)---內部異常堆棧跟蹤的結束---在MasterCard.Core.Model.BaseObject的MasterCard.Core.ApiController.Execute(OperationConfig config,OperationMetadata metadata,BaseObject requestMap) 。在MasterCard.Api.Moneysend.Payment.Create(RequestMap map)中的MasterCard.Api.Moneysend.Preate(RequestMap map)執行[T](String operationUUID,T inputObject),在C:\\ Users \\ name \\ Documents \\ My Received Files \\ MasterCardWebService \\中的MasterCardWebService.MoneySend.testService() MasterCardWebService \\ MasterCardWebService \\達卡MoneySend。 svc.cs:第128行

public class PaymentTest
    {
        public static void Main()
        {
            string consumerKey = "your consumer key";   // You should copy this from "My Keys" on your project page e.g. UTfbhDCSeNYvJpLL5l028sWL9it739PYh6LU5lZja15xcRpY!fd209e6c579dc9d7be52da93d35ae6b6c167c174690b72fa
            string keyAlias = "keyalias";   // For production: change this to the key alias you chose when you created your production key
            string keyPassword = "keystorepassword";   // For production: change this to the key alias you chose when you created your production key
            var path = MasterCard.Core.Util.GetCurrenyAssemblyPath(); // This returns the path to your assembly so it be used to locate your cert
            string certPath = "mypath"; // e.g. /Users/yourname/project/sandbox.p12 | C:\Users\yourname\project\sandbox.p12

            ApiConfig.SetAuthentication(new OAuthAuthentication(consumerKey, certPath, keyAlias, keyPassword));   // You only need to set this once
            ApiConfig.SetDebug(true);   // Enable http wire logging
            ApiConfig.SetSandbox(true);

            try {
                RequestMap map = new RequestMap();
                map.Set ("PaymentRequestV3.LocalDate", "0817");
                map.Set ("PaymentRequestV3.LocalTime", "150149");
                map.Set ("PaymentRequestV3.TransactionReference", "1091774875227082093");
                map.Set ("PaymentRequestV3.SenderName.First", "Test");
                map.Set ("PaymentRequestV3.SenderName.Middle", "T");
                map.Set ("PaymentRequestV3.SenderName.Last", "Test");
                map.Set ("PaymentRequestV3.SenderPhone", "7031234567");
                map.Set ("PaymentRequestV3.SenderDateOfBirth", "08061977");
                map.Set ("PaymentRequestV3.SenderAddress.Line1", "123 Main Street");
                map.Set ("PaymentRequestV3.SenderAddress.Line2", "5A");
                map.Set ("PaymentRequestV3.SenderAddress.City", "Arlington");
                map.Set ("PaymentRequestV3.SenderAddress.CountrySubdivision", "VA");
                map.Set ("PaymentRequestV3.SenderAddress.PostalCode", "22207");
                map.Set ("PaymentRequestV3.SenderAddress.Country", "USA");
                map.Set ("PaymentRequestV3.FundingCard.AccountNumber", "5184680470000023");
                map.Set ("PaymentRequestV3.FundingSource", "03");
                map.Set ("PaymentRequestV3.AdditionalMessage", "Test");
                map.Set ("PaymentRequestV3.ParticipationID", "Test");
                map.Set ("PaymentRequestV3.LanguageIdentification", "Tes");
                map.Set ("PaymentRequestV3.LanguageData", "Test");
                map.Set ("PaymentRequestV3.ReceivingCard.AccountNumber", "5184680430000006");
                map.Set ("PaymentRequestV3.ReceiverName.Middle", "B");
                map.Set ("PaymentRequestV3.ReceiverName.Last", "Lopez");
                map.Set ("PaymentRequestV3.ReceiverAddress.Line1", "Pueblo Street");
                map.Set ("PaymentRequestV3.ReceiverAddress.Line2", "PO BOX 12");
                map.Set ("PaymentRequestV3.ReceiverAddress.City", "El PASO");
                map.Set ("PaymentRequestV3.ReceiverAddress.CountrySubdivision", "TX");
                map.Set ("PaymentRequestV3.ReceiverAddress.PostalCode", "79906");
                map.Set ("PaymentRequestV3.ReceiverAddress.Country", "USA");
                map.Set ("PaymentRequestV3.ReceiverPhone", "1800639426");
                map.Set ("PaymentRequestV3.ReceiverDateOfBirth", "06211977");
                map.Set ("PaymentRequestV3.ReceivingAmount.Value", "842");
                map.Set ("PaymentRequestV3.ReceivingAmount.Currency", "840");
                map.Set ("PaymentRequestV3.ICA", "009674");
                map.Set ("PaymentRequestV3.ProcessorId", "9000000442");
                map.Set ("PaymentRequestV3.RoutingAndTransitNumber", "990442082");
                map.Set ("PaymentRequestV3.CardAcceptor.Name", "THE BEST BANK");
                map.Set ("PaymentRequestV3.CardAcceptor.City", "ANYTOWN");
                map.Set ("PaymentRequestV3.CardAcceptor.State", "MO");
                map.Set ("PaymentRequestV3.CardAcceptor.PostalCode", "99999-1234");
                map.Set ("PaymentRequestV3.CardAcceptor.Country", "USA");
                map.Set ("PaymentRequestV3.TransactionDesc", "P2P");
                map.Set ("PaymentRequestV3.MerchantId", "123456");
                map.Set ("PaymentRequestV3.ReceiverIdentification.Type", "01");
                map.Set ("PaymentRequestV3.ReceiverIdentification.Number", "2147483647");
                map.Set ("PaymentRequestV3.ReceiverIdentification.CountryCode", "USA");
                map.Set ("PaymentRequestV3.ReceiverIdentification.ExpirationDate", "10102017");
                map.Set ("PaymentRequestV3.ReceiverNationality", "USA");
                map.Set ("PaymentRequestV3.ReceiverCountryOfBirth", "USA");
                map.Set ("PaymentRequestV3.SenderIdentification.Type", "01");
                map.Set ("PaymentRequestV3.SenderIdentification.Number", "2147483647");
                map.Set ("PaymentRequestV3.SenderIdentification.CountryCode", "USA");
                map.Set ("PaymentRequestV3.SenderIdentification.ExpirationDate", "10102017");
                map.Set ("PaymentRequestV3.SenderNationality", "USA");
                map.Set ("PaymentRequestV3.SenderCountryOfBirth", "USA");
                map.Set ("PaymentRequestV3.TransactionPurpose", "01");
                Payment response = Payment.Create(map);

                Console.WriteLine("Transfer.RequestId--> {0}", response["Transfer.RequestId"]); //Transfer.RequestId-->1413236
                Console.WriteLine("Transfer.TransactionReference--> {0}", response["Transfer.TransactionReference"]); //Transfer.TransactionReference-->1091774875227082093
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].Type--> {0}", response["Transfer.TransactionHistory.Transaction[0].Type"]); //Transfer.TransactionHistory.Transaction[0].Type-->PAYMENT
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].SystemTraceAuditNumber--> {0}", response["Transfer.TransactionHistory.Transaction[0].SystemTraceAuditNumber"]); //Transfer.TransactionHistory.Transaction[0].SystemTraceAuditNumber-->212849
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].NetworkReferenceNumber--> {0}", response["Transfer.TransactionHistory.Transaction[0].NetworkReferenceNumber"]); //Transfer.TransactionHistory.Transaction[0].NetworkReferenceNumber-->313371112
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].SettlementDate--> {0}", response["Transfer.TransactionHistory.Transaction[0].SettlementDate"]); //Transfer.TransactionHistory.Transaction[0].SettlementDate-->0818
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].Response.Code--> {0}", response["Transfer.TransactionHistory.Transaction[0].Response.Code"]); //Transfer.TransactionHistory.Transaction[0].Response.Code-->00
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].Response.Description--> {0}", response["Transfer.TransactionHistory.Transaction[0].Response.Description"]); //Transfer.TransactionHistory.Transaction[0].Response.Description-->Approved or completed successfully
                Console.WriteLine("Transfer.TransactionHistory.Transaction[0].SubmitDateTime--> {0}", response["Transfer.TransactionHistory.Transaction[0].SubmitDateTime"]); //Transfer.TransactionHistory.Transaction[0].SubmitDateTime-->2016-08-17T09:31:54Z

            } catch (ApiException e) {
                Console.Error.WriteLine("HttpStatus: {0}", e.HttpStatus);
                Console.Error.WriteLine("Message: {0}", e.Message);
                Console.Error.WriteLine("ReasonCode: {0}", e.ReasonCode);
                Console.Error.WriteLine("Source: {0}", e.Source);
            }

        }
    }

通過向服務項目的web.config添加代理來解決

<system.net>
    <defaultProxy useDefaultCredentials="false">
      <proxy
        proxyaddress="http://myurladdress:myport"
        bypassonlocal="True"
        usesystemdefault="False"
      />
    </defaultProxy>
</system.net>

好像你的DNS沒有解決。 你可以像這樣強迫它:

在服務器上以管理員身份打開記事本。 瀏覽並打開C:\\ Windows \\ System32 \\ drivers \\ etc \\ hosts

在底部添加: 88.221.244.150 sandbox.api.mastercard.com

保存文件。

該應用程序現在應該找到sandbox.api.mastercard.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM