allposters.com SOAP(http://webservice.allposters.com/)に問題があります。PHP 5.3インストールで(わずかに変更された)nuSOAP PHPライブラリ(http://sourceforge.net/projects/nusoap/)を介していくつかの製品情報を取得しようとしています。
私のリクエストは次のとおりです(すべての文字はこことまったく同じで、エンティティに変換されません):
POST /ProductInformationService.asmx HTTP/1.0
Host: webservice.allposters.com
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://Webservice.Allposters.com/APCF.AffiliateWebService/ProductInformationService/GetProductByProductNumberInformation"
Content-Length: 570
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetProductByProductNumberInformation xmlns="http://Webservice.Allposters.com/APCF.AffiliateWebService/ProductInformationService">
<APCSearchXml>
<WebSiteID>1234567890</WebSiteID>
<SearchTerm>1234567</SearchTerm>
<LanguageID>1</LanguageID>
<CurrencyCode>USD</CurrencyCode>
</APCSearchXml>
</GetProductByProductNumberInformation>
</soap:Body>
</soap:Envelope>
そして、私はエラーを受け取ります
Length cannot be less than zero. Parameter name: length
この特定の応答で
HTTP/1.1 200 OK
Connection: keep-alive
Date: Tue, 08 Jan 2013 18:46:59 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 821
<APC_Search_Results>
<StatusCode>1</StatusCode>
<Search_Error>
<ErrorNumber>1</ErrorNumber>
<ErrorDescription>Length cannot be less than zero. Parameter name: length</ErrorDescription>
</Search_Error>
</APC_Search_Results>
通信は正常に機能しているようです。以前のリクエストから「WebSiteID」要素を削除すると、次のようになります。
Index was out of range. Must be non-negative and less than the size of the collection.
残念ながら、私がWebで見つけたいくつかの例と、Visual Basicのサンプルを含むWebサイトの7ページのドキュメント(これは私が見つけた唯一のドキュメントです)から、私は本当に自分が何であるかを理解できません。行方不明であり、その.NETエラーは私が使用できるものを教えてくれません。
誰かがallposters.comアフィリエイトWebサービスで同様の問題を経験し、アドバイスがありましたか?