从soap标头中删除mustUnderstand属性

2024-05-07

如何从轴客户端中的soap标头中删除mustunderstand属性。即使我没有特别设置它,当我设置soap标头信息mustundertand时,actor属性会自动添加到soap消息中。有人知道如何删除它们吗? 我正在使用 Axis2 1.4 版本的 wsdl2java 来创建我的 ws 客户端。


这些解决方案都不适合我,因为:

  • 我正在使用 Axis(不是 Axis2)
  • 我根本不想指定该属性,因为我的服务器对应项不支持它(“'http://schemas.xmlsoap.org/soap/envelope/:必须了解 http://schemas.xmlsoap.org/soap/envelope/:mustUnderstand'属性未声明”是这种情况下的典型答案)。

看着“的答案”将 ws-security 添加到 wsdl2java 生成的类 https://stackoverflow.com/questions/14266237/adding-ws-security-to-wsdl2java-generated-classes/14332481#14332481“帮助我编写了一个对我有用的解决方案:

void addSecurityHeader(Stub stub, final String username, final String password) {
  QName headerName = new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security");  // Or any other namespace that fits in your case
  AtomicReference<SOAPHeaderElement> header 
    = new AtomicReference<SOAPHeaderElement>
        (new SOAPHeaderElement(headerName) {                       
           {  
             SOAPElement utElem = addChildElement("UsernameToken");
             utElem.addChildElement("Username").setValue(username);
             utElem.addChildElement("Password").setValue(password);
           }
           @Override
           public void setAttribute(String namespace, String localName, String value) {
             if (!Constants.ATTR_MUST_UNDERSTAND.equals(localName)) {  // Or any other attribute name you'd want to avoid
               super.setAttribute(namespace, localName, value);
             }
           }
        });
  SOAPHeaderElement soapHeaderElement = header.get();
  soapHeaderElement.setActor(null);      // No intermediate actors are involved.
  stub.setHeader(soapHeaderElement);  // Finally, attach the header to the stub
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从soap标头中删除mustUnderstand属性 的相关文章

随机推荐

  • 根据聚合创建大小均匀的组

    可能是一个新手问题 但我希望根据数据库总大小将我们的服务器库存分成几个大小均匀的组 并且很难弄清楚如何对它们进行分组 我认为 NTILE 可能会起作用 但我就是无法将注意力集中在平均分配组上 我下面的示例只是随机订购服务器 我希望结果是大小
  • 在提供给 sklearn 管道中的分类器之前获取所选特征的名称和数量

    我在用sel SelectFromModel ExtraTreesClassifier 10 threshold mean 选择我的数据集中最重要的特征 然后我想将这些选定的特征提供给我的 keras 分类器 但是我的基于 keras 的神
  • 替换 Select 语句中的 NULL 和空字符串

    我有一个专栏可以有NULL或空白区域 即 值 我想用有效值替换这两个值 例如 UNKNOWN 我发现的各种解决方案建议修改表本身内的值 然而 在这种情况下 这不是一个选项 因为数据库用于开发和 或修补得非常差的第三方应用程序 实际上 我认为
  • R 中的 Tabulizer 包:如何在特定标题后抓取表格

    如何从 PDF 中抓取一些标题文本前面的表格 我正在尝试 tabulizer 包 这是从特定页面获取表格的示例 波兰语 公共卫生需求地图 library tabulizer library tidyverse options java pa
  • 添加 TableRowSorter 将值添加到模型后会导致 java.lang.IndexOutOfBoundsException:无效范围

    将 TableRowSorter 添加到表及其相应模型后 任何相应的添加 专门在 firetabletablerowsinserted 处 都会导致异常 从测试中可以清楚地看出 GetRowCount 返回的值超出了模型范围 但是 在添加排
  • 使用 Jackson 和 Spring 序列化 Joda DateTime

    我在使用 Spring Boot 和 Jackson databind 2 5 2 将 Joda DateTime 从 java 序列化和反序列化为 json 并再次返回时遇到问题 我的 pom xml 看起来像这样
  • 批处理:在特定程序中打开特定文件?

    当记事本是 txt 文件的默认程序时 如何告诉 Windows 在写字板中打开 C test test txt 接受的答案对我不起作用 我不确定这是因为我试图运行的程序 还是因为路径中有空格 即使我用引号引起来 或者其他原因 不管怎样 我可
  • 不构建自己的错误跟踪系统的原因[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 现在我已经多次遇到一个团队的计划 他们想要构建自己的错误跟踪系统 不是作为产品 而是作为内部工具 我听到的赞成的论点通常是这样的 想要通过一些内部构建
  • 无法在 JavaCC 中加载主类

    我是人工智能学生 我们使用 JavaCC 我是新来的 我正在尝试简单的例子 但出现了一些错误 1 我从它的网站下载了JavaCC 0 6 2 我把它解压到C盘 3 我将此代码写入扩展名为 jj 的文件中 PARSE BEGIN Test i
  • 向 Java 类添加编程注释

    使用示例 我想在类字段上添加一个自定义注释 MyContainer 然后在所有此类字段上自动添加相关的 Hibernate 注释 取决于字段类型和属性 另外 我需要向类添加 JAXB XmlType 注释 并使类型名称基于类名称 我还想根据
  • Android 上的透明视频

    有什么办法让Android播放带有透明区域的视频吗 当我尝试在 VideoView 中播放包含透明区域的 WebM 视频时 视图的背景保持黑色 我希望看到透明区域上显示的父视图的背景 而不是黑色 到目前为止 我发现的唯一可行的解 决方案是从
  • C# 多线程 - 在线程之间移动对象

    我正在使用一个 winforms 控件 它既是一个 GUI 元素 又执行一些尚未向开发人员公开的内部处理 当这个组件被实例化时 可能需要 5 到 15 秒的时间才能准备好 所以我想做的就是将它放在另一个线程上 完成后将其带回 gui 线程并
  • 反应本机导航抽屉:按下覆盖层时抽屉不会关闭

    我尝试过很多建议https github com react navigation react navigation issues 5370 https github com react navigation react navigatio
  • 推送通知 Drupal 模块 - 删除设备(Web 服务)

    我已经开始使用这个模块 并且我已经成功注册设备 按照他的作者发布的说明进行操作 here http www danielhanold com story drupal 7 push notifications how to register
  • 如何从传统的java web应用程序(带有web.xml)迁移到spring boot?

    我想将我的项目切换到基于弹簧的产品 我的第一步是将我的 java web 应用程序从生成的 WAR 文件转换为由 spring boot 提供支持的独立可执行 jar 让我们从 github 中获取一个开源 Web 应用程序示例 Vaadi
  • 如何使用 jsPDF 和 HTML2Canvas 从网站获取多页 pdf?

    我有一个使用 HTML2Canvas 来截取屏幕截图的脚本div在页面中 然后使用 jsPDF 将其转换为 pdf 问题是生成的 pdf 只有一页 而屏幕截图在某些情况下需要不止一页 例如 屏幕截图大于 8 5x11 宽度很好 但我需要它来
  • 检查 mySQL 数据库中现有用户的最佳方法? [复制]

    这个问题在这里已经有答案了 我正在尝试在 PHP 中创建用户登录 创建脚本 并且想知道创建用户时检查用户名是否存在的最佳方法 目前 我有以下代码 function createUser uname pword server gt conne
  • 获取带有结束标记且缺少起始标记的精确 html()

    目前对于带有 HTML 的正文 hello p hai p span Welcome span 关于警报 body html 它提醒hello p hai p span Welcome span Fiddle http jsfiddle n
  • 页面错误陷阱的成本

    我有一个应用程序 它定期 每 1 或 2 秒后 通过分叉自身来获取检查点 因此 检查点是原始进程的一个分支 它一直保持空闲状态 直到原始进程发生某些错误时被要求启动 现在我的问题是fork的写时复制机制的成本有多大 每当原始进程写入内存页面
  • 从soap标头中删除mustUnderstand属性

    如何从轴客户端中的soap标头中删除mustunderstand属性 即使我没有特别设置它 当我设置soap标头信息mustundertand时 actor属性会自动添加到soap消息中 有人知道如何删除它们吗 我正在使用 Axis2 1