AXIS2客户端代码连接C#web service带ntlm认证

搞了两天的AXIS2连接带ntlm认证的web service,要吐血了,百度一堆,不是故作神秘的讲一大堆,就是代码给一半,装吧。。。。

国人就是,知道的不愿意说,说也只说一半,不知道的又装知道,真是气死了。


不得已,问google,不是崇洋媚外,确实国外的程序员比较专业,问的问题无不知无不言的,没有只说一半的,所有的代码,所有的连接全部列得清清楚楚,生怕你做错,所有都罗列的清清楚楚,这个才是真正的技术分享!!!气死我了!不说了,开始分享我的axis2的ntlm认证。


本例是以调用Milestone的web service为例:

1,首先,下载axis2的包,把需要的jar放进自己的project,以下图片显示需要的lib



因为其web services是c#编写,调用需要ntlm认证:

2,用axis2的wsdl2java生成它的class(网上一大把,这里不说了),把生成的java文件放进自己的project。


3,需要用到一个关键的class:JCIFS_NTLMScheme.java


详情链接:http://devsac.blogspot.sg/2010/10/supoprt-for-ntlmv2-with-apache.html

里面有解释和源码,直接copy然后保存成JCIFS_NTLMScheme.java即可。


4,一切都准备好了,开始码code了

代码片段:

		//change the authpolicy use the JCIFS_NTLMScheme.class---httpclient
			AuthPolicy.registerAuthScheme(AuthPolicy.NTLM, JCIFS_NTLMScheme.class);
			
			//create basicAuth
			Authenticator basicAuth = new HttpTransportProperties.Authenticator();			 
			 basicAuth.setDomain(".");
		     basicAuth.setHost("192.168.60.204");
	         basicAuth.setUsername("administrator");  
	         basicAuth.setPassword("password,1"); 
             basicAuth.setPreemptiveAuthentication(false);
             //end create basicAuth
             
             //create webservices client instance
			ServerCommandServiceStub scs=new ServerCommandServiceStub();			
			//Not need this..scs._getServiceClient().getOptions().setUserName("administrator");
			//Not need this..scs._getServiceClient().getOptions().setPassword("password,1");
			
			//create EndpointReference
			//this url 'http://192.168.60.204/ServerAPI/ServerCommandService.asmx?wsdl' is the webserv
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值