我开发了一个使用 ebay 的“finditemsAdvanced”api 调用的应用程序。它在 Windows 7 上运行没有问题,但是当我在 xp 机器上尝试它时,函数返回 null !!!我试图在xp上调试它,用vs2010和vs 2008但什么都没有!!!!
这里是搜索类:
public SearchResult Search(Job searchedjob)
{
try
{
EbayFind service = new EbayFind();
service.Url = "http://svcs.ebay.com/services/search/FindingService/v1";
FindItemsAdvancedRequest findrequest = new FindItemsAdvancedRequest();
ItemFilter[] filtro = new ItemFilter[1];
int filter = 0;
//Tempo rimanente
filtro[filter] = new ItemFilter();
filtro[filter].name = ItemFilterType.EndTimeTo;
filtro[filter].value = new string[]
{
searchedjob.TimeLeft.ToString("yyyy-MM-ddTHH:mm:ss.000Z")
};
filter++;
findrequest.keywords = "canon";
findrequest.itemFilter = filtro;
findrequest.descriptionSearch = false;
// Setting the pagination
PaginationInput pagination = new PaginationInput();
pagination.entriesPerPageSpecified = true;
pagination.entriesPerPage = 25;
pagination.pageNumberSpecified = true;
pagination.pageNumber = 1;
findrequest.paginationInput = pagination;
findrequest.paginationInput = pagination;
// Creating an object to the BestMatchService class
FindItemsAdvancedResponse resp = service.findItemsAdvanced(findrequest);
SearchResult res = resp.searchResult;
return res;
}
这里是易趣电话:
class EbayFind : FindingService
{
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
try
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri);
request.Headers.Add("X-EBAY-SOA-SECURITY-APPNAME", "myappid");
request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findItemsAdvanced");
request.Headers.Add("X-EBAY-SOA-SERVICE-NAME", "FindingService");
request.Headers.Add("X-EBAY-SOA-MESSAGE-PROTOCOL", "SOAP11");
request.Headers.Add("X-EBAY-SOA-SERVICE-VERSION", "1.0.0");
request.Headers.Add("X-EBAY-SOA-GLOBAL-ID", "EBAY-US");
return request;
}
catch (Exception ex)
{
throw ex;
}
}
}
此代码适用于 w7 机器,我不明白为什么“res”在 xp 上总是为空!!!安装的网络框架是 3.5 和 4.0,我认为这不是框架问题。有任何想法吗??
谢谢!