我剛剛學習如何與eBay API集成,並且我正在努力使事情順利進行。eBay散裝商家服務 - C#中的AddFixedPriceItem結尾
到目前爲止,我可以使用標準交易API列出一個固定價格的物品,但我需要能夠批量上傳物品,因此我正在調查Bulk Merchant Service API。
目前我的工作流程如下:
- 找到優秀的工作,放棄他們
- 創建一個新的
CreateUploadJobRequest
- 創建一個新的
UploadFileRequest
- 創建一個新的
StartUploadJobRequest
- 創建一個新的
GetJobStatusRequest
- 創建一個新的
DownloadFileRequest
一切都很好(我認爲)直到第6步。請求失敗,出現ProtocolException
。
直到那一刻我已經fileReferenceId
的,jobId
的和成功的迴應。我使用的嘗試做這個(討厭的,因爲它是)的代碼是:
httpRequest.Headers.Remove("X-EBAY-SOA-SERVICE-NAME");
httpRequest.Headers.Remove("X-EBAY-SOA-OPERATION-NAME");
httpRequest.Headers.Add("X-EBAY-SOA-SERVICE-NAME", "FileTransferService");
httpRequest.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "downloadFile");
if (jobStatResp != null)
{
var ftclient2 = new FileTransferServicePortClient("FileTransferServiceSOAP");
using (OperationContextScope scope2 = new OperationContextScope(ftclient2.InnerChannel))
{
OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, httpRequest);
DownloadFileRequest downloadReq = new DownloadFileRequest();
downloadReq.fileReferenceId = jobStatResp.jobProfile[0].fileReferenceId;
downloadReq.taskReferenceId = jobStatResp.jobProfile[0].jobId;
DownloadFileResponse downloadResponse = ftclient2.downloadFile(downloadReq);
FileAttachment attachment = downloadResponse.fileAttachment;
FileStream fs = File.Create("response"+Guid.NewGuid());
BinaryWriter writer = new BinaryWriter(fs);
writer.Write(attachment.Data);
writer.Close();
fs.Close();
}
}
我已經經歷了在調試模式下,我得到一個fileReferenceID
和jobID
。
想到的一個問題是,上傳的XML存在問題,我唯一能想到的其他問題是我的一些頭文件存在問題,但我無法看到問題所在是。
理想的情況下,我可以與以下幫助做:調試這一點,並從服務儘可能
- 最佳方式是什麼可能會錯誤
提前致謝,並請告知我是否需要其他信息。
我現在已經設法確定問題是什麼,所以我會在這裏發佈解決方案給其他人可能會遇到這個問題。
內的app.config需要有以下連接到您配置的FileTransferService端點
<mtomMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</mtomMessageEncoding>
感謝
我還要提到的是我穿過的唯一標記是用戶身份驗證令牌,我還沒有在App過去了,證書或開發令牌作爲教程我一直以來表明,我應該。不知道這是否是問題的一部分。 –