经过多天的,艰难的寻找调用方法,从cxf到xfire,再从Axis到Axis2,最终确定为Axis2,但是在Axis2调用的时候方法也有许多种,通过url生成的java实体类也生成了三回,第一回与第二回生成的有带有response的实体(SubmitRecordResponse),最后终于找到一种带有document的实体(SubmitRecordDocument)。
此种方法也感谢以下链接的主人
https://blog.csdn.net/pandoraliu/article/details/75912207
上述链接中提到生成java实体类的方法会报错,导致无法正常生成。总是提示log4j的错误
因此我又经历千难万险找答案,功夫不负有心人,又找到下面这个链接,在链接中添加了后面的参数,就可以正常生成了
https://my.oschina.net/u/154628/blog/340691
添加的参数如图:
生成之后就是调用了。
在调用的时候又遇到一个问题就是找不到schemaorg_apache_xmlbeans.system.s68C41DB812F52C975439BA10FE4FEE54.TypeSystemHolder.class
(注:此错误是我粘贴的。上述错误中有一个包名是uuid,那个每个人生成的不一样。)
在百度里找到一遍文章指引我到了以下链接中 (特别要感谢这遍文章,由于找不到了无法粘贴文章链接了)
http://axis.apache.org/axis2/java/core/tools/CodegenToolReference.html
硬着头皮读着文档,按照文档中的方法终于解决了找不到类的这个问题。
具体操作:
在Axis2的bin目录下(我的是D:\axis2-1.7.9\bin)建一个文件夹wsdl,再将自己的验证xml文件的xsd文件重命名为*.wsdl
然后再执行wsdl2java命令生成java文件,这样在生成src文件夹的同时会生成一个resources文件夹,把resources中的文件也都拷到项目中即可。resources下就有错误中提到的那个class
最后终于调用通了。于是写下此遍文章铭记一下。