我通过http://api5.silverpop.com/SoapApi?wsdl在.NET中使用Web服务接口。对于Silverpop的ExportList请求,查询中的标签仅允许标准属性,即LIST_ID,EXPORT_TYPE,EXPORT_FORMAT,ADD_TO_STORED_FILES,DATE_START和DATE_END;但是我需要发送额外的COLUMN属性作为我的请求的一部分。我正在尝试找出如何扩展参考文件以支持其他字段。
标准/默认属性:
<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&#39;不包含&#39; COLUMN&#39;
的定义答案 0 :(得分: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>
});