Web 服务请求身份验证

2024-03-14

我们真的被困在这里所以我决定寻求你的帮助。

昨天,我被要求帮助使用 Web 服务、获取 WSDL 的 URL 以及要使用的用户凭据。 我从未真正与 Web 服务有任何关系,但对它们有一个总体了解并看到了一些示例,我认为它不会那么糟糕。显然我错了,因为我现在被困住了。

一切似乎都很好,代理类(或客户端)已经生成,除了身份验证部分之外,构建请求并发送它们也很好。我们似乎不知道该怎么做。

使用:

client.ChannelFactory.Credentials.UserName.UserName = "myusername";
client.ChannelFactory.Credentials.UserName.Password = "mypassword";

似乎不起作用。 (当我检查 client.Endpoint.Binding.CreateBindingElements() 返回的 BindingElementCollection 时,没有 SecurityBindingElement)

我已经尝试了很多其他方法,但我认为我错过了一些基本的东西,而且缺乏文档也没有真正的帮助。

所以问题是:使用 WCF 调用 Web 服务时如何发送用户名和密码?

Edit:澄清一下,请求应包含与此类似的内容:

 <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
     <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-25763165">
        <wsse:Username>username</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">1DiaGTkOLk/CZhDaEpbkAaKRfGw=</wsse:Password>
        <wsse:Nonce>6ApOnLn5Aq9KSH46pzzcZA==</wsse:Nonce>
        <wsu:Created>2009-05-13T18:59:23.309Z</wsu:Created>
     </wsse:UsernameToken>
  </wsse:Security>

我有同样的问题。我使用的不是自定义令牌序列化器MessageInspector添加正确的UsernameToken in the BeforeSendRequest方法。然后我使用自定义行为来应用修复。

