如何使用BeanPropertyTarget解决此错误?

时间:2011-12-27 14:06:39

标签: java web-services apache ant wsdl2java

我非常感谢任何帮助,我仍然是Java和Web服务的新手。

问题是:我将WSDL导入到我的项目中,当我有时使用它时它工作正常,而在另一种情况下,我在使用wsdl时遇到错误:

ERROR [org.apache.axis.encoding.ser.BeanPropertyTarget] - Could not convert [B to bean field 'texto', type java.lang.String

 ERROR [org.apache.axis.client.Call] - Exception: org.xml.sax.SAXException: java.lang.ClassCastException@a39be8

. (stuff)
. (more stuff)
. (more stuff)

Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@a39be8
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.    apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:142)
at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:75)
... 73 more

有关如何解决这个问题的想法吗?

我读到了here

使用-w参数创建客户端存根时可以解决此问题。

java org.apache.axis.wsdl.WSDL2Java -w name.wsdl

将不再出现错误。

这适用于我的情况吗?如果是,我该怎么办?我正在使用apache-ant进行部署。

1 个答案:

答案 0 :(得分:1)

  

curl -H“Content-Type:text / xml; charset = utf-8”-H“SOAPAction :(您的操作网址)” - d @(请求输入文件路径)(webservices url)> (响应输出文件路径)

将此命令与适当的输入一起使用。如果得到正确的输出,那么在解析响应时就会出错。