当前位置: 首页 > 知识库问答 >
问题:

wsimport无法解析WSDL(架构文件的文件提前结束)

谢鸿飞
2023-03-14

我很抱歉,如果这是一个重复的问题--我找了一个文件,发现了很多类似的问题,但没有什么是完全相同的。

[错误]文件提前结束。http://api.dss.gov.au/dataCollection/dex的第1行?wsdl&type=xsd&file=文件%3a%2fc%3a%2ftfs%2fccsapps%2fdataCollection%2f分支%2fmr17.11%2fosb%2fdataCollection.评估%2f资源%2fschema%2fassument.external.xsd

[错误]org.xml.sax.SAXParseException;systemId:http://api.dss.gov.au/dataCollection/dex?wsdl&type=xsd&file=文件%3a%2fc%3a%2ftfs%2fccsapps%2fdataCollection%2f分支%2fmr17.11%2fosb%2fdataCollection%2f资源%2fschema%2fassument.external.xsd;行号:1;列号:1;文件提前结束。https://api.dss.gov.au/datacollection/dex?wsdl的第2行

它在尝试下载/解析WSDL中列出的第一个模式文件时失败了。

我正在Windows10上运行这个。我试过JDK1.8和Java9。我尝试使用Eclipse Web Developer工具、使用jaxws-maven-plugin以及直接使用wsimport生成它--它们都以相同的错误失败。因此,错误可能与核心jax-ws实现有关,而与任何包装器无关。

我已经将模式URL插入我的浏览器窗口(与我的开发人员在同一台机器上),并验证其下载是否正确。乍一看,它似乎是一个格式良好的模式文件--它肯定不是零长度,正如这个错误所暗示的那样。

我尝试将WSDL和有问题的模式文件下载到本地dir,然后更新WSDL中的模式链接以指向模式文件的本地副本。这似乎确实解决了这个问题--但是,它在下一个模式文件上失败了。我开始了一个手动过程,将模式文件全部下载到本地并更新链接,但似乎有几十个模式文件。如果API发生变化,它似乎也不是一种针对web服务向前发展的可持续的开发方式。

对此的回答可以包括以下任一项:

  1. 显示导致此错误的操作错误,并允许我修复此错误,以便从此WSDL自动生成Java绑定。
  2. 是wsimport的一个免费替代工具,可以实现相同的功能
  3. 对wsimport错误报告的引用,该报告显示这是一个尚未解决的已知问题。

共有1个答案

宣煜
2023-03-14

我在XML编辑器中打开了有问题的XSD文件,它显示对实体“type”的引用必须以“;”结尾定界符。。在架构导入中不转义&和符号,这在所有其他架构导入中都是如此。&type=xsd&file=file

这就需要WSDL作者转义和符或在XSD文件中的导入中删除可选的typefile实体,这将起到很好的作用。

 类似资料:
  • 我使用uiautomatorViewer已经有一段时间了,今天我第一次遇到一个错误: org.xml.sax.SAXParseException;系统ID:file:/tmp/uiautomatorviewer_2911009098837440934/dump_6467398984523677157.uix;行号:1;列号:1;文件提前结束。在com.sun.org.apache.xerces.i

  • 问题内容: 我一直在尝试导入以下Web服务:http : //soap.genome.jp/KEGG.wsdl和$ {JAVA_HOME} / bin / wsimport: 但出现以下错误: 问题是来自WSDL还是来自wsimport的实现?我应该使用其他工具吗? 谢谢 皮埃尔 问题答案: 我从此错误报告中发现了(显然是)解决方法:https : //netbeans.org/bugzilla/

  • 我在tomcat 7本地应用程序服务器上使用JSP 1.2和JSTL或Spring的taglib声明。但是,无论文件是在WEB-INF/lib下还是在类路径的其他位置,我总是会收到这样的错误:绝对uri:http://java.sun.com/jsp/jstl/core无法在web.xml或与此应用程序一起部署的jar文件中解析绝对uri:http://www.springframework.or

  • 两天前,我犯了以下错误: 执行任务:[: app: assembleDebug] 配置项目:app registerResGeneratingTask已弃用,请使用registerGeneratedResFolders(FileCollection) 任务:app:buildInfoDebugLoader任务:app:preBuild-UP-DATE任务:core:preDebugBuild-up

  • 如前所述,WSDL 2.0使用层组件来定义Web服务:类型,操作,接口,绑定,端点和服务。 WSDL 2.0这层组件按照以下规则编写在XML文档中: 是根元素。 是顶级元素,用作表示组件的容器。 是顶级元素,用作表示组件的定义,该组件包含一组操作组件。 是顶级元素,用作表示组件的定义。 是顶级元素,用作表示组件的定义,该组件包含一组组件。 WSDL 2.0 XML文档的结构可以表示为:

  • 问题内容: 加载似乎包含 TAB 字符的JSON文件时,我遇到了解析问题。 当我转到http://jsonlint.com/时,我输入了带有TAB字符的部分: 验证者抱怨: 这实际上是有问题的JSON文本的复制/粘贴。 我曾尝试加载该文件,并没有成功。如何正确加载?我应该只预处理文件并用空格替换TAB 吗?还是我在这里想念的东西? 更新: 这也是一个有问题的示例: 问题答案: 从JSON标准: 在