Apple выпустила WSDL нового поколения 15 августа этого года (2015), и большое изменение состояло в том, что каждый вызов WSDL должен был быть подтвержден сертификатом файл.Как подключить X509Certificate2 к webservice (конкретный Apple GSX/C#)
Я сделал процесс получения сертификата от Apple, и я включил белый IP-адрес нашего сервера, и даже подтвердил, что могу получить доступ к конечной точке службы с нашего сервера, используя простой интерфейс, используя HttpWebRequest, где я легко могу прикрепить сертификат, используя webRequest.ClientCertificates.Add(), поэтому я знаю, что все готово для его работы.
Но моя проблема возникает, когда я загрузить WSDL из https://gsxwsut.apple.com/apidocs/prod/html/WSArtifacts.html?user=asp
Я импортировать WSDL в Visual Studio, и когда я пытаюсь сделать экземпляр класса клиента, только один я нахожу GsxWSEmeaAspPortClient, который, кажется, чтобы быть верным, поскольку он имеет все функции аутентификации и различные инструменты, но у него нет ClientCertificates. У него есть ClientCredentials, у которого есть ClientCertificate, но когда я пытаюсь установить сертификат там, он как таковой никогда не устанавливается.
Я предполагаю, что служебный код передает данные через HttpWebRequest или WebRequest, поэтому, если я просто могу получить код запроса из моего экземпляра класса (GsxWSEmeaAspPortClient), я, возможно, исправлю его, но я не могу похоже, там.
Я рассмотрел этот вопрос: How can I connect with Apple's GSX NewGeneration webservices with WCF?, который предполагает, что это действительно должно быть так просто, но у меня нет GsxWSEmeaAspService, только GsxWSEmeaAspPortClient из поколения Visual Studio WSDL.
Если у кого-то есть идеи, которые могут указать мне в любом направлении к победе, я был бы всегда благодарен.
Я использую Visual Studio 2013, и решение является .Net v4.5.1, если это имеет значение.