在WCF服务契约中,使用soapAction=""进行多个操作?

7
我需要创建一个服务,第三方将通过“回调”方式调用此服务。因此,我需要符合他们的WSDL标准。
他们的WSDL定义了所有操作,包括soapAction = "",所以我的服务也需要这样做。不幸的是,我遇到了以下错误:

操作A和B具有相同的操作()。每个操作必须具有唯一的操作值。

在ASMX Web服务中,有一种模式可以不使用soapAction,而是使用请求元素的名称。是否有一种方法可以在WCF中不仅依据请求元素进行分发,还可以发布不带soapAction的WSDL?
1个回答

11

在asmx中是可能的,但在WCF中您会发现没有简单的方法来实现这一点,因为它使用操作来分发消息。

我认为您需要的解决方法是将soapAction设置为“*”,然后编写自定义调度程序

这样做的一个潜在副作用是会导致不良的WSDL,如果您需要公开WSDL,则必须生成/拿到它,然后使用externalMetadataLocation属性


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接