繁体   English   中英

JAX-WS中的WSDL解析错误

[英]WSDL parsing error in JAX-WS

我有一个使用Apache Axis 1.2.1生成的WSDL。 现在,我正在尝试使用JAX-WS 2.1 Web服务框架创建存根。

生成存根时,出现验证错误。 由于此问题,它无法创建存根。

!WSDL验证错误图像 在此处输入图片说明

我试图通过许多工具(例如MyEclipse IDE,SOAP UI工具和Java的本地wsimport.bat文件)创建存根。 在上述所有三种情况下,由于格式不受支持,我未能创建存根。

但是,当我尝试使用带有Apache Axis 1.2.1库的SOAP UI工具创建存根时,便创建了存根。 但是这些是不同的。

我的查询是,WSDL是W3C标准格式。 因此,任何JAVA API都应遵循该标准,那么为什么该WSDL无法创建存根? 因此,我需要使用JAX-WS 2.1而不是Apache Axis 1.2.1创建存根。

请建议我可能的答案...

单击此处获取WSDL

您看到的错误是Web服务互操作性(WS-I)合规性错误。 您的WSDL文档有效。 您可以在“窗口”->“首选项”->“ Web服务”->“配置文件符合性和验证”下禁用WS-I验证。 将WS-I AP和WS-I SSBP都设置为忽略合规性。

如果确实要消除错误,请尝试删除架构的架构导入。

 <xsd:import namespace="http://www.w3.org/2001/XMLSchema"/>

这行是不必要的,因为模式类型是隐式导入的,我以前已经看到过这会导致工具出现问题。

  <import namespace="http://holder.webservices.external"/>

这是定义架构的名称空间位置,在创建存根时无法通过工具访问。 如果仅将其放在Internet浏览器中,则会得到找不到页面错误。

要解决此问题,可以将模式本地保存在计算机上,并相应地更改wsdl中的导入位置,或者在wsdl本身中定义模式中的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM