如何在ASP.NET Web服务中控制参数类型标记?我得到< XML>串LT; / xml> 在一个Web应用程序中,<数据>串LT; / data> 在其他...有没有办法控制这个?
[WebMethod]
public bool TestFunction(string xml)
{
//DO SOMETHING
return true;
}
<?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>
<TestFunction xmlns="http://tempuri.org/">
<xml>string</xml> //<data>string</data>
</TestFunction>
</soap:Body>
</soap:Envelope>
编辑:我忘了重命名功能
答案 0 :(得分:3)
使用您指定的参数名称公开任何方法。如果您将方法更改为public bool TestFunction(string FooBar)
,则字符串将位于生成的XML中的<FooBar>string</FooBar>
标记中。
使用WCF时,您可以使用消息合同或应用MessageParameter来指示序列化程序使用备用名称来更改此行为:
public bool TestFunction([MessageParameter(Name="YourName")]string xml)
但是,我不知道这是否也适用于ASP.Net Web服务。