Начало работы с Paypal Adaptive Payments в C # SOAP - PullRequest
0 голосов
/ 10 февраля 2011

Я пытаюсь начать с Adaptive Payments by Paypal, используя интерфейс SOAP.При добавлении ссылки на службу в https://svcs.sandbox.paypal.com/AdaptivePayments?WSDL Visual Studio выводит следующее предупреждение:

Предупреждение пользовательского инструмента: невозможно импортировать wsdl: binding Подробно: привязка WSDL с именем AdaptivePaymentsSOAP11Binding недопустима, поскольку нетнайдено совпадение для операции CancelPreapproval в соответствующем определении portType.XPath to Error Источник: // wsdl: definitions [@targetNamespace = 'http://svcs.paypal.com/services']/wsdl:binding[@name='AdaptivePaymentsSOAP11Binding'] C: \ cproj \ daemon \ Service References \ PaypalSandboxApi \ Reference.svcmap 1 1 демон

Отбрасывая это сообщение,Ссылка успешно добавлена.Чтобы выполнить транзакцию, я пытаюсь создать клиента:

var client = new PaypalSandboxApi.AdaptivePaymentsPortTypeClient()

Это вызывает InvalidOperationException:

Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'PaypalSandboxApi.AdaptivePaymentsPortType'в разделе конфигурации клиента ServiceModel.Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или из-за того, что в клиентском элементе не найден элемент конечной точки, соответствующий этому контракту.

Я что-то упустил?

Должен лиЯ использую пропущенный AdaptivePaymentsSOAP11Binding, а не AdaptivePaymentsPortTypeClient?

1 Ответ

1 голос
/ 29 июня 2011

Похоже, что импорт этого WSDL не генерирует конфигурацию модели сервиса. Я соединил один вместе вот так (и обновил соответствующее имя класса, чтобы оно соответствовало вашему, чтобы вы могли копировать / вставлять):

<system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="PaypalAdaptivePayBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="1048576" maxBufferPoolSize="1048576" maxReceivedMessageSize="1048576" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="65536" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="Transport">
        <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="https://svcs.sandbox.paypal.com/AdaptivePayments" 
    binding="basicHttpBinding" bindingConfiguration="PaypalAdaptivePayBinding" 
    contract="PaypalSandboxApi.AdaptivePaymentsPortType" 
    name="PaypalAdaptivePay" />
</client>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...