【问题标题】:Testing WCF service wsHttpBinding with security mode="TransportWithMessageCredential"使用安全模式 =“TransportWithMessageCredential”测试 WCF 服务 wsHttpBinding
【发布时间】:2012-12-05 17:45:39
【问题描述】:

我尝试使用soapUI进行测试,但是启用安全性时它不支持wsHttpBinding。使用 wsHttpBinding 并且没有安全性时,soapUI 确实有效。

我们还试用了 WCF Storm,它确实有效,我们可以加载我们的客户端配置文件,但是我们正在寻找 WCF Storm 的其他替代品。

是否有任何其他类似于soapUI的工具,SO推荐并且可以与上述配置一起使用?

【问题讨论】:

    标签: wcf ws-security wshttpbinding


    【解决方案1】:

    wsHttpBinding 只是微软对一些 WS-* 相关配置的晦涩命名。 SOAPUI 支持一些与安全相关的配置,如果您使用TransportWithMessageCredential 安全模式,您应该没有问题。您只需要连接到正确安全的 HTTPS 端点和 provide credentials (User name) 即可满足您的请求(也可能是时间戳)。

    【讨论】:

    • 谢谢 - 我会再试一次。但是我在soapUI论坛soapui.org/forum/viewtopic.php?f=2&t=15153看到了这个帖子——声称soapUI不支持WsHttpBinding,所以我有点困惑?
    • 支持取决于在 WSHttpBinding 上配置的其他功能。如果您不使用分布式事务、可靠消息传递和高级安全性(即Message 模式),您应该没问题。您需要通过 HTTPS 使用带有 WS-Addressing 1.0 + UserName 1.0 令牌的 SOAP 1.2 和纯文本密码。所有这些都应该在 SOAPUI 中可用。
    • 嗨,我知道这个答案是几年前的,但目前我遇到了类似的挑战,可以使用您的意见。如果您有任何带宽,请参阅stackoverflow.com/q/32703632/247184 - 谢谢。
    【解决方案2】:

    我的解决方案是使用传出 WS-Security 配置,我将解释步骤:

    • “显示项目视图”(右键单击 Proyect 文件夹)
    • 转到“WS-Security 配置”选项卡
    • 在顶部添加图标并指定“用户”或其他内容。
    • 然后转到第二个添加图标(底部面板)并在“PasswordText”中输入用户名、密码和 PasswordType(保留其他 2 个复选框)。
    • 最后转到soap请求,选择基本授权和“传出WSS:”用户或您创建的其他用户。

    请记住在添加传出 WSS 后关闭所有请求窗口。

    希望对你有帮助,干杯。

    【讨论】:

      【解决方案3】:

      我在尝试使用 wsHttpBinding 和 TransportWithMessageCredential 安全设置测试 wcf 服务时遇到了类似的问题。

      在每次调用时,SoapUI 都会收到一条错误消息,说明:

      无法处理该消息。这很可能是因为操作“http://www.mysite.com/ISomeService/SomeMethod”不正确,或者因为消息包含无效或过期的安全上下文令牌,或者因为绑定之间存在不匹配。如果服务由于不活动而中止通道,则安全上下文令牌将无效。为防止服务过早中止空闲会话,请增加服务端点绑定的接收超时。

      经过多次试验和错误并浏览网络上的大量文章后,我需要启用 WS-A 寻址并启用 wsa:To 元素。

      这让我更进一步,但我仍然收到相同的错误消息。

      那么关于这个安全上下文的东西,是否需要它?我的客户在每次通话后都会进行处理,因此不需要 SCT 参考:SO post

      设置establishSecurityContext="false" 让我摆脱了安全上下文令牌错误,事实证明一切都准备就绪。

      但是,如果您确实禁用了安全上下文,并且没有启用 wsa:To 元素,那么您将收到如下错误消息:

      由于 EndpointDispatcher 的 AddressFilter 不匹配,接收方无法处理带有 To '' 的消息。检查发送方和接收方的 EndpointAddresses 是否一致。

      但请注意参考帖子。如果您没有在每次调用后处理客户端,那么添加另一个单独的绑定并将建立安全上下文设置为 false 可能是明智之举。

      换句话说:据我目前所知,SoapUI 似乎不支持安全上下文。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-31
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-03
        相关资源
        最近更新 更多