【发布时间】:2011-01-28 17:38:41
【问题描述】:
我正在将一些服务从 Apache SOAP 转换为 Axis2,因此 Java 服务类已经存在。我在 Eclipse 中创建了一个新项目,导入了源代码,确保安装了 Axis2 项目构面,并且 Axis2 发射器属性正确。然后,在 Eclipse 中,我选择了服务类并选择了“Create Web Service”,选择了 Axis2 运行时。该服务已在我的 PC 上启动并运行,当我将“?wsdl”附加到服务路径时,我确实获得了一个保存在本地的 WSDL。尝试将其导入 SoapUI 以构建客户端会出现错误:
ERROR:org.apache.xmlbeans.XmlException: C:\projects\soapUI\Axis2\DALService.wsdl:0: error: src-resolve: type 'SOAPException@http://www.w3.org/2001/XMLSchema' not found.
它引用的类型 (SOAPException) 是 Apache SOAP 服务的保留,在服务代码中,我将服务代码(不是 WSDL)中的所有“导入”引用从 org.apache.soap.SOAPException(旧的 Apache SOAP 包名称)到javax.xml.soap.SOAPException(Axis2 位置)。代码编译并工作,一旦我可以访问它,但我不能在不生成客户端的情况下访问它。关于为什么更改对象的命名空间会阻止生成的 WSDL 具有正确的命名空间引用的任何想法?
【问题讨论】:
标签: java web-services axis2 soapui wsdl2java