`
chenggong1220
  • 浏览: 1850 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

关于axis怎样加入Header信息

    博客分类:
  • java
 
阅读更多

这几天遇到一个需求,要调用cxf发布的一个webservice,但客户端调用时需要传入soapenv:Header参数,xml格式如下:
<soapenv:Envelope >
   <soapenv:Header>
  <tns:RequestSOAPHeader  xmlns:tns="http://webservice.xxx.com/" >
      <tns:user>abc</tns:user>
   <tns:password>c7bb9ff815174523e3d9234</tns:password>
  </tns:RequestSOAPHeader>
   </soapenv:Header>
    <soapenv:Body>
     消息体...
    </soapenv:Body>
</soapenv:Envelope>
其中的难点是怎么传入soapenv:Header信息。因为客户端系统时间比较久,发现用cxf的方式调用可以成功,但要增加jar包,故放弃,继后考虑到原系统用的axis故在网上查了下实现方式。
1,wsdl2java生成客户端代码。其axis的写法是:


java -classpath %AXIS_CLASSPATH% org.apache.axis.wsdl.WSDL2Java   -o D:\backup -p com.cn.sany.bmp http://bpm.abc.com/45rtyFGHqw/sys/webservice/loginqwWebserviceService?wsdl


其中,AXIS_CLASSPATH需要的包有: 

%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\axis-schema.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.1.1.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\log4j-1.2.13.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\wsdl4j-1.6.2.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\xmlsec-1.4.7.jar;

 

特别的是,在axis-bin-1_3.zip中不包括activation.jar、mail.jar和xmlsec-1.3.0.jar这3个文件,需要去SUN和Apache主页单独下载,
分别是jaf-1_0_2-upd2.zip、javamail-1_4.zip和xml-security-bin-1_3_0.zip。
注:如果是cfx方式,更简单:

 

"D:\apache-cxf-2.5.2\bin\wsdl2java" -fe jaxws21
-p com.sany.account.webservice -d client
-client http://10.0.15.112:18080/abcInterface/service/AccountantVoucherSynServer?wsdl


2,写单元测试类,方法如下:

		ILoginWebserviceServiceServiceLocator locator = new ILoginWebserviceServiceServiceLocator();
		ILoginWebserviceServiceServiceSoapBindingStub service = null;
		service = (ILoginWebserviceServiceServiceSoapBindingStub) locator.getILoginWebserviceServicePort(
				new java.net.URL("http://bpm.abc.com/45rtyFGHqw/sys/webservice/loginqwWebserviceService?wsdl"));
		SOAPHeaderElement header = new SOAPHeaderElement("http://webservice.xxx.com/","RequestSOAPHeader");
		SOAPElement soap = null;
		soap = header.addChildElement("tns:user");
		soap.addTextNode("abc");
    soap = header.addChildElement("tns:password");
    soap.addTextNode("c7bb9ff815174523e3d980faa2"); 	
		service.setHeader(header);	
		LoginParameterForm form = new LoginParameterForm();
		form.setLoginName("wangdw10");
		LoginWebserviceResult result = null;
		result = service.getLoginSessionId(form);

 
这样就能达到目的了!

 

分享到:
评论

相关推荐

    Axis2 通过soap header进行授权服务

    Axis2 通过soap header进行授权服务 客户端根据是否生产stub客户端代码采用两种形式实现。

    Axis WebService 技术指南,开发文档

    Axis WebService 技术指南,开发文档,很全面、详细。 Axis的简单入门实例 Axis的jws发布WebService Axis的wsdd模式发布WebService Axis中传递复杂对象和内部类 ...Axis的Header信息操作 .Net调用Axis出现的问题

    Java Webservice Axis2 Client(含soapheader验证)

    Java Webservice Axis2 Client(含soapheader验证)

    基于Axis2的WS构建客户端示例

    NULL 博文链接:https://zhangzhenting.iteye.com/blog/625429

    OTRS:专门为AXIS Bank设计的OTRS Web门户

    CLient是AXIS Bank的一个分支机构,希望更改 (票务软件)的UI以反映AXIS Bank的主题。 内容 部署和使用 复制粘贴并覆盖所有文件。 在OTRS管理员SysConfig面板中更改使用的皮肤。 现在,每个用户都可以通过单击...

    STM32L475VGT6单片机物联网开发板PDF原理图PCB+AD集成封装库文件.zip

    LSM6DSL Accelero + Gyro MEMS (6 Axis) LT1963EST-3.3 LT1963EST-3.3 LDO Low Noise 1.5A fast Transient Response M24SR64-Y M24SR64-Y 64K_EEPROM NFC/RFID MP34DT01 MEMS audio microphone MX25R6435F MX25R6435...

    STM32L475VGT6物联网开发板ALTIUM设计硬件原理图PCB+AD集成封装库文件.zip

    LSM6DSL Accelero + Gyro MEMS (6 Axis) LT1963EST-3.3 LT1963EST-3.3 LDO Low Noise 1.5A fast Transient Response M24SR64-Y M24SR64-Y 64K_EEPROM NFC/RFID MP34DT01 MEMS audio microphone MX25R6435F MX25R6435...

    addressing-1.5.5.jar

    axis2生成java客户端代码用到解决异常Exception in thread "main" org.apache.axis2.AxisFault: Must Understand check failed for header http://www.w3.org/2005/08/addressing : Action

    java SOAPHEADER的web service

    c# JSON返回格式的WEB SERVICE//www.jb51.net/article/16768.htm我这里是利用axis创建类包的,首先下载axis的压缩包,然后解压,把axis放到webapp下面。如果可以运行,就OK了。 c#创建的webservice自带的wsdl的,...

    基于Word2Vec+SVM对电商的评论数据进行情感分析-i

    导入数据,然后利用jieba对数组进行分词,将分词结果与生成的相同维度的标签表数组进行合并,合并的方式有很多种:这里我用的是np.append(a,b,axis=0) 的方式。数据准备好了之后就是对数据进行切分,随机生成...

    Iris数据集的Fisher线性分类及可视化

    df = pd.read_csv(path, header=0) Iris1=df.values[0:50,0:4] Iris2=df.values[50:100,0:4] Iris3=df.values[100:150,0:4] m1=np.mean(Iris1,axis=0) m2=np.mean(Iris2,axis=0) m3=np.mean(Iris3,axis=

    数据挖掘与分析.pptx

    数据整理例如:整理、去空、去重、合并、选取、数据准备: 重要准备:index,header,columns header-1 header-2 header-3 header-4 …… index-0 index-1 index-2 index-3 index-4 index-5 index-6 index-7 …… ...

    parallel.py:Python 中的并行坐标绘图

    [-a AXIS_NAMES [AXIS_NAMES ...]] [-n NAMES [NAMES ...]] [-H HEADER] [-S] [-V] [-w WRAP] [-m MINIMA [MINIMA ...]] [-M MAXIMA [MAXIMA ...]] [-W LINEWIDTH [LINEWIDTH ...]] [-k MARKER

    pandas实现将dataframe满足某一条件的值选出

    data = pd.read_table('breast-cancer-wisconsin.data.txt',header=None,encoding='gb2312',sep=',') data = data.drop(0, axis=1) data = data[data[6] != '?'] 以上这篇pandas实现将dataframe满足某一条件的值选出...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    Header Files The #define Guard Header File Dependencies Inline Functions The -inl.h Files Function Parameter Ordering Names and Order of Includes Scoping Namespaces Nested Classes Nonmember, Static ...

    FAB_Electronics:FABtotum个人制造商的电子产品

    Raspi GPIO header connector Hotbed connection emergency switch Case-door safety switch Front door safety switch YZ Endstops 24 v Power supply interior light output Second Extruder temp Head connector ...

    Arduino: A Quick-Start Guide, 2nd Edition

    You’ll build projects such as your own motion-sensing game controller with a three-axis accelerometer, create a universal remote with an Arduino and a few cheap parts, build your own burglar alarm ...

    数据分析实例.pdf

    读取时间序列 datelist = pd.read_csv('data.csv', header=None)[1] # 对时间序列进⾏格式化操作 x = [] for i in datelist: i = datetime.strptime(i, '%d-%m-%Y') x.append(datetime.strftime(i, '%Y-%m-%d')) # ...

    jQuery开发技巧

    place this in your header &lt;link rel &quot;stylesheet&quot; href &quot;default css&quot; type &quot;text css&quot;&gt; the links &lt;a href &quot;#&quot; class &quot;Styleswitcher&quot; rel &...

    曲线拟合工具CurveExpert 1.0

    ct. 18, 1995 v. 1.00 =========================================================================== + First release of CurveExpert 1.0. Oct. 26, 1995, v....==============================================...

Global site tag (gtag.js) - Google Analytics