不动停止 2013-10-30 08:11
浏览 2146

xfire调sap的webservice服务需要提供用户名密码

在最近的项目中使用xfire调sap的webservice服务,但是sap的webservice需要验证系统用户名密码,在网上搜索了下xfire的资料,只有一位朋友提到了用client.addOutHandler(handler)方法,以下是他写的handler类代码
package com.client;

import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.Element;

public class ClientAuthenticationHandler extends AbstractHandler {

private String username = null;

private String password = null;

public ClientAuthenticationHandler() { 
}

public ClientAuthenticationHandler(String username,String password)  { 
    this.username = username; 
    this.password = password;
}

public void setUsername(String username) { 
    this.username = username; 
}

public void setPassword(String password) { 
    this.password = password; 
}

public void invoke(MessageContext context) throws Exception {

    //为SOAP Header构造验证信息
    Element el = new Element("header"); 
    context.getOutMessage().setHeader(el); 
    Element auth = new Element("AuthenticationToken"); 
    Element username_el = new Element("Username"); 
    username_el.addContent(username); 
    Element password_el = new Element("Password"); 
    password_el.addContent(password); 
    auth.addContent(username_el); 
    auth.addContent(password_el); 
    el.addContent(auth); 
} 

}

想请问下重写的invoke中添加的header、AuthenticationToken、Username、Password元素是所有SOAP Header验证信息结构都是这样的,还是此例中的服务端要求此格式呢。

我没有使用xfire做过添加用户名密码验证的操作,请大神搭救。

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)