zoukankan      html  css  js  c++  java
  • webservices 服务器未能识别 HTTP 头 SOAPAction 的值:.

    转自:https://blog.csdn.net/dxfasr/article/details/25029063

    在用java发送给webservice服务器的时候报如下错误:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
    faultSubcode: 
    faultString: 服务器未能识别 HTTP 头 SOAPAction 的值: 。
    faultActor: 
    faultNode: 
    faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:服务器未能识别 HTTP 头 SOAPAction 的值: 。
    解决办法:
    Call call = (Call)service.createCall();

    //加入如下的方法:在调用的时候直接写
    call.setSOAPActionURI(http://rb-ht.com/方法名);


    写好的调用的例子如下:
    public static String invokeRemoteAddr(String wsdl, String method,
    Object[] objects) throws Exception {
    Service service = new Service();
    Call call;
    try {
    call = (Call) service.createCall();
    call.setSOAPActionURI("http://tempuri.org/receiveDataTask");
    call.setTargetEndpointAddress(wsdl);
    call.setOperationName(method);// WSDL里面描述的接口名称
    call.addParameter("orig",
    org.apache.axis.encoding.XMLType.XSD_STRING,
    javax.xml.rpc.ParameterMode.IN);// 接口的参数
    call.addParameter("sign",
    org.apache.axis.encoding.XMLType.XSD_STRING,
    javax.xml.rpc.ParameterMode.IN);// 接口的参数
    call.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);// 设置返回类型
    call.invoke(objects);
    return "end";
    } catch (ServiceException e) {
    throw new Exception(e);
    }


    }


    如果修改后还是有错误:

    这个时候仔细检查targetNameSpace命名空间是否正确、配置正确后、即可

  • 相关阅读:
    面试题:JS中map的陷阱
    C#中正则表达式进行忽略大小写的字符串替换
    C#窗体钉在桌面、置底、嵌入桌面的办法
    创建C#串口通信程序详解
    为类和函数代码自动添加版权注释信息
    C# 如何编辑文件的摘要信息
    C# GDI在控件上绘图
    泛型Dictionary的用法详解
    Winform 导出成Excel打印代码
    C#反射深入学习
  • 原文地址:https://www.cnblogs.com/sharpest/p/7852734.html
Copyright © 2011-2022 走看看