WCF 服务合同中使用soapAction="" 进行多项操作?

2024-01-23

我需要创建一项将由第三方“回调”的服务。因此,我需要遵守他们的 WSDL。

他们的 WSDL 定义了所有操作soapAction="",所以我的服务也需要做同样的事情。不幸的是,我收到错误:

操作A和 乙有 相同的动作()。每一次操作 必须具有独特的行动价值。

在ASMX Web服务中,有一种模式不使用soapAction,而是使用请求元素的名称。是否有某种方法不仅使用 WCF 来分派请求元素,而且还可以发出不带soapAction 的 WSDL?


这在 asmx 中是可能的,但在 WCF 中您将找不到开箱即用的干净方法来执行此操作,因为它使用操作将消息分派到操作。

我认为你需要的黑客是将你的soapAction设置为“*”,然后写一个定制调度员 http://weblogs.asp.net/cibrax/archive/2006/01/31/436973.aspx.

这样做的潜在副作用是 WSDL 很糟糕,如果您需要公开 WSDL,则必须生成/窃取它,然后使用外部元数据位置属性 http://msdn.microsoft.com/en-us/library/ms731317.aspx

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

WCF 服务合同中使用soapAction="" 进行多项操作? 的相关文章

随机推荐