gpt4 book ai didi

java - SoapUI 或 WSDL2Java 无法读取由 Axis2 服务生成的 WSDL

转载 作者:行者123 更新时间:2023-12-03 08:09:20 25 4
gpt4 key购买 nike

我正在将一些服务从 Apache SOAP 转换为 Axis2,因此 Java 服务类已经存在。我在 Eclipse 中创建了一个新项目,导入了源代码,确保安装了 Axis2 项目方面,并且 Axis2 发射器属性是正确的。然后,在 Eclipse 中,我选择服务类并选择“创建 Web 服务”,选择 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 具有正确的命名空间引用,有什么想法吗?

最佳答案

只需使用直接在 SOAP UI 中显示 WSDL 的“xxx?wsdl”URL,看起来 WSDL 中引用的一些 XSD 模式没有被 SOAP UI 工具找到,通常这些工具会搜索相同的模式文件夹,也因为您有 org.apache.soap.SOAPException 到 javax.xml.soap.SOAPException,这可能已经更改了命名空间。

只需尝试使用完整的 URL 并查看结果。

关于java - SoapUI 或 WSDL2Java 无法读取由 Axis2 服务生成的 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com