java发布webservice常用的CXF和axis2,业务上需要获取客户端请求头信息

首先CXF实现的webservice获取HttpServletRequest方法,注入jdk中WebServiceContext就可以直接获取


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import javax.annotation.Resource;
import javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.BindingType;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.soap.SOAPBinding;
import java.util.Enumeration;@Component
@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
@WebService(serviceName="MessagePackService", //对外发布的服务名targetNamespace="http://webservice.xxxxxxxxxxxxxxx.com/", //指定你想要的名称空间,通常使用使用包名反转endpointInterface="com.xxxxxxxxxxxxxxxx.webservice.MessagePackService")
@Slf4j
public class MessagePackServiceImpl implements MessagePackService {// 获取HttpServletRequest@Resourceprivate WebServiceContext webServiceContext;@Overridepublic String sayHello(String userName) {HttpServletRequest request = (HttpServletRequest) webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);Enumeration<String> headerNames = request.getHeaderNames();System.out.println(headerNames);System.out.println(userName);return userName;}
}

axis2实现的webservice获取HttpServletRequest方法,需要引入axis2的MessageContext


import org.springframework.stereotype.Service;import javax.servlet.http.HttpServletRequest;
import  org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.http.HTTPConstants;import java.util.Enumeration;@Service
public class MessagePackageImpl implements IMessagePackage {@Overridepublic String test(String  collectionEntity) {MessageContext mc = MessageContext.getCurrentMessageContext();HttpServletRequest request = (HttpServletRequest)mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);Enumeration<String> headerNames = request.getHeaderNames();System.out.println(headerNames);return collectionEntity.toString();}
}

webservice获取HttpServletRequest方法相关推荐

  1. 转:Spring Boot 获取 HttpServletRequest 的方法

    转自: Spring Boot 获取 HttpServletRequest 的方法 - 简书本文介绍 Spring Boot 2 获取 HttpServletRequest 的方法. 目录 概述 方法 ...

  2. java 获取service_Java service层获取HttpServletRequest工具类的方法

    Java service层获取HttpServletRequest工具类的方法 大家都知道 能在Controller/action层获取HttpServletRequest,但是这里给大家备份的是从代 ...

  3. Java service层获取HttpServletRequest工具类的方法

    大家都知道 能在Controller/action层获取HttpServletRequest ,但是这里给大家备份的是从代码内部service层获取HttpServletRequest工具类. 具体如 ...

  4. 获取HttpServletRequest几种方法

    代码获取 先web.xml配置: <listener> <listener-class> org.springframework.web.context.request.Req ...

  5. androidclient和站点数据交互的实现(基于Http协议获取数据方法)

    androidclient一般不直接訪问站点数据库,而是像浏览器一样发送get或者post请求.然后站点返回client能理解的数据格式,client解析这些数据.显示在界面上.经常使用的数据格式是x ...

  6. zend_soap做webservice的使用方法

    zend_soap做webservice的使用方法 只用到zend_soap包中的Zend_Soap_Server,Zend_Soap_AutoDiscover和Zend_Soap_Client三个类 ...

  7. Struts2中获取HttpServletRequest,HttpSession等的几种方式

    转自:http://www.kaifajie.cn/struts/8944.html package com.log;import java.io.IOException; import java.u ...

  8. 根据WebService地址展示方法列表、入参和返回值(解析wsdl)

    项目源码:https://gitee.com/xuchuruo/parsing_wsdl(有些jar包Maven上无法下载) ------------------------------------- ...

  9. SpringBoot--Controller获取HttpServletRequest

    原文网址:SpringBoot--Controller获取HttpServletRequest_IT利刃出鞘的博客-CSDN博客 简介 本文介绍SpringBoot如何在Controller中获取Ht ...

最新文章

  1. 2019厦门科技中学计算机特长,中考快讯 | 2019厦门市高中特长生招生学校名单出炉!...
  2. python根据时间和类型查找文件并将该文件复制到新的文件夹下
  3. 如何给微软提反馈建议以及bug
  4. kafka集群下载、启动、部署、测试
  5. python中的模块与类
  6. 从零开始学keras之多分类问题
  7. java的string类_Java中的String类笔记
  8. 对方删了你的微信,你列表依然有ta的存在,该不该也把ta删掉?
  9. mysql 中ak_数据库ak
  10. [转]Visual Studio 2010 MSDN 文件位置及安装注意事项
  11. tp3获取所有post_TP为什么后台接收不到POST的数据?
  12. SVN 使用hooks 自动更新到远程的web目录下
  13. history指令显示日期时间
  14. 奇妙生活-神奇的数字-1的故事
  15. linux虚拟内存设置为多少合适,虚拟内存怎么设置最好_虚拟内存设置多少合适
  16. 深度CTR之AFM:基于Attention网络的FM模型
  17. Eclipse 主题(Theme) 设置之程序员大牛必备的装逼神器
  18. 面试最后总会问到的开放性面试题
  19. Python中 -m pip install -U --force-reinstall pip 个人经验及解决办法
  20. FND_GLOBAL.CONC_REQUEST_ID = -1

热门文章

  1. 【机密计算标准解读】GB/T 机密计算通用框架(下)
  2. 东北大学计算机技术与科学排名,东北大学学科评估排名!附东大a类学科名单...
  3. 【毕业季|进击的技术er】作为一名老技术er,我有话想说
  4. java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调试部署
  5. 【结构体——枚举——联合】
  6. 16_MySQL中的存储过程和触发器
  7. 2016蓝桥杯 凑算式
  8. Microsoft Project的RibbonXml VBA项目中不能使用带参数的过程
  9. windows server2016 服务器 生成典型操作票asp系统成功安装关键步骤
  10. Web安全-一句话木马