C#调用java axsi开发的webservice

在尝试使用C#调用Java Axis开发的Webservice时遇到AccessDenied错误。通过对比Java和C#调用的HTTP头发现,Java调用包含了Authorization字段。为了解决这个问题,修改了C#的代理类,重写了GetWebRequest方法,添加了Authorization头,并在调用时设置了网络凭据和PreAuthenticate属性,从而成功实现了授权访问。
摘要由CSDN通过智能技术生成

问题:访问java 的webservice时会出现accessdenid

解决方法:

1、尝试用java程序调用,在java中添加axis.jar包,用java的方法调用成功,设置了用户名和密码

2、用c#添加SoapHeader并设置用户名密码,尝试很多方法都失败。

3、用抓包工具查看用java调用和C#调用的区别,java调用多一个Authorization的项。

Java

POST /soap/rpc HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50113.0)
Authorization: BasicbGRwcm86bGRwcm8=
Content-Type: text/xml; charset=utf-8
SOAPAction: “”
Host: spo-wm-py-srvr:5555
Content-Length: 779
Expect: 100-continue
Accept-Encoding: gzip

C#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值