如何使用 jquery 将自定义标头添加到 ASMX Web 服务调用?

2023-12-19

我有一个具有以下合同的网络服务:

POST /Service/service.asmx HTTP/1.1
Host: xxx.xxx.xxx
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "xxx.xxx.xxx/Service/Method"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <Request xmlns="xxx.xxx.xxx/Service/">
      <transactiontype>string</transactiontype>
      <username>string</username>
      <password>string</password>
    </Request>
  </soap:Header>
  <soap:Body>
    <Method xmlns="xxx.xxx.xxx/Service/">
      <xml>xml</xml>
    </Method>
  </soap:Body>
</soap:Envelope>

我正在尝试使用 jquery 调用该服务。这是我的代码:

$.ajax({
    url: serverUrl + 'Method',
    type: "POST",
    dataType: "xml",
    data: { xml: "xml" },
    beforeSend: function (req) {
        req.setRequestHeader('Header', '<Request xmlns="xxx.xxx.xxx/Service/">'
                            +'<transactiontype>4</transactiontype>'
                            +'<agencyName>name</agencyName>'
                            +'<username>user</username>'
                            +'<password>pass</password>'
                            +'</Request>');                    
    },
    success: function (data) {
        alert(data.text);
    },
    error: function (request, status, errorThrown) {
        alert(status);
    }
});

但是,标头内容没有传递到Web服务?我该如何将标头凭据传递给我的 Web 服务调用?


soap:Header http://www.w3schools.com/soap/soap_header.asp是 XML/SOAP 数据“有效负载”内的 XML 元素。这与HTTP 标头 http://en.wikipedia.org/wiki/List_of_HTTP_header_fields。在合同中,SOAPAction(随着Content-Length等)是 HTTP 标头。

XmlHttpRequest.setRequestHeader用于指定 HTTP 标头。它与 XML 内部的任何内容(直接)无关。

第一个答案位于最简单的 SOAP 示例 https://stackoverflow.com/questions/124269/simplest-soap-example-using-javascript应该给出如何发出 SOAP 请求的示例。笔记:

xmlhttp.setRequestHeader("SOAPAction", "http://www.webserviceX.NET/GetQuote");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
...
var xml = '<?xml version="1.0" encoding="utf-8"?>' +
    '<soap:Envelope...' + etc;
xmlhttp.send(xml)

它是包含以下内容的 XMLsoap:Envelope和子元素soap:Header and soap:Body.

快乐编码。

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

如何使用 jquery 将自定义标头添加到 ASMX Web 服务调用? 的相关文章

