首页 > 其他分享 >axis2生成wsdl回执参数首字母大小写问题

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

时间:2024-05-20 15:51:17浏览次数:19  
标签:xml axis2 首字母 org new wsdl elemField 回执

在跟局方对接接口的时候,局方回执我的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);
}
即可自定义回执参数
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_37729339/article/details/109517782

标签:xml,axis2,首字母,org,new,wsdl,elemField,回执
From: https://www.cnblogs.com/paimianbaobao/p/18202130

相关文章