Thanks to James.
OK now I am fairly certain I have found a bug- when the response
contains an empty string of type xsi:type="xs:string" it does not
return an empty string "" in the soap object. See the PayerBusiness
and Street2 elements, and compare to above:
Wiredump:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:cc="urn:ebay:apis:CoreComponentTypes"
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"
xmlns:ebl="urn:ebay:apis:eBLBaseComponents"
xmlns:ns="urn:ebay:api:PayPalAPI">
<SOAP-ENV:Header>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext"
xsi:type="wsse:SecurityType">
</Security>
<RequesterCredentials xmlns="urn:ebay:api:PayPalAPI"
xsi:type="ebl:CustomSecurityHeaderType">
<Credentials xmlns="urn:ebay:apis:eBLBaseComponents"
xsi:type="ebl:UserIdPasswordType">
<Username xsi:type="xs:string"></Username>
<Password xsi:type="xs:string"></Password>
<Subject xsi:type="xs:string"></Subject>
</Credentials></RequesterCredentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body id="_0">
<GetExpressCheckoutDetailsResponse xmlns="urn:ebay:api:PayPalAPI">
<Timestamp
xmlns="urn:ebay:apis:eBLBaseComponents">2005-12-01T21:14:05Z</Timestamp>
<Ack xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack>
<CorrelationID
xmlns="urn:ebay:apis:eBLBaseComponents">2d37c81c4a88a</CorrelationID>
<Version xmlns="urn:ebay:apis:eBLBaseComponents">2.000000</Version>
<Build xmlns="urn:ebay:apis:eBLBaseComponents">1.0006</Build>
<GetExpressCheckoutDetailsResponseDetails
xmlns="urn:ebay:apis:eBLBaseComponents"
xsi:type="ebl:GetExpressCheckoutDetailsResponseDetailsType">
<Token
xsi:type="ebl:ExpressCheckoutTokenType">EC-7FS78690BK099664M</Token>
<PayerInfo xsi:type="ebl:PayerInfoType">
<Payer xsi:type="ebl:EmailAddressType">j_s_connell@yahoo.com</Payer>
<PayerID xsi:type="ebl:UserIDType">WBMSJH384KUFN</PayerID>
<PayerStatus
xsi:type="ebl:PayPalUserStatusCodeType">unverified</PayerStatus>
<PayerName xsi:type="ebl:PersonNameType">
<FirstName xmlns="urn:ebay:apis:eBLBaseComponents">James</FirstName>
<LastName xmlns="urn:ebay:apis:eBLBaseComponents">Connell</LastName>
</PayerName>
<PayerBusiness xsi:type="xs:string"></PayerBusiness>
<Address xsi:type="ebl:AddressType">
<Name xsi:type="xs:string">James Connell</Name>
<Street1 xsi:type="xs:string">1234 Snowbank Ct.</Street1>
<Street2 xsi:type="xs:string"></Street2>
<CityName xsi:type="xs:string">San Jose</CityName>
<StateOrProvince xsi:type="xs:string">CA</StateOrProvince>
<Country xsi:type="ebl:CountryCodeType">US</Country>
<CountryName>United States</CountryName>
<PostalCode xsi:type="xs:string">95123</PostalCode>
<AddressOwner
xsi:type="ebl:AddressOwnerCodeType">PayPal</AddressOwner>
<AddressStatus
xsi:type="ebl:AddressStatusCodeType">Unconfirmed</AddressStatus>
</Address>
</PayerInfo>
<InvoiceID xsi:type="xs:string">351</InvoiceID>
</GetExpressCheckoutDetailsResponseDetails>
</GetExpressCheckoutDetailsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>