如何将消息上下文标头添加到apache axis 2 Java

2023-12-31

我正在从事网络服务工作。我想知道如何向 JAX-WS 类型 Web 服务中的 SOAP 请求添加标头。

像这样考虑我的标题。

    Map<String, List<String>> headers = new HashMap<String, List<String>>();
    headers.put("Username", Collections.singletonList("aaaa"));
    headers.put("Password", Collections.singletonList("aaaa"));

我的客户端类中有存根对象。我正在使用 Apache Axis 2。所有类都是自动生成的。

SimpleSTub stub = new Simplestub();

我想在客户端添加此标头信息。

MessageContext.HTTP_REQUEST_HEADERS, headers

Edit

普通类中的实际实现为

私有静态最终字符串 WS_URL = "http://localhost:9999/ws/hello?wsdl";

公共静态无效主(字符串[] args)抛出异常{

网址 url = 新网址(WS_URL); QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");

Service service = Service.create(url, qname);
HelloWorld hello = service.getPort(HelloWorld.class);

/*******************UserName & Password ******************************/
Map<String, Object> req_ctx = ((BindingProvider)hello).getRequestContext();
req_ctx.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, WS_URL);

Map<String, List<String>> headers = new HashMap<String, List<String>>();
headers.put("Username", Collections.singletonList("mkyong"));
headers.put("Password", Collections.singletonList("password"));
req_ctx.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
/**********************************************************************/

System.out.println(hello.getHelloWorldAsString());

任何人都可以告诉如何实现这一目标。

Thanks.


您正在利用现有的解决方案。实现这一目标的最基本方法是

  1. 在您的客户端代码中,获取对MessageContext通过BindingProvider在你的SimpleStub

    Map<String,Object> context = ((BindingProvder)stub).getRequestContext()
    Map<String,List> headers = context.get(MessageContext.HTTP_REQUEST_HEADERS)
    
  2. 更新地图并将其放回到请求上下文对象中

    context.put(MessageContext.HTTP_REQUEST_HEADERS,headers)
    

    以上一切都很好。但是,如果您尝试执行我认为添加身份验证参数的操作,则推荐的方法是

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

如何将消息上下文标头添加到apache axis 2 Java 的相关文章

