webservice 客户端发出请求前,添加表头信息 java代码

来源:互联网 发布:淘宝销量很高评价很少 编辑:程序博客网 时间:2024/05/21 06:59
package util;import java.util.Set;import javax.xml.namespace.QName;import javax.xml.soap.*;import javax.xml.ws.handler.MessageContext;import javax.xml.ws.handler.soap.SOAPHandler;import javax.xml.ws.handler.soap.SOAPMessageContext;public class ClientHandler implements SOAPHandler<SOAPMessageContext> {    public boolean handleMessage(SOAPMessageContext ctx) {    //出站,即客户端发出请求前,添加表头信息    Boolean request_p=(Boolean)ctx.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);    if(request_p){        try {            SOAPMessage msg=ctx.getMessage();            SOAPEnvelope env=msg.getSOAPPart().getEnvelope();            SOAPHeader hdr=env.getHeader();            if(hdr==null) hdr=env.addHeader();            //添加认证信息头            //QName(String namespaceURI, String localPart, String prefix)            //QName(String namespaceURI, String localPart)            //QName(String localPart)            //@param namespaceURI:QName的名称空间            //@param localPart:QName的本地部分            //@param prefix:QName的前缀            QName name=new QName("inspurCMS", "HeadUserCheck");            SOAPHeaderElement header = hdr.addHeaderElement(name);            //addChildElement(String localName, String prefix,String uri)            //addChildElement(String localName, String prefix)            //addChildElement(String localName)            //@param uri:新元素所属空间名称URI            //@param localName:新元素的本地名称            //@param prefix:新元素名称的空间前缀            //见JDK 1.6的API            SOAPElement userElement = header.addChildElement("Username");            userElement.addTextNode("ContentManage");            SOAPElement passElement = header.addChildElement("Password");            passElement.addTextNode("ContentManage");            msg.saveChanges();            //把SOAP消息输出到System.out,即控制台            msg.writeTo(System.out);            return true;            } catch (Exception e) {               e.printStackTrace();            }    }        return false;        }    public boolean handleFault(SOAPMessageContext context) {        // TODO Auto-generated method stub        return false;    }    public void close(MessageContext context) {        // TODO Auto-generated method stub            }    public Set<QName> getHeaders() {        // TODO Auto-generated method stub        return null;    }}

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 xp本地连接受限制或无连接怎么办 公司没帮二级建造师延续注册怎么办 考造价师考过了年限不够怎么办? 上海众非称重不显示数字怎么办 宝骏630防火墙隔热棉掉了怎么办 冷车启动水温报警灯亮了怎么办 租铺位面积比合同面积小怎么办 农村村民建房领居不肯签名怎么办 车祸死者家属不来协商赔偿怎么办 26岁想回去当老师了怎么办 面包车排量小空调带不凉快怎么办 科三包过不给退钱人跑了怎么办 护师职称考试成绩单丢了怎么办 河南二级建造师报名地址填错怎么办 山东以前的企业没有消防备案怎么办 重庆渝北初级审核时间过了怎么办 初级职称复核毕业证弄丢了怎么办 杭州公租房选房后变更单位的怎么办 契税交了贷款办不下来怎么办 天津公租房住满5年后怎么办 大江里钓鱼水流太急立不住漂怎么办 房子定金交了不想要了怎么办 房子付了首付不想要了怎么办 三国大时代4王越死了任务怎么办 红米2卡顿反应慢怎么办 国税和地税合并新进的公务员怎么办 买车合格证不给我们要怎么办 初级会计报名信息表填写错误怎么办 跨国快递需要收件人自行清关怎么办 腋下有异味怎么办邀约成都真愛 腋下有异味怎么办犀利成都真愛 腋下有异味怎么办有信成都真愛 成都车牌网上选号次数用完了怎么办 在志愿服务中遇到突发状况怎么办 商铺没有房产证不能办理消防怎么办 亳州办事大厅登录密码忘记了怎么办 户口已迁出结婚证丢了怎么办 户口已迁出多年结婚证丢了怎么办 芜湖长信正式工没转正怎么办辞职 买到9个月库存车怎么办 买到5个月库存车怎么办