将 XML 作为参数传递给 Web 服务

2024-04-24

In an answer https://stackoverflow.com/questions/2597056/is-there-an-xmlencode-xmldecode-for-net/2597262#2597262对于另一个问题,有人提到将 XML 作为字符串参数传递给 Web 服务是不好的做法。这是什么原因呢?


这个问题至少部分是由于我对包含 XML 的字符串参数在 Web 服务设计中是不好的做法的评论造成的。原因如下:

如果 Web 服务作者希望他的服务接受 XML,无论是否带有架构,那么他应该将参数定义为 XML 架构类型<xs:any/>。这允许任意 XML 元素。可以通过使用来限制允许的 XML<xs:any namespace="xml namespace" processContents="strict" />。这会将 XML 限制为来自特定命名空间,并将根据模式验证 XML。此类消息的接收者将能够将其作为纯 XML 或可能作为类型进行处理object or XmlElement或同等平台。

相反,如果 XML 作为字符串传递,则接收者必须采取措施将其转换回 XML。这假定实际的 XML 已正确编码到字符串中。

传递字符串还会失去 XML 的优势。例如,编码后的 XML 无法通过基于 XML 的工具(例如 XSLT)轻松处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 XML 作为参数传递给 Web 服务 的相关文章

随机推荐