API PayPal с использованием SOAP - PullRequest
0 голосов
/ 19 октября 2011

Мне нужно использовать API PayPal, используя SOAP, чтобы получить баланс PayPal.

Я получил запрос, используя этот XML:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >
<SOAP-ENV:Header>
<RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType">
<Credentials xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType">
<Username>[xxxxx]</Username>
<Password>[xxxxx]</Password>
<Signature>[xxxxx]</Signature>
<Subject>
</Subject>
</Credentials>
</RequesterCredentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<GetBalanceReq xsi:type="GetBalanceRequest">
<GetBalanceRequest xsi:type="GetBalanceRequestType">
<Version>83.0</Version>
<ReturnAllCurrencies>0</ReturnAllCurrencies>
</GetBalanceRequest>
</GetBalanceReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

... но я получаю этот ответ:

SOAP-ENV: ClientMethod 'GetBalanceReq' не реализован

Мой XML выглядит нормально ..?

1 Ответ

0 голосов
/ 20 октября 2011

Вы можете опустить дополнительные детали в заголовке «Учетные данные». Возможно, вы не выбрали правильную конечную точку (кажется, getBalance недоступно). Следующий запрос SOAP работает с последней изолированной программной средой WSDL :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ebay:api:PayPalAPI" xmlns:urn1="urn:ebay:apis:eBLBaseComponents">
   <soapenv:Header>
      <urn:RequesterCredentials>
           <urn1:Credentials>
            <urn1:Username>xxxx</urn1:Username>
            <urn1:Password>xxxx</urn1:Password>
            <urn1:Signature>xxxx</urn1:Signature>
         </urn1:Credentials>
      </urn:RequesterCredentials>
   </soapenv:Header>
   <soapenv:Body>
      <urn:GetBalanceReq>
         <urn:GetBalanceRequest>
            <urn1:Version>83.0</urn1:Version>
            <urn:ReturnAllCurrencies>0</urn:ReturnAllCurrencies>
         </urn:GetBalanceRequest>
      </urn:GetBalanceReq>
   </soapenv:Body>
</soapenv:Envelope>

И ответ:

<SOAP-ENV:Envelope "...">
   <SOAP-ENV:Header>
    "..."
   </SOAP-ENV:Header>
   <SOAP-ENV:Body id="_0">
      <GetBalanceResponse xmlns="urn:ebay:api:PayPalAPI">
         <Timestamp xmlns="urn:ebay:apis:eBLBaseComponents">2011-10-20T17:27:54Z</Timestamp>
         <Ack xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack>
         <CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents">e6bb1ac6861d7</CorrelationID>
         <Version xmlns="urn:ebay:apis:eBLBaseComponents">83.0</Version>
         <Build xmlns="urn:ebay:apis:eBLBaseComponents">2183220</Build>
         <Balance xsi:type="cc:BasicAmountType" currencyID="USD">0.00</Balance>
         <BalanceTimeStamp xsi:type="xs:dateTime">2011-10-20T17:27:54Z</BalanceTimeStamp>
      </GetBalanceResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
...