WSDL到Java -client创建错误

时间:2011-12-01 16:36:09

标签: xsd axis wsdl2java

我正在尝试从WSDL创建一个Web服务,但是反复给我以下错误。尝试在构建路径中刷新axis.jar,但仍然给出相同的错误,而我有另一个WSDL,并且为此生成了很好的客户端。

在这里遇到类似事情的人?

  

IWAB0399E从WSDL生成Java时出错:WSDLException(at   / definitions / types / xsd:schema):faultCode = OTHER_ERROR:错误   试图解决引用的模式   '@sp.schema.url @ / FinancialStatement.xsd',相对于   '文件:/ C:/hrishi_workspace/findata/web/wsdl/FinancialStatement.wsdl':   找不到此文件:   文件:/ C:/hrishi_workspace/findata/web/wsdl/@sp.schema.url@/FinancialStatement.xsd:   java.io.FileNotFoundException:找不到此文件:   文件:/ C:/hrishi_workspace/findata/web/wsdl/@sp.schema.url@/FinancialStatement.xsd     在com.ibm.wsdl.util.StringUtils.getContentAsInputStream(未知   来源)com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(未知   来源)com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(未知   源代码:com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(未知来源)     在com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(未知来源)     在com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)at   com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)at   com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)at   org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:516)     在   org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)     在org.apache.axis.wsdl.gen.Parser $ WSDLRunnable.run(Parser.java:361)

感谢。

仙人

1 个答案:

答案 0 :(得分:1)

看起来您的文件:/ C:/hrishi_workspace/findata/web/wsdl/FinancialStatement.wsdl正在引用外部模式文件。如果查看该WSDL文件,在定义/ types / xsd:schema元素下,您将拥有一个或多个xsd:include和/或xsd:import。这些元素可能具有schemaLocation属性;寻找以 FinancialStatement.xsd 结尾的那个;我怀疑它有 @sp.schema.url @ ,对我来说,它看起来像一个占位符,可能应该由你的构建脚本或其他东西改变...用相对替换它WSDL和XSD之间的路径;如果它们位于同一文件夹中,只需使用XSD文件名即可。它应该处理错误。一旦它起作用,你应该试着理解那个占位符是什么,并且可能弄清楚你需要在你的特定环境中配置什么才能使它像那样工作......