如何向 SOAP 客户端添加 HTTP 标头

2024-04-28

如果可以将 HTTP 标头添加到 SOAP 客户端 Web 服务调用中,有人可以回答我吗? 上网冲浪后,我唯一发现的就是如何添加 SOAP 标头。

代码如下所示:

var client =new MyServiceSoapClient();
//client.AddHttpHeader("myCustomHeader","myValue");//There's no such method, it's just for clearness
var res = await client.MyMethod();

UPDATE:

The request should look like this
POST https://service.com/Service.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.host.com/schemas/Authentication.xsd/Action"
Content-Length: 351
MyHeader: "myValue"
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header/>
  <s:Body>
    <myBody>BodyGoesHere</myBody>
  </s:Body>
</s:Envelope>

信封中的标头属性应为空


尝试使用这个:

SoapServiceClient client = new SoapServiceClient();

using(new OperationContextScope(client.InnerChannel)) 
{
    // // Add a SOAP Header (Header property in the envelope) to an outgoing request. 
    // MessageHeader aMessageHeader = MessageHeader
    //    .CreateHeader("MySOAPHeader", "http://tempuri.org", "MySOAPHeaderValue");
    // OperationContext.Current.OutgoingMessageHeaders.Add(aMessageHeader);

    // Add a HTTP Header to an outgoing request
    HttpRequestMessageProperty requestMessage = new HttpRequestMessageProperty();
    requestMessage.Headers["MyHttpHeader"] = "MyHttpHeaderValue";
    OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] 
       = requestMessage;

    var result = client.MyClientMethod();
}

See here https://blogs.msdn.microsoft.com/wsdevsol/2014/02/07/adding-custom-messageheader-and-http-header-to-a-wcf-method-call-in-a-windows-store-app-or-windows-phone-app/了解更多详情。

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

如何向 SOAP 客户端添加 HTTP 标头 的相关文章

  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • 适合初学者的良好调试器教程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁知道一个好的初学者教程 在 C 中使用调试器 我感觉自己好像错过了很多 我知道怎么做 单步执行代码并查看局部变量 虽然这常常给我带来问
  • 代码 GetAsyncKeyState(VK_SHIFT) & 0x8000 中的这些数字是什么?它们是必不可少的吗?

    我试图在按下按键的简单动作中找到这些数字及其含义的任何逻辑解释 GetAsyncKeyState VK SHIFT 0x8000 可以使用哪些其他值来代替0x8000它们与按键有什么关系 GetAsyncKeyState 根据文档返回 如果
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • 使用Java Compiler API编译多个java文件

    您好 我需要创建 编译和加载 java 类运行时 使用 FTL 我正在创建 java 源文件 并且如果没有动态依赖项 则能够编译源代码 为了详细说明一个实例 我有两个java源文件 一个接口及其实现类 我可以使用 java 编译器 api
  • 正则表达式删除外括号

    我一直在用这个 s s 正则表达式使用 PHP preg replace 函数删除外括号 在我上一个问题中了解更多信息正则表达式匹配除尾随空格之外的任何字符 https stackoverflow com questions 1076569
  • 通过标签收集自定义帖子类型

    我使用以下代码设置了名为 扇区 的自定义帖子类型 register post type sectors array labels gt array name gt Sectors singular name gt sectors has a
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 如何获取 NSURLConnection 中的默认用户代理字符串?

    我想将文本附加到默认的用户代理标头NSURLConnection 我知道怎么做更改 NSURLConnection 的用户代理 https stackoverflow com questions 1532206 changing the u
  • Pymongo 仅以列表形式返回值

    以下 pymongo 查询为我提供了我需要的所有值 l list db rounds find current strategy PPStrategy4016 myFundsChange 1 id 0 myFundsChange 0 300
  • DataRow(数据表)中的链接

    我正在动态构建一个数据表 并尝试在要添加到数据表的数据行中添加一个 链接 DataTable 在创建后绑定到 GridView 像这样的东西 DataTable dataTable new DataTable foreach Item it
  • 在asp.net core中将字典发布到web api

    我有使用开发的简单 Web apiAsp Net Core我正在尝试使用 HttpClient 发布键值对 我尝试了两种方法 第一种方法 Route api controller action public class Transforma
  • 尝试创建问题时 GitHub API 422 出现意外错误响应

    当向 GitHub API V3 发布问题时 我收到了意外的响应 即422不可处理的实体 但是 错误的详细信息是针对搜索端点的 而不是针对 POST 创建端点的 message 验证失败 errors resource 搜索 field q
  • 动态 PayPal 按钮生成 - 这不是很不安全吗?

    我只是想知道 PayPal 按钮不是动态创建的 非常不安全并且很容易被 破解 吗 Like so
  • 将 std::vector 转换为 .NET List 的最有效方法是什么?

    将 std vector 转换为 NET 列表的最有效方法是什么 为了提供一些背景信息 我使用 C CLI 包装了一个非托管 C 类 C CLI 类保存一个指向 C 类的指针 并且我为每个公共方法都有一个包装器 一种方法返回 std vec
  • 使用 grep 仅打印上下文

    Using grep http www computerhope com unix ugrep htm 您可以打印与您的搜索查询匹配的行 添加一个 C选项将打印两行周围的上下文 如下所示 gt grep C 2 lorem some con
  • “yield”不是“std::this_thread”的成员

    我试图产生当前线程 std this thread yield 但不幸的是 海湾合作委员会更清楚 yield 不是 std this thread 的成员 我是否忘记了一些类似于 D GLIBCXX USE NANOSLEEP 的 hack
  • Lua-迭代嵌套表

    我已经学习 Lua 几个星期了 这一次又一次成为我的症结所在 我尝试阅读有关该主题的帖子和书籍 我使用 Lua 查询软件监控系统 Nimsoft 我的数据以表格形式返回给我 我不会发布整个输出 但这里有一个我认为可以描述结构的片段 表参考是
  • 在 pandas DataFrame 中取消嵌套(分解)多个列表列的有效方法

    我正在将多个 JSON 对象读取到一个 DataFrame 中 问题在于某些列是列表 此外 数据非常大 因此我无法使用互联网上可用的解决方案 它们非常慢并且内存效率低下 我的数据如下所示 df pd DataFrame A x1 x2 x3
  • 是否有 R 函数将 p.value 转换为显着性代码?

    summary显示 p values 的显着性代码 是否有 R 函数将 p value 转换为显着性代码 例如 0 02 gt 和 0 005 gt Use symnum如下所示 symnum了解更多信息 p values lt c 9 5
  • log4net 是否会杀死我的 WCF 单元测试?

    我的解决方案中有三个项目 提供我想要测试的功能的 WCF Web 服务 调用该 Web 服务的 Web 应用程序 对服务运行测试的测试项目 Web 服务和 Web 应用程序都使用 log4net 和单独的配置文件 并在 AssemblyIn
  • C++ 中最难发现的错误[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 服务堆栈上的 SSL

    Mono 上的服务堆栈是否支持 SSL 我只能访问 Mac 我在这里找到的说明要求您使用 Windows 工具创建 pvk 文件 http joshua perina com geo post using ssl https with mo
  • 如何向 SOAP 客户端添加 HTTP 标头

    如果可以将 HTTP 标头添加到 SOAP 客户端 Web 服务调用中 有人可以回答我吗 上网冲浪后 我唯一发现的就是如何添加 SOAP 标头 代码如下所示 var client new MyServiceSoapClient client