【发布时间】:2012-02-28 20:07:33
【问题描述】:
我的服务应该为操作 ILogging/LogMessage 解析 SOAP 请求,该操作具有“日志条目”作为 SOAP 主体内的根元素。为此,我有一个方法 LogMessage,它需要 LogMessageRequest 类型的参数。
LogMessageRequest 的 MessageContract 属性设置为 WrapperName 作为日志条目:
[MessageContract(WrapperName = "log-entry")]
public class LogMessageRequest
{
...
}
我还期待另一个操作 ILogging/LogException 的 SOAP 请求,其中 'log-entry' 作为 SOAP 正文中的根元素。为此,有一个方法 LogException 和一个 LogExceptionRequest 类型的参数。
这两种 SOAP 操作的区别在于,'log-entry' 中的子元素 'message' 不同(对于 LogMessage,'message' 是一个字符串,对于异常,它是一个复杂实体)。
问题: 由于 LogMessageRequest 和 LogExceptionRequest 具有相同的包装器名称(日志条目),我收到一个源自 LogException 的异常,说“日志条目已由 LogMessage 导出”。
我尝试对两者使用相同的请求类,并使用对象类型的“消息”。但这不起作用。
有什么建议吗? (顺便说一下,没有改变 SOAP 请求的范围)。
【问题讨论】: