首页 > 解决方案 > 根据 WCF 服务中发布的 xml 内容识别操作,而不在 Url 中包含操作名称

问题描述

如何从发布到 WCF 服务 URL 的 xml 内容中识别操作?假设 WCF 服务 URL 是http://single.mat.nn.com并且客户端不想在 URL 中包含操作名称。问题是根据发布的 xml 内容识别操作。

我无法为这个问题找到任何解决方案。是否可以在 WCF 服务中进行配置,以根据发布到 WCF 服务 URL 的 xml 内容识别操作方法。

标签: wcfwcf-data-serviceswcf-binding

解决方案


SOAP Web 服务基于 HTTP 请求中 SOAPAction 字段请求的对应方法。请参阅下面的屏幕截图。 请求正文中的 SOAPAction 字段和方法部分可以查看具体请求的操作名称。如果要识别这个值,我们可以通过以下两个接口截取SOAP消息,获取该字段的值。在此处输入图像描述

https://docs.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-inspect-or-modify-messages-on-the-client
https://docs.microsoft.com/en -us/dotnet/api/system.servicemodel.dispatcher.idispatchmessageinspector?view=netframework-4.8
这两个接口可以在通信过程中捕获SOAP消息。我们可以检索字段值并对其进行修改。
如果有什么我可以帮忙的,请随时告诉我。


推荐阅读