我尝试将肥皂请求发送到服务器。我有这个肥皂形式,其中urn:fetchType是FetchType类型的枚举值:
public enum FetchType
{
AllDetails = 0,
OnlyRoot = 1
}
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="***">
<soapenv:Header/>
<soapenv:Body>
<urn:GetEventList>
<!--Optional:-->
<urn:sessionId></urn:sessionId>
<!--Optional:-->
<urn:filterXml></urn:filterXml>
<urn:fetchType></urn:fetchType>
<urn:subscribe></urn:subscribe>
</urn:GetEventList>
</soapenv:Body>
</soapenv:Envelope>
当我尝试发送1或2时,我收到错误响应:实例验证错误:'1'不是FetchType的有效值。
我也尝试传递类似FetchType.AllDetails的信息并获得响应:实例验证错误:'FetchType.AllDetails1'对于FetchType来说不是有效值。
等等...不同的解决方案。
这是应该接收请求的方法的签名:
public byte[] GetEventList(string sessionId, [XmlElement(DataType = base64Binary")] byte[] filterXml, FetchType fetchType, bool subscribe){ ... some code ...; }
你能说我可以用什么方式传递枚举值吗?
谢谢! :)
最佳答案
对您来说太晚了,但是谁知道呢,也许有一天某人会需要这个问题的答案。
只需发送字符串值(例如:AllDetails
)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="***">
<soapenv:Header/>
<soapenv:Body>
<urn:GetEventList>
<!--Optional:-->
<urn:sessionId></urn:sessionId>
<!--Optional:-->
<urn:filterXml></urn:filterXml>
<urn:fetchType>AllDetails</urn:fetchType>
<urn:subscribe></urn:subscribe>
</urn:GetEventList>
</soapenv:Body>
</soapenv:Envelope>