更改命名空间前缀 WCF 信封

2024-01-23

我想知道是否可以更改 WCF SOAP 请求的命名空间前缀?

正如您在下面的示例中看到的,The Envelope 的命名空间为“http://www.w3.org/2005/08/addressing”,前缀为“a”。我想将其更改为“foo”。我怎样才能做到这一点。 注意我无法控制服务代码,我只能从 WSDL 创建代理类。

 <s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<a:Action s:mustUnderstand="1">http://www.starstandards.org/webservices/2005/10/transport/operations/MyAction</a:Action>
<h:payloadManifest xmlns="http://www.starstandards.org/webservices/2005/10/transport" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://www.starstandards.org/webservices/2005/10/transport">
<manifest contentID="Content0" namespaceURI="http://www.starstandard.org/STAR/5" element="TESTMETHOD" version="5.2.4"></manifest>
</h:payloadManifest>
<h:Identity xmlns="urn:xxx/xxx/" xmlns:h="urn:xxx/xxx">
<SiteCode>XXXXXX</SiteCode>
</h:Identity>
<a:To>urn:xxx/xxx/Method1</a:To>
<MessageID xmlns="http://www.w3.org/2005/08/addressing">XXXXX</MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
</s:Header>

这可以通过使用 MessageFormatter 在客户端或服务器端完成。您还可以使用 MessageEncoder 更改此设置,但这有很多问题。

本文介绍了如何使用 MessageFormatter 在服务器端执行此操作,以及 MessageEncoder 的缺点:

http://vanacosmin.ro/Articles/Read/WCFEnvelopeNamespacePrefix http://vanacosmin.ro/Articles/Read/WCFEnvelopeNamespacePrefix

您需要做的是应用 MessageFormatter 客户端(可能使用 ApplyClientBehavior 而不是 ApplyDispatchBehavior)。此外,在自定义消息类中,您需要添加名称空间作为属性,并带有“foo”前缀(在 OnWriteStartEnvelope 方法中)。

不幸的是,没有简单的方法(例如应用某些属性)来进行您需要的更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改命名空间前缀 WCF 信封 的相关文章

随机推荐

  • 在 MAX(DATE) 上左连接

    我有 2 个表 交易 a 和价格 b 我想从表 b 中检索交易日期有效的价格 表a包含物品交易的历史记录 商店类型 日期 文章 表 b 包含商品价格的历史记录 商店类型 日期 文章 价格 目前我有这个 Select a Store type
  • opencv 更新单应性矩阵以适合双倍大小的图像

    我正在使用光流进行视频稳定 为了使 calcOpticalFlowPyrLK 更快地工作 我将原始图像缩小了 2 倍并在其上运行该函数 如何修改单应矩阵 通过 findHomography 检索 以便能够扭曲透视原始的较大图像 这有点晚了
  • 如何重置/初始化变量?

    我遇到了变量问题 首先看到这段代码 然后我会解释我的问题 if pygame Rect colliderect hammer rect mole rect random locations 100 440 350 440 600 440 1
  • 重新采样环回捕获

    我使用以下代码成功从 Wasapi 捕获声音 IWaveIn waveIn new WasapiLoopbackCapture waveIn DataAvailable OnDataReceivedFromWaveOut 我现在需要做的是将
  • 对于具有动态标头的大部分静态页面来说,最佳的 Rails 缓存选项是什么

    我有一组主要是静态的页面 除了它们的布局包含更加动态的标题之外 我很乐意将其页面缓存相对较长的时间 到目前为止 最有前途的想法似乎是使用不带布局的操作缓存 class SomethingController lt ApplicationCo
  • iOS 脸书集成

    我正在开发简单的 Facebook 集成 允许用户将高分发布到他们的墙上 doodlejump 处理这个问题的方式是我的灵感来源 我可以使用它 但它不是很干净 我不知道该怎么做 我按照以下说明进行操作http developers face
  • 在Python中从目录(有大量文件)中选择随机文件

    我有一个包含大量文件 约 100 万 的目录 我需要从此目录中选择一个随机文件 由于文件太多 os listdir自然需要永恒的时间才能完成 有什么办法可以绕过这个问题吗 也许以某种方式了解目录中的文件数量 不列出它 并选择随机生成 n 的
  • 在项目中包含 image_picker 时出错(Flutter)

    为什么当我执行项目时不断出现此错误 一旦我将 image picker 放入我的 pubspec 中 就会发生这种情况 失败 构建失败并出现异常 什么地方出了错 任务 app processDebugResources 执行失败 Andro
  • R group by 和aggregate - 使用 plyr 返回组内的相对排名

    更新 我有一个数据框 测试 如下所示 session id seller feedback score 1 1 282470 2 1 275258 3 1 275258 4 1 275258 5 1 37831 6 1 282470 7 1
  • R 热图,Y 轴上的标签非常接近

    我正在使用 R 绘制 CSV 文件中数据的热图 10 列 条件和 1000 罗瓦 以下是我正在使用的代码 nba lt read csv 1317754115 csv sep nba matrix lt data matrix nba ce
  • 表动态加载SAPUI5/UI5

    我想在 SAPUI5 Table 组件中显示大量数据 我曾经通过动态加载来实现这些数据表 这意味着该表最初加载了约 50 条记录 用户向下滚动足够远后 下一组 50 条记录将加载到表中 这样我就可以显示包含超过 160 000 个条目的表格
  • 如何调试在客户计算机上崩溃的 Windows 应用商店应用程序?

    我收到一位客户的支持电子邮件 说他的应用程序在启动时崩溃 他收到的只是一条类似以下的消息 应用程序名称 遇到问题您可以向 Microsoft 发送有关以下内容的信息 出了什么问题来帮助改进这个应用程序 将发送给 Microsoft 的文件
  • Android Studio 禁用换行

    我在 Android Studio 上有这个奇怪的换行符 我想禁用它 因为它让我害怕 It s also available under the context menu
  • 放弃对 JRE 1.3 的支持

    我们提供了一个流行的开源 Java FTP 库 称为edtFTPj http www enterprisedt com products edtftpj overview html 我们希望放弃对 JRE 1 3 的支持 这将清理代码库 并
  • 将 Python 字典列表转换为 Postgresql json 数组

    我正在尝试将 jsonb 元素的 Python 2 7 列表插入到具有数据类型列的 Postgresql 9 4 表中 jsonb 这是一些代码 import json anArray name Joe age 51 yob 1964 ge
  • 通过手写汇编调用本机代码

    我正在尝试从托管程序集中调用本机函数 我已经在预编译库上完成了此操作 一切都很顺利 目前我正在建立自己的图书馆 但我无法完成这项工作 本机 DLL 源代码如下 define DERM SIMD EXPORT declspec dllexpo
  • 春天。 @RequestBody 的映射字段与 @PathVariable

    现在我有这样的代码 RestController public class ChildController RequestMapping value parents parentId addChild method RequestMetho
  • 从选定的数据库中选择选项值

    我有一个小问题 我有一个 edit php 页面 该页面列出了可以编辑的产品信息 我运行一个查询 while rows mysql fetch assoc query echo
  • 如何使用 Cython 将 Python 3 编译为 C

    我正在尝试将 Python 3 脚本转换为 C 然后将该 C 文件编译为可执行文件 我有这个简单的 python 脚本 def greet name print Hello 0 format name if len name gt 0 el
  • 更改命名空间前缀 WCF 信封

    我想知道是否可以更改 WCF SOAP 请求的命名空间前缀 正如您在下面的示例中看到的 The Envelope 的命名空间为 http www w3 org 2005 08 addressing 前缀为 a 我想将其更改为 foo 我怎样