不动停止 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 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器