2014-07-07 96 views
0

我在.NET中通過http://api5.silverpop.com/SoapApi?wsdl使用Web服務接口。對於Silverpop的ExportList請求,查詢中的標籤只允許標準屬性,即LIST_ID,EXPORT_TYPE,EXPORT_FORMAT,ADD_TO_STORED_FILES,DATE_START和DATE_END;但是我需要發送額外的COLUMN屬性作爲我的請求的一部分。我試圖找出如何擴展參考文件以支持其他字段。如何將標籤添加到.NET中的Web服務引用?

標準/默認屬性:

<Envelope><Body> 
<ExportList> 
<LIST_ID>56008</LIST_ID> 
<EXPORT_TYPE>ALL</EXPORT_TYPE> 
<EXPORT_FORMAT>CSV</EXPORT_FORMAT> 
<ADD_TO_STORED_FILES/> 
<DATE_START></DATE_START> 
<DATE_END></DATE_END> 
</ExportList> 
</Body></Envelope> 

的XML文件,我希望構造:

<Envelope> 
<Body> 
<ExportList> 
<LIST_ID></LIST_ID> 
<EXPORT_TYPE></EXPORT_TYPE> 
<EXPORT_FORMAT></EXPORT_FORMAT> 
<EXPORT_COLUMNS> 
      <COLUMN></COLUMN> 
      <COLUMN></COLUMN> 
      <COLUMN></COLUMN> 
      <COLUMN></COLUMN> 
</EXPORT_COLUMNS> 
</ExportList> 
</Body> 
</Envelope> 

這裏是我的C#代碼:

ListTableExportFormat exportFormat = ListTableExportFormat.CSV; 
ExportType exportType = ExportType.ALL; 

var reportResponse = client.ExportList(
new SilverpopServiceReference.sessionheadertype { sessionid = session.SESSIONID }, 
new SilverpopServiceReference.ExportListRequestType 
{ 
      LIST_ID = listID, 
      EXPORT_TYPE = exportType, 
      EXPORT_FORMAT = exportFormat, 
      <WON'T ALLOW TO ADD COLUMN TAGS HERE AS IT DOESN'T RECOGNISE THEM> 

}); 

我得到的錯誤是: SilverpopServiceReference.ExportListRequestType'不包含'COLUMN'的定義

回答

0

從wsdl的外觀來看,ExportListRequestType沒有COLUMNS成員,因此您無法通過ExportList方法進行嘗試。我確實發現有一個名爲RawRecipientDataExport的方法需要一個RawRecipientDataExportRequestType,它有一個COLUMNS成員,以及ExportListRequestType的所有其他屬性。嘗試更改您的代碼以使用RawRecipientDataExport並查看是否可以獲得您想要的內容。

var reportResponse = client.RawRecipientDataExport(
new SilverpopServiceReference.sessionheadertype { sessionid = session.SESSIONID }, 
new SilverpopServiceReference.RawRecipientDataExportRequestType 
{ 
      LIST_ID = listID, 
      EXPORT_TYPE = exportType, 
      EXPORT_FORMAT = exportFormat, 
      COLUMNS = <YOU CAN DO THIS NOW> 

}); 
+0

感謝您的建議邁克,沒有工作不幸。如果我編輯了SilverpopReference.cs文件並在其中添加了額外的字段,那該怎麼辦? (我嘗試過,運氣不錯,但也許我錯過了什麼?)。 – stats101

+0

沒有工作。我收到一個錯誤,提示「架構驗證處理失敗」 – stats101

+0

當您嘗試我的建議時,您得到的錯誤是什麼?談到SOAP Web服務時,wsdl是法律。您引用的wsdl並不表示ExportListRequestType具有COLUMNS成員。如果您有其他一些說明ExportListRequestType具有COLUMNS成員的文檔,那麼文檔是錯誤的,或者您有錯誤的wsdl。使用這個wsdl,你無法做到這一點。 –

相關問題