如何创建接收XML的Web服务? [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建接收XML的Web服务? [关闭]相关的知识,希望对你有一定的参考价值。

我需要构建一个接受XML数据的Web服务。 (它必须接受XML,不建议替代格式,因为这不是一种选择。)

我用谷歌搜索了“教程xml webservice c#”(及其各种排列)并遵循了几个教程。我了解如何创建一般的Web服务,并创建了几个基本的Web服务来添加数字,转换温度等。

不幸的是,我所有包含关键字“xml”和“webservice”的搜索只会提供有关如何解析XML文件或从文件中读取XML文件的教程。我需要知道如何在第一时间获得它们。我找不到任何解释如何构建接受XML作为输入的Web服务的东西。

我应该为应该接收XML的webservice方法使用什么参数类型?它是一个字符串?它是一个XmlDocument?别的什么?

有人可以提供指向如何从XSD创建C#类和诸如此类的东西的教程的链接吗?

我发现的一切都表明它通常是通过在C#中创建类然后使用工具来创建XSD来完成的。但是,我需要走相反的方向。我在哪里可以学习这样做?我不在乎我是否必须手工完成;我不是在寻找一种工具来为我做这件事。

显然我对Web服务缺乏经验,所以我感谢您提供的任何帮助。但请不要指导我参加基本的“网络服务教程”,因为我已经完成了几次(当我们开始重复我已经完成的材料时,我停了下来)。

另外,请不要告诉我“您需要了解XML,Web服务,序列化等”以及其他如此广泛的挥手答案。我知道我需要获得这些东西,我正在努力。如果您可以更具体,例如“首先了解c#中的X类,然后了解Y”或“了解WSDL中的X概念,然后了解C#中的Y序列化概念”,这将有所帮助。

如果有人能指导我完成整个过程的任何免费在线课程/教程系列,那也是很棒的。

编辑:好的,显然这个问题并不像我想的那样具体,所以这里有一个例子。

这是另一个代理商将发送到我的网络服务的内容:

<Person>
    <LegalName>
      <FirstName>Ralph</FirstName>
      <LastName>Anderson</LastName>
      <PhoneticFirstName>rah-lf</PhoneticFirstName>
    </LegalName>
    <SSN>122-34-1232</SSN>
    <Demographics>
      <Sex>male</Sex>
      <Height>502</Height>
    </Demographics>
    <DriversLicense>
      <DriversLicenseNumber>1234</DriversLicenseNumber>
      <IssuingState>CA</IssuingState>
    </DriversLicense>
<Person>

我的理解是我需要写这样的东西:

public Service () {

    [WebMethod]
    public void CreateRecord(XmlDocument newRecord)
    {
        // do stuff
    }
}
答案

如果我正确理解了这个问题,你可能想要一个字符串作为参数,并在收到它后解析它。还有其他方法可以完成同样的事情,但没有更多信息,我无法建议。

为了在收到字符串后解析字符串,您可以使用xsd.exe工具将qSD反向工程为C#类:http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx。该命令看起来像xsd.exe /c your.xsd

然后,您将使用XmlSerializer的DeSerialize方法将XML字符串转换为对象。

希望这可以帮助。

以上是关于如何创建接收XML的Web服务? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android App 在片段中创建 ListView 引用时关闭

从活动接收意图后如何创建片段?

无法将 xml 发送到 Web 服务 - 基础连接已关闭。发送时发生意外错误

为 Blogger 上的博客格式化代码片段 [关闭]

如何在片段中使用按钮[关闭]

如何在Web服务器上接收GPS数据?