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

标签 java web-services axis2 soapui wsdl2java

我正在将一些服务从 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/

相关文章:

java - 从 Java 客户端应用程序使用 JSON Web 服务

java - 在 Intellij Idea 中禁用 java doc 自动格式化。 2019年

java - Restful : How to dynamically extend path via interface

java - 通过 processbuilder 进行多进程通信,卡住在 BufferedReader() 的 readline() 处

web-services - 为什么我的 Coldfusion Soap Web 服务的生产速度比开发速度慢 10 倍?

c# - 无绑定(bind)操作信息异常

java - 需要 : Tomcat + Axis2 + JAX-WS guide for dummies

java - 我如何测试我的连接池是否以正确的方式工作?

java - Jquery访问servlet session 属性

java - 对 NaN 值使用指数平滑