整个过程都有记录(带有演示项目 http://www.box.net/shared/lu3q83l6kr)在我的博客文章中在 WCF 客户端代理中支持 WS-I 基本配置文件密码摘要 http://blog.benpowell.co.uk/2010/11/supporting-ws-i-basic-profile-password.html。或者,您也可以阅读PDF http://www.box.net/shared/ooom8db1i0.

如果您想跟踪我的解决方案进展,您可以在 StackOverflow 上找到它,标题为“WCF 客户端使用 WS-Security UsernameToken PasswordDigest 身份验证方案使用 Axis 2 Web 服务时出错 https://stackoverflow.com/questions/3102693/error-in-wcf-client-consuming-axis-2-web-service-with-ws-security-usernametoken-p":

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

Web 服务请求身份验证 的相关文章

随机推荐

  • PHP 设置 MySQL 套接字位置

    我以前遇到过这样的问题 我的 C 应用程序在 tmp mysql sock 中寻找套接字 但我的套接字位置已设置为 var run mysqld sock 我现在更改了 my cnf 中的设置 始终将套接字放入 tmp 现在 当我尝试使用
  • 使用 GDI+ 创建的图像未显示在 VB6 LeadTools 中

    我们有使用 VB6 构建的遗留应用程序 这些应用程序正在使用引导工具 一切都很顺利 我们有另一个 NET 进程来优化图像 并做一些水印 并将其保存为 tiff 格式 这是 NET 代码的一瞥 using var bitmap new Bit
  • 使用 Android TabLayout 时单击选项卡不会切换当前选项卡

    我应该自己设置 onClicks 吗 如果是的话 我应该在哪里设置
  • OpenGL在另一个线程中绘图

    我为 Windows 创建了一个简单的 OpenGL 应用程序 它创建一个窗口 然后使用 OpenGL 命令在其上绘制一个三角形 这按预期工作 后来我想将我的绘图代码封装到一个DLL中 以便可以在C WinForms应用程序中使用它来绘制W
  • 包含聚合的更新语句在 SQL Server 中不起作用

    我希望有人可以在这里帮助我的语法 我有两张桌子ansicache encounters and ansicache x refclaim Table The encounters表有一个encounter匹配的列patacctnumber栏
  • 寻找序列中的零岛

    想象一下你有一个很长的序列 找到序列全为零的间隔 或更准确地说 序列下降到接近零值的间隔 的最有效方法是什么abs X
  • 将 Java Applet 迁移到什么/哪里?

    我目前正在审查一个中等规模的代码库 大约 30K LOC 它使用一个巨大的 Applet 并与其他系统交互 它是一个创建自定义标签的工具 因此我们需要拖放和其他相关的 UI 组件 鉴于代码库是 Java 语言 您将迁移到哪种技术 小程序 否
  • 使用 Selenium 登录页面可以工作 - 使用 BS4 进行解析可以工作 - 但不能同时使用两者

    从 Wordpress 论坛获取一些数据需要登录和解析 两个部分 两者作为独立部分都可以很好地工作 我可以使用 selenium 登录 完美 并且我可以使用 BS4 解析 抓取 数据 但是当我将这两个部分结合起来时 我遇到了会话问题 我无法
  • 了解 Scala 类型系统中的 Aux 模式

    这个问题之前可能被问过并回答过 但我想通过一个例子来理解这一点 但我无法推理出 Aux 模式可能有帮助的地方 所以这是特点 trait Foo A type B def value B 为什么我的类型与值函数的返回类型绑定 这样做我能取得什
  • IEnumerable.ToList() 的影响

    我只是想知道打电话时发生了什么 ToList on an IEnumerable在 C 中 这些项目实际上是否被复制到堆上全新的重复项目 或者新列表只是引用堆上的原始项目 我很想知道 因为有人告诉我调用 ToList 的成本很高 而如果只是
  • c openmp并行用于并行区域内

    我的问题是这样的one https stackoverflow com questions 11493265 for loop inside parallel region 但我想做一些不同的事情 例如 在我的并行区域内 我想在 4 个线程
  • Java:非静态嵌套类和instance.super()

    我很难理解 Java 中的非静态嵌套类 考虑以下示例 它先打印 Inner 然后打印 Child class Outer class Inner Inner System out println Inner public class Chi
  • 在 SQL Server 2005 中使用 TABLOCK 和 HOLDLOCK 提示是否会完全阻止插入直到事务结束?

    我需要检索 SQL Server 2005 生成的标识字段 通常我只使用 SCOPE IDENTITY 或向插入添加 OUTPUT CLAUSE 但是这些方法在这种情况下都没有帮助 因为表附加了 INSTEAD OF 触发器 接下来我考虑了
  • C++20 中概念的语法

    在这个问题中我们如何转换需求link https stackoverflow com questions 67133581 check if type has certain value types and the keyword valu
  • 如何管理扩展方法的名称空间?

    您是否为所有扩展方法使用全局的 包罗万象的命名空间 或者是否将扩展方法放在与其扩展的类相同的命名空间中 或者您是否使用其他方法 例如应用程序或特定于库的命名空间 我问是因为我需要延长System Security Principal IId
  • MaterialContainerTransform 转换在返回时不起作用

    我的 MaterialContainerTransform 转换是从源 gt 目标进行的 但反之则不然 我的情况非常标准 我试图提供从 RecyclerView 项目 源片段 到 详细信息 片段 目标片段 的简单转换 RecyclerVie
  • 完全合格的域名是否需要句点?

    我对 FQDN 完全合格域名 感到困惑 FQDN 是否需要以句点结尾 喜欢sun or sun tuc noao edu or sun tuc noao edu 有什么不同 IT 的工作原理 域名 系统 https technet micr
  • Android:IllegalArgumentException:无法找到包含/data/data/的配置根目录

    刚刚进入 Android 的 Glide 图像加载库 使用这里的代码 https github com bumptech glide issues 459 https github com bumptech glide issues 459
  • 有人可以向我解释一下 Flutter 中 Builder 类的作用吗?

    该文档非常混乱和模糊 它是这样说的 建造者类 一个柏拉图式的小部件 它调用闭包来获取其子小部件 这是我的问题 他们所说的 柏拉图式 是什么意思 他们所说的 关闭 是什么意思 这堂课的目的到底是什么 经过长时间在互联网上进行的大量令人费解的研
  • Web 服务请求身份验证

    我们真的被困在这里所以我决定寻求你的帮助 昨天 我被要求帮助使用 Web 服务 获取 WSDL 的 URL 以及要使用的用户凭据 我从未真正与 Web 服务有任何关系 但对它们有一个总体了解并看到了一些示例 我认为它不会那么糟糕 显然我错了