gpt4 book ai didi

c# - 在 WCF 服务契约(Contract)中使用 soapAction =""进行多项操作?

转载 作者:太空狗 更新时间:2023-10-29 20:08:55 25 4
gpt4 key购买 nike

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

他们的 WSDL 具有使用 soapAction="" 定义的所有操作,因此我的服务也需要这样做。不幸的是,我遇到了错误:

The operations A and B have the same action (). Every operation must have a unique action value.

在 ASMX 网络服务中,有一种模式不使用 soapAction,而是使用请求元素的名称。有没有什么方法可以使用 WCF 不仅在请求元素上进行分派(dispatch),而且还能发出没有 soapAction 的 WSDL?

最佳答案

这在 asmx 中是可能的,但开箱即用,您会发现在 WCF 中没有干净的方法来执行此操作,因为它使用操作将消息分派(dispatch)给操作。

我认为您需要的技巧是将 soapAction 设置为“*”,然后写一个 custom dispatcher .

这样做的一个潜在副作用是糟糕的 WSDL,如果您需要公开 WSDL,您将不得不生成/窃取它,然后使用 externalMetadataLocation attribute

关于c# - 在 WCF 服务契约(Contract)中使用 soapAction =""进行多项操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2605482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com