首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF消息:到元素更改的协议

WCF消息:到元素更改的协议
EN

Stack Overflow用户
提问于 2012-11-04 19:58:25
回答 1查看 217关注 0票数 1

我在.NET中有一个WCF服务,根据要求,头中的Action必须是.NET,to元素必须是"ws://xyz",这样服务才能识别和响应请求。然而,操作的soapAction在WSDL中是空白的,不能更改。

我以编程方式构建的服务配置如下:

  • Soap11信封版本和WSAddressing10寻址版本的文本信息编码绑定
  • 无保安招投标
  • http传输绑定

我发现实现这一要求的设置是"ws://xyz“作为端点URL,Request.Headers.Action在BeforeSendRequest中设置为"http://abc”,使用附加到端点的端点行为添加消息检查器。然后,我还用“ClientViaBehavior”的网址附加了一个http://abc"

在我的开发机器上,这会根据需要造成。

代码语言:javascript
复制
<a:Action>http://abc</a:Action>
<a:To>ws://xyz</a:To>

但是,它在测试服务器上生成

代码语言:javascript
复制
<a:Action>http://abc</a:Action>
<a:To>http://xyz</a:To>

我不知道服务器的确切配置,但我相信它是Windows服务器,也是我的开发框。相同的代码是否在两台不同的机器上生成不同的消息,或者我如何实现这一点?我也应该说,这几个星期很好,并在上星期一停止。

我后来发现了以下内容:测试服务器上有.NET 4.5,还有我尝试过的另一台机器(也失败了)。它运行良好的开发机器上只有.NET 4.0,这意味着它可能与它有关。然而,我没有证据表明它是由.NET 4.5引起的,因为它是在问题出现前几周安装的。此外,自从Windows停止工作以来,就没有任何Windows更新了!我还尝试在我的ClientMessageInspector实现中设置to元素,但是协议仍然被切换到http。

EN

回答 1

Stack Overflow用户

发布于 2012-11-06 10:56:28

我认为BeforeSendRequest并不是因为您的服务绑定错过了信任而被调用的。检查是否将扩展配置添加到您希望具有此行为的服务端点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13222300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档