我正在使用 C# 在 Visual Studio .Net 2010 上创建一个 Windows 应用程序。互联网上有一个使用 API 方法的有效 Web 服务。这是其中之一的示例,它们使用 SOAP 消息:因此,您在此 SOAP 请求中输入用户名和密码字符串:
POST /anp.asmx HTTP/1.1
Host: api.anp.se
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://api.anp.se/GetOptOutList"
<?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>
<GetOptOutList xmlns="http://api.anp.se/">
<strUsername>string</strUsername>
<strPassword>string</strPassword>
<strMailingListID>string</strMailingListID>
</GetOptOutList>
</soap:Body>
</soap:Envelope>
SOAP 响应的格式如下所示:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?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>
<GetOptOutListResponse xmlns="http://api.anp.se/">
<GetOptOutListResult>
<xsd:schema>schema</xsd:schema>xml</GetOptOutListResult>
</GetOptOutListResponse>
</soap:Body>
</soap:Envelope>
当您单击调用按钮时,在线服务会返回一个 XML 数据集,这是结果的片段:
<DataSet xmlns="http://api.anp.se/">
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Report">
<xs:complexType>
<xs:sequence>
<xs:element name="SendQueueID" type="xs:int" minOccurs="0"/>
<xs:element name="SendTime" type="xs:dateTime" minOccurs="0"/>
<xs:element name="Subject" type="xs:string" minOccurs="0"/>
<xs:element name="SubscriberCount" type="xs:int" minOccurs="0"/>
<xs:element name="MailingList" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Report diffgr:id="Report1" msdata:rowOrder="0">
<SendQueueID>1235163</SendQueueID>
<SendTime>2011-06-20T12:26:54.25+02:00</SendTime>
<Subject>Tack för din bokning</Subject>
<SubscriberCount>939</SubscriberCount>
<MailingList>Tack för din bokning 2011-06-20</MailingList>
</Report>
<Report diffgr:id="Report2" msdata:rowOrder="1">
<SendQueueID>1235146</SendQueueID>
<SendTime>2011-06-20T12:15:55.62+02:00</SendTime>
<Subject>Välkommen hem</Subject>
<SubscriberCount>688</SubscriberCount>
<MailingList>Välkommen hem 2011-06-20</MailingList>
</Report>
<Report diffgr:id="Report3" msdata:rowOrder="2">
<SendQueueID>1235128</SendQueueID>
<SendTime>2011-06-20T12:08:54.277+02:00</SendTime>
<Subject>Trevlig resa</Subject>
<SubscriberCount>832</SubscriberCount>
<MailingList>Trevlig resa 2011-06-20</MailingList>
</Report>
<Report diffgr:id="Report4" msdata:rowOrder="3">
<SendQueueID>1232232</SendQueueID>
<SendTime>2011-06-17T12:07:54.767+02:00</SendTime>
<Subject>Tack för din bokning</Subject>
<SubscriberCount>398</SubscriberCount>
<MailingList>Tack för din bokning 2011-06-17</MailingList>
</Report>
如果您向我推荐一个教程,请确保它直截了当并且很有用,因为我已经看到了很多对我没有帮助的教程。我需要处理数据集。如何获取数据集对象以及如何访问其中的数据?我是否必须向我的项目添加服务首选项?应该是什么类型的 .Net 项目?提前致谢。