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

问题描述

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做过添加用户名密码验证的操作,请大神搭救。

时间: 2024-10-30 16:49:46

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

java程序调用xfire发布的webService服务(二)

在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步测试了客户端传递数据给服务端. 因为相关的jar包在上一篇已经说过,因此便不再重复说明,这次的测试步骤如下: 一.测试向服务端传递字符串(重点在第二个):     为了进一步理解服务搭建,我重新写了一个服务端服务类: 接口: package xfireTest; public interface X

使用xfire搭建webService服务

后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识. 本来我所了解到的发布webService服务有用cxf和xfire两种,但这个项目明确说了需要用xfire,因此便先学习一下这个.参考网上一些文档,搭建的过程大概如下: 一.环境基础:eclipse4.4.1.maven3.2.5.tomcat7.jdk1.7: 二.搭建过程:      1.下载依赖jar包:由于看到那些xfire入门教程中都说要先下载XFi

ava webservices-java cxf webservices 动态调用sap的一个服务地址,地址是带用户名和密码的权限。

问题描述 java cxf webservices 动态调用sap的一个服务地址,地址是带用户名和密码的权限. import java.net.URL; import javax.xml.namespace.QName; import org.apache.cxf.configuration.security.AuthorizationPolicy; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoi

调用webservice时个用户名和密码

问题描述 我要调用某服务器上的webservice,但是这个服务器不能匿名访问,需要提供用户名和密码,那我在调用时,这个信息该怎么写呢?能不能给个例子,先谢谢了 解决方案 解决方案二:没有人在吗,帮忙 啊!!!解决方案三:是连接FTP还是SQL解决方案四:我要连接http://hiep.heliteq.com:8000/sap/bc/srt/rfc/sap/ZHLT_HIEP_EI_INVOICE_READ_V1?sap-nt=001&wsdl=1.1这个webservice解决方案五:编程/J

客户端使用何种方式调用webservice服务?

问题描述 知道了wsdl地址,因为参数都是基本类型,所以使用javax.xml.soap 包下的api自己发送SOAP消息,解析响应数据 .但速度是相当的慢!!如果使用xfire或axis2等webservice框架效率会不会有所提升?有没有不是基于XML实现的.效率比较高的webservice调用方式?各位前辈提提意见,小子先行谢过 问题补充:elicer 写道 解决方案 引用谢谢你的回答,有种恍然大悟的感觉!不过因为对Hessian 不熟,找了点资料说:服务器端必须具备以下几点: ·包含He

使用CXF和spring搭建webService服务

虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试.大概是有了xfire的经验吧,cxf的搭建比xfire快了许多. cxf的许多参数感觉和xfire差不多,因此便不做太多的解释,如果不明白的可以参考之前的xfire搭建来促进理解. 搭建过程如下: 1.使用eclipse创建一个maven项目,maven导包的pom.xml的整体内容如下:    <project xmlns

.net-.NET调JAVA的webservice接口报错是怎么回事?

问题描述 .NET调JAVA的webservice接口报错是怎么回事? webservice可访问,已访问到接口方法,参数和返回值都是string类型的.就是最后执行该方法时报错"Fault occurred while processing". 无论静态添加web引用或服务引用,还是代码动态添加,都是一样的错.动态调用是在最后invoke时报错.是怎么回事?怎么改?求大神帮忙~~

在webservice服务端添加拦截器

问题描述 在webservice服务端添加拦截器,获取访问的方法,客户端的IP等信息! 解决方案 解决方案二:你用什么实现的webservice?不同实现方式获取的方式不一样.jax-ws用WebServiceContext,axis用MessageContext,xfire用XFireServletController,cxf用MessageContext等.具体实现细节,可以搜搜资料.解决方案三:我是用jax-ws实现的,用WebServiceContext可以获取客户端访问的方法,请求开始

掉webservice服务时,在电脑上可以运行,但在手机上掉时,为什么应用会直接停止?

问题描述 调webservice服务时,在电脑上可以运行,但在手机上调时,为什么应用会直接停止?求各位解答,谢谢! 解决方案 本帖最后由 u013010499 于 2015-09-06 12:46:41 编辑解决方案二:你确定添加了INTERNET权限吗?再说有异常信息啊解决方案三:直接停止,有报错的提示信息么?