【发布时间】:2014-03-26 12:28:48
【问题描述】:
我有一个基于从客户提供的 WSDL 创建的类的 WCF 服务。不幸的是,这个 WSDL 没有包含所需的消息头。客户端将不会提供包含标头的新 WSDL。我确实有一个描述标题的 xsd 文件。
我还有一个示例标题,并且知道我需要填充哪些字段。
如何获取这个提供的标头 XML 并将其注入到出站 WCF 方法调用中? 我想像目前一样调用我的服务方法,但我也希望新的标头结构构成出站消息的一部分。
提前致谢。 任何和所有的帮助将不胜感激。
以下是消息结构的示例: 我需要添加整个标题结构。 WSDL 只包含正文。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<glob:requestHeader xmlns:glob="http://....">
<timestamp>2013-11-14T05:17:41.793+02:00</timestamp>
<traceMessageId>GUID</traceMessageId>
<enterpriseTraceUUId>GUID</enterpriseTraceUUId>
<contentType>TEXT/XML</contentType>
<sender>
<senderId>SENDER</senderId>
<sourceSystem>001</sourceSystem>
<sourceApplication>001</sourceApplication>
<applicationSessionId>ABC</applicationSessionId>
<sourceLocation>100</sourceLocation>
</sender>
<interfaceName/>
<version>1111</version>
</glob:requestHeader>
</s:Header>
<s:Body xmlns:xsi="http://.../XMLSchema-instance" xmlns:xsd="http://.../XMLSchema">
<UserData xmlns="http://.../Base">
<IdField>1005687</IdField>
<UserInfo>
<UserType>1</UserType>
<UserStatus>Y</UserStatus>
</UserInfo>
</UserData>
</s:Body>
</s:Envelope>
【问题讨论】:
-
这就是我想要的。但在这种情况下,我在 WCF 之外定义了一个非常具体的标头结构,并且很难建模。我只想获取 XML 标头块并将其插入到消息中。