我尝试向服务器发送soap请求。我有这种肥皂形式,其中 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 ...; }
你能告诉我用什么方法传递枚举值吗?
谢谢! :)
答案 0 :(得分:0)
对于您来说太晚了,但是谁知道呢,也许有一天某人会需要这个问题的答案。
仅发送字符串值(例如: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>