不动停止 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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程