随机推荐

  • iOS 7.1 滑动解锁文字动画

    我不确定以前是否有人问过这个问题 但我很难找到它 也许我没有使用正确的搜索词 所以如果答案已经存在 如果有人能指出我正确的方向 我将不胜感激 我刚刚注意到 随着 iOS 7 1 的更新 锁屏 滑动解锁 文本上的闪烁动画发生了变化 聚光灯现在
  • 什么时候编写“ad hoc sql”与存储过程更好[重复]

    这个问题在这里已经有答案了 我的应用程序中有 100 的即席 SQL 我的一个朋友建议我转换为存储过程以获得额外的性能和安全性 这在我脑海中提出了一个问题 除了速度和安全性之外 还有其他理由坚持使用即席 SQL 查询吗 SQL Server
  • 将 Camunda 嵌入现有 Java 应用程序

    我已经提取了 Camunda 最新映像并在它自己的 docker 容器中运行 Camunda 我有一个 dmn 上传到 Camunda Cockpit 并且我能够进行 Rest 调用以从我上传到 Camunda Cockpit 的决策表中获
  • 错误:访问属性“处理程序”的权限被拒绝

    我有一个 Firefox 的 Greasemonkey 脚本 昨天运行得很好 我今天尝试使用它 没有修改代码 我注意到它停止工作 经过进一步检查 脚本现在抛出以下错误 Error Permission denied to access pr
  • 我可以将 cperl 模式与 perl 模式着色一起使用吗?

    Emacs cperl 模式似乎比 perl 模式更容易混淆 但彩虹糖效应使该东西对我来说无法使用 有谁知道或知道 emacs 块的示例 该示例使 cperl mode 使用 perl mode 的着色 理想情况下以一种足够可读的形式 以便
  • 寻找适合企业网站的轻文本富编辑器,比tinymce更轻,带有用于评论表单的基本按钮

    我正在寻找适合企业网站的轻文本富编辑器 比tinymce更轻 带有用于评论表单的基本按钮 重要的是编辑器也可以在 IE6 中运行 到目前为止 我尝试使用 cleditor 15KB 但当按 enter 键时 IE 出现问题 客户有问题 Jq
  • EmberJS 使用 HasMany 取消(回滚)对象

    假设我有一个 ParentObjecthasMany项目 我想在我的应用程序中实现取消功能Add将回滚所有内容的路线 简而言之 我有 父对象IsNew and IsDirty 并且有可能 项目 也将是IsNew and IsDirty 所以
  • 使用 like 关键字在单个查询中匹配多个标题

    使用 like 关键字在单个查询中匹配多个标题 我正在尝试获取与给定标题匹配的所有记录 下面是数据库的结构请参阅 数据库截图 https prnt sc JduJ6NSIr1E 当我传递单个类似查询时 它返回数据 Query SELECT
  • 聚焦离子输入时有没有办法隐藏键盘?

    我想要一个可以聚焦的离子输入 并且键盘不应该出现 有什么办法或者有可能吗 谢谢你 是的 安装这个插件 gt https ionicframework com docs native keyboard https ionicframework
  • 在Scheme中注释代码

    我正在查看一些代码Scheme from Festival并且似乎无法弄清楚评论 目前 我可以看到 and 用于指示注释行 网络上的其他来源表明上面的一些可能是指示多行注释的方法 我的问题是 有什么区别 and 用于发表评论 什么时候应该使
  • mvc 和 webapi 之间的身份验证(单独的域/应用程序)

    我正在为以下场景寻找好的想法 资源 实现 MVC 网站位于http mywebsite com http mywebsite com Webapi REST 服务位于http myapi com http myapi com 重要信息 请注
  • 如何为 Arduino IDE 安装 openCV 库?

    我正在开发一个使用面部跟踪 对象跟踪 面部识别等的 Arduino 项目 为了实现这一目标 我决定使用 OpenCV 库 然而问题是 我不知道如何安装 Arduino 和处理的 OpenCV 库 谁能告诉我该怎么做 谢谢 如果您使用的是处理
  • 绘制多条路线谷歌地图

    我想根据Google中的路线服务绘制多条路线 代码如下 p s Data是我从json调用中获得的列表 for i 0 i lt 20 i route data i start new google maps LatLng route fr
  • Visual C# Studio 项目中的哪些文件不需要版本控制?

    我是 Visual C Studio 的新手 实际上使用的是 Express 版本 但另一个开发人员正在使用完整版本 并且我们正在使用版本控制 svn 将项目文件添加到存储库对我来说是可以接受的 因为此存储库仅适用于我们两个使用 Visua
  • 为什么我的 vscode 光标在 div 周围显示一个块

    一旦我进入 DIV 标签或任何函数 我的 vscode 就会在这些标签周围显示一个空白框 在此输入图像描述 https i stack imgur com GhhQ2 png我也添加了一张图片 有人可以帮我禁用这个吗 所以我只能看到光标 看
  • tf.keras - 尽管使用 GPU 内存,但第一个时期的训练并未取得进展

    我一直在尝试训练使用 Keras 的 Tensorflow 实现编写的 CNN 看起来训练在到达第一个 epoch 时就陷入了困境 尽管根据 nvidia smi 的说法 我的 GPU 似乎仍在使用内存 也没有错误消息或回溯打印到终端 这使
  • 如何重置 blueimp jQuery 文件上传插件?

    要旨 如何重置 blueimp jQuery 文件上传插件 使其认为尚未上传任何文件 我的场景 我有一个上传表单 只允许上传一个文件 文件上传后 就会对其进行分析 此时 用户可以选择单击 取消 按钮 我可以在其中重置视图模型的其余部分 当用
  • 网格视图根据屏幕尺寸自动显示列数

    我正在使用 Gridview 我想在其中显示一些图片 我希望我的网格视图在所有尺寸的屏幕上都看起来不错 我的意思是我正在为不同的 Android 设备开发我的应用程序 例如三星 Galaxy Grand 普通设备 三星 Tab 4 7 英寸
  • 调用 shell 脚本时是否会完整读取?

    我问这个问题是因为我最近对正在执行的 KornShell ksh 脚本进行了更改 保存更改后不久 执行过程失败 从错误消息来看 运行的进程似乎已经看到了我的一些 但不是全部 更改 这强烈表明 当调用 shell 脚本时 整个脚本不会读入内存
  • 如何将消息上下文标头添加到apache axis 2 Java

    我正在从事网络服务工作 我想知道如何向 JAX WS 类型 Web 服务中的 SOAP 请求添加标头 像这样考虑我的标题 Map