axis2生成wsdl回执参数首字母大小写问题

在跟局方对接接口的时候,局方回执我的wsdl接口,发现收不到同步回执,怀疑问题为回执参数首字母小写导致

代码中的参数对象首字母确实是大写,但生成的wsdl文件确变成了小写,目前是用axis2生成的

参考 : https://bbs.csdn.net/topics/390457284 发现了变为小写的原因,选择使用xFire

并参考了https://blog.csdn.net/weixin_45326188/article/details/108371268 

运行过程中发现:

xfire-spring-1.2.6.jar xfire-all-1.2.6.jar 中都有xfire.xml和xfireXmlBeans.xml以及customEditors.xml文件,所以最好两个文件一起修改替换

修改回执对象,通过 org.codehaus.xfire.aegis.type.java5.XmlElement 来定义参数的名称

运行后首字母成功变为大写

 

之后研究发现axis2也可以自定义设置首字母,在回执参数对象中加入


    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(CSPResult.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("iptv", "CSPResult"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("result");
        elemField.setXmlName(new javax.xml.namespace.QName("", "Result"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("errorDescription");
        elemField.setXmlName(new javax.xml.namespace.QName("", "ErrorDescription"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
    }

即可自定义回执参数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值