webservice axis 服务器未能识别 HTTP 头 SOAPAction 的值: 。

示例代码-java请求webservice示例代码

org.apache.axis.client.Call call = new org.apache.axis.client.Call(url);
call.setTimeout(PsbSwitchUtils.timeout);
call.setOperationName(operationName);
String result;
try {
    result = (String) call.invoke(params);
} catch (Exception e) {
    Psracer.error("WebServiceUtils异常", e, params, null);
    throw e;
}
return result;

遇到问题

解决方案

call对象添加soapActionURI设置
call.setSOAPActionURI("http://microsoft.com/webservices/AAA");
原因:外部接口开发商使用.NET进行开发,在接口中设置了soapaction。具体的信息可以通过webservice的wsdl查看,在wsdl直接搜索action就能看到,不同方法可能对应不同的soapaction,在调用时需要注意。
参考链接:java调用webservice接口提示“服务器未能识别 HTTP 头 SOAPAction 的值“&&服务器无法处理请求。 ---> 未将对象引用设置到对象的实例_马云沈阳分云的博客-优快云博客_setsoapactionuri
添加后代码如下
org.apache.axis.client.Call call = new org.apache.axis.client.Call(url);
call.setTimeout(PsbSwitchUtils.timeout);
call.setOperationName(operationName);
call.setSOAPActionURI("http://microsoft.com/webservices/AAA");
String result;
try {
    result = (String) call.invoke(params);
} catch (Exception e) {
    Psracer.error("WebServiceUtils异常", e, params, null);
    throw e;
}
return result;

心得体会

这次解决这个问题主要的是给我带来一种解决问题的思路。在这里分享并记录

1.根据错误提示查找原因

2.根据原因修补错误

3.如不知道如何修补,查阅相关资料学习如何修补当前错误,最终解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值