随机推荐

  • 切换到较新版本的 android ndk 时未定义的模块

    我正在尝试从 ndk r11c 升级到 ndk r14 当我运行 r14 时 出现错误 Android NDK 模块 myJNI 依赖模块 png jpeg log 在我的 Android 版本中 LOCAL SHARED LIBRARIE
  • setcookie() 不会在 Google Chrome 中设置 cookie

    我正在阅读一些有关如何设置 cookie 的 PHP 教程 我注意到 cookie 在 FF4 和 IE9 上成功设置 但在 Chrome 11 0 696 60 中没有设置 PHP 文件由 XAMPP localhost 提供 我尝试了
  • 使用脚本或工具仅获取 HTML 元素

    我正在尝试获取大量状态信息 这些信息在网站中编码 主要在 head gt 元素内 我知道我可以使用wget or curl或 python 获取整个页面 但我不想给服务器带来太多不必要的压力 页面本身相当大 复杂 有没有什么方法可以只获取头
  • 出现错误“需要左值作为赋值的左操作数”

    我是 C 新手 在编译简单代码时遇到以下问题 include
  • 如何使用 font-face 缩小 CSS

    我有一个带有字体的样式表 当我使用在线服务缩小 CSS 时 字体停止工作 我采取的方法是提取 font face 代码 缩小 css 的其余部分 然后将 font face 粘贴到缩小后的样式表的顶部 好奇是否有人对此有更好的方法 我使用此
  • 如何在向前传递数据后将数据向后传递到视图控制器?

    我正在开发一个测验应用程序 并且在初始视图控制器之后出现第二个视图控制器 要求您回答问题 在第二个视图控制器上 用户必须按下按钮才能返回到初始视图控制器才能被问到另一个问题 然而 当我从第二个视图控制器返回时 我相信正在创建初始视图控制器的
  • appcelerator titan - 隐藏导航栏android

    是否可以在 Appcelerator Titanium 中永久隐藏 Android 底部导航 关于这个主题有很多问题 但没有很好的解决方案
  • 如何用numpy降序排序?

    我有一个像这样的 numpy 数组 A array 1 3 2 7 2 4 1 3 6 1 2 3 我想按降序对该矩阵的行进行排序 并获取排序矩阵的参数 如下所示 As array 3 1 2 0 1 3 0 2 0 3 2 1 我做了以下
  • Excel vba 重命名复选框

    我有一个包含许多复选框的工作表 Excel 自动将它们命名为 CheckBox1 CheckBox2 等 但是 对于我的文档 我需要将它们全部重命名为 Rij11 1 Rij11 2 等 Rij11 是第 11 行 1 是该行中的第一个复选
  • Java获取不带子字符串的文件扩展名

    我如何在Java中获得文件扩展名而不使用那个愚蠢的方法lastIndexOf etc apache Commons 库有FilenameUtils getExtension http commons apache org proper co
  • 如何计算wpf控件的总渲染时间?

    是否有任何探查器或工具可用于计算特定控件的 渲染时间 渲染时间 控件完全渲染到屏幕上所需的时间 我不知道有什么工具 但如果它只是一个控件 您可以创建一个子类 重写渲染方法并使用秒表来查找一些计时
  • As 公式中出现意外符号,无法找到

    我一直在使用as formula用于设置 glm 我不知道意外的符号在哪里 部分问题是我要转换的字符向量太长 大约有700字 插入两者之间 以便将其转换为公式 错误提示如下 Error in parse text x keep source
  • Webpack-Dev-Server 未显示最新的更改文件

    我正在尝试运行一个使用带有 HMR 和源映射的 webpack 开发服务器的项目 但遇到了问题 当我单独使用 webpack 和我的配置文件时 源映射会在控制台输出中指示 并且 HMR 可以进行页面刷新 但没有服务器 当我尝试使用 webp
  • 使用 Intellij IDE 运行 Scala Dotty 项目

    我使用 Dotty 模板创建了一个基本的 Scala Dotty 项目 并将该项目导入到 IntelliJ IDE 当我使用时一切正常sbt命令行 当我尝试在 IntelliJ IDE 中构建或运行它时 出现以下错误 Error scala
  • C 数组的指针算术

    我正在阅读 K R 中有关数组算术的部分 并发现了一些奇怪的东西 我发布了整个段落以了解上下文 但我主要关注粗体部分 如果 p 和 q 指向同一个数组的成员 则关系如 等都可以正常工作 例如 如果 p 点 则 p 有一个例外 可以使用数组末
  • 可解码嵌套数据,无需在 Swift 中创建额外的类

    我是 iOS 开发新手 很抱歉提前提出愚蠢的问题 我有这样的 json type post comments count 0 can post 1 likes count 0 user likes 0 can like 1 can publ
  • 指定在另一个文件中声明的全局变量的类型

    我如何告诉我的 IDE PHPStorm 某些全局变量不是 未声明 的 而是简单地在其他地方声明的 并有特定的类型 Magento 的一个例子 opcheckout js if response duplicateBillingInfo s
  • 在 Xcode Interface Builder 中 - 为什么编辑器--->排列菜单中的选项(包含“发送到前面”、“发送到后面”)经常被禁用?

    我想做的很简单 在子视图中的图像前面添加一个标签 但是 当选择我的标签时 所有排列选项都将被禁用 不可选择 我发现这种情况经常发生 我几乎不允许在排列菜单中更改对象的 z 轴 这可能是什么原因 避免此功能并以编程方式设置视图顺序是否是更好的
  • && 逻辑和 || 的 True 和 False逻辑表

    C 语言的真 假表 我听说过 C 语言中有一个表 true false for and or 是一种数学 他们说如果 true true true 且 false true false 我只是对此感到困惑 我尝试进行研究 但找不到任何表格
  • 如何使用 jquery 将自定义标头添加到 ASMX Web 服务调用?

    我有一个具有以下合同的网络服务 POST Service service asmx HTTP 1 1 Host xxx xxx xxx Content Type text xml charset utf 8 Content Length l