xml – Web服务:单字符串参数或复杂类型参数

使用这些方法签名创建公开的Web服务或多或少是可接受的(即标准):
ThisMethodDoesSomething(ComplexType param)

ThisMethodDoesSomethingElse(AnotherComplexType param)

或这个:

ThisMethodDoesSomethingAndSomethingElse(string xml)

正在执行的操作取决于传递给单个do-it-all方法的XML字符串?我一直和前者在一起,但我的同事更喜欢后者,我在开始一个新项目之前试图权衡两种策略的利弊.哪个更容易被公众接受,为什么?

我永远不会发送XML字符串.首先,“XML”与“string”不同.他们不遵循相同的规则.

任何合理的客户端都可以递归地接受由基本类型和列表或基本类型数组组成的复杂类型(C#语法):

public class ComplexType1
{
    public int IntegerProperty {get;set;}
    public int[] ArrayOfIntegers {get;set;}
    public List<int> listofIntegers {get;set;} // Same as ArrayOfIntegers
}

public class ComplexType2
{
    public ComplexType1 CT1 {get;set;}
    public List<ComplexType1> LCT1 {get;set;}
}

坦率地说,任何不能处理上述事情的客户都应该退休.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念