Первый Глобальный Шлюз Данных
Возникли проблемы при использовании API веб-службы First Data Global Gateway.
Согласно документации, вы сможете загрузить файлы схемы wsdl и 3 xsd и создать ссылку на веб-сервис, указав на локальный файл wsdl. После этого он не импортирует все файлы. Попытка обновить веб-ссылку приводит к ошибке...
"Произошел сбой пользовательского инструмента" MSDiscoCodeGenerator ". Невозможно импортировать привязку FDGGWSApiOrderBinding" из пространства имен "https://secure.linkpt.net/fdggwsapi/schemas_us/fdggwsapi"
Кто-нибудь успешно импортировал этот wsdl и получил его работать в Visual Studio?
Другие требования устанавливают клиентский сертификат шлюза, который я сделал.
Спасибо за любую помощь.
3 ответа
См. Также мое сообщение в блоге для актуальных изменений.
Их указания очень сбивают с толку, и в итоге я позвал их на помощь.
Сначала установите сертификат, зайдите в Свойства обозревателя в Панели управления. Выберите вкладку " Содержимое ", затем " Сертификаты". На вкладке Личные нажмите Импорт... и следуйте указаниям мастера, чтобы добавить свой сертификат. Я сделал это в основном случайно только потому, что мне приходилось делать это раньше для других вещей, которые я делал в прошлом. Возможно, вам не придется выполнять эти другие инструкции в их документации.
После этого вы можете настроить веб-сервис:
- Загрузите все файлы, перечисленные в документации. Я положил их все в
C:\FDGGWSClient
, Положилa1.xsd
,fdggwsapi.xsd
, а такжеv1.xsd
вC:\FDGGWSClient\schemas_us
, Положилorder.wsdl
вC:\FDGGWSClient\wsdl
, Я тоже сертификат поставил (WSxxxxxxxx._.1.pem
) в корневой папке (C:\FDGGWSClient
). - В Visual Studio 2010 щелкните правой кнопкой мыши на References и выберите Add Service Reference. Нажмите " Дополнительно", затем в нижней части нового окна нажмите " Добавить веб-ссылку".
- URL, который вы вводите здесь, является путем к файлу
order.wsdl
, В моем случае этоC:\FDGGWSClient\wsdl\order.wsdl
,
Это должно позволить ему работать.
Другое мнение, которое я сделал, было создать отдельный класс для всей обработки. Итак, мой конструктор имел:
private FDGGWSApiOrderService oFDGGWSApiOrderService = null;
/// <summary>
/// Initializes a new instance of the test version of the <see cref="ProcessCreditCard"/> class.
/// </summary>
/// <param name="test">if set to <c>true</c> [test].</param>
public ProcessCreditCard()
{
ServicePointManager.Expect100Continue = false;
// Initialize Service Object
oFDGGWSApiOrderService = new FDGGWSApiOrderService();
// Set the WSDL URL
oFDGGWSApiOrderService.Url = @Settings.Default.CcApiUrl;
// Configure Client Certificate
oFDGGWSApiOrderService.ClientCertificates.Add(X509Certificate.CreateFromCertFile(Settings.Default.CertFile));
// Set the Authentication Credentials
NetworkCredential nc = new NetworkCredential(Settings.Default.CertUser, Settings.Default.CertPass);
oFDGGWSApiOrderService.Credentials = nc;
}
Затем я создал метод для создания остальной информации, необходимой для отправки транзакции к ним.
First Data славится тем, как настроить и начать пользоваться их услугами.
У меня Windows 7 и VS 2010. Файлы, которые я скачал с First Data, не работали, поэтому я позвонил в службу поддержки и дал им как можно больше информации о проблеме. После того, как они сделали некоторые неполадки с их стороны, они прислали мне новые файлы, которые работали, поэтому у меня возникла проблема с их файлами, а не из-за того, что я делал что-то не так.
У веб-службы First Data есть проблема с типом MIME некоторых их файлов. order.wsdl и v1.xsd будут работать нормально, если вы перейдете к ним и выберите Файл / Сохранить как в браузере.
a1.xsd и fdggwsapi.xsd сохранят как документы HTML, если вы просто сохраните их в браузере. Для этих файлов вам нужно просмотреть их, скопировать весь текст из браузера, вставить его в окно Блокнота и сохранить его как XSD. В противном случае это будут документы HTML, doctype, body и все, и они не будут работать.