wsimport无法解析XSD - 路径编码问题?

时间:2014-09-03 14:47:45

标签: java maven wsdl wsimport

我正在通过jaxws和Java开发Web服务。我有一个导入XSD的WSDL,这是我的WSDL中的一个片段。如您所见,它非常标准。

<xsd:schema targetNamespace="http://blah.com">
<xsd:import schemaLocation="../xsd/myschema.xsd" namespace="http://blah.com"/>
</xsd:schema>

我正在使用Maven插件使用wsimport生成我的类型。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<configuration>
<wsdlDirectory>${basedir}/src/main/wsdl</wsdlDirectory>
<packageName>com.blah.service.generated</packageName>
<keep>true</keep>
<sourceDestDir>${basedir}/target/generated/src/main/java</sourceDestDir>
</configuration>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
</plugin>

当我在本地构建(Windows)时,一切正常,在我们使用的环境(Linux)中一切正常。但是,我们现在已经转移到新环境并看到以下错误。

[ERROR] Unable to parse "file:/xsd/myschema.xsd" : Illegal character in path at index 84: file:/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah{PR102483}/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl
  line 13 of file:/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah{PR102483}/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl

[ERROR] com.sun.istack.SAXParseException2; systemId: file:/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah{PR102483}/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl; lineNumber: 13; columnNumber: 89; Unable to parse "file:/xsd/myschema.xsd" : Illegal character in path at index 84: file:/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah{PR102483}/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl
  line 9 of file:/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah{PR102483}/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl

我把我的道路弄错了一些,以取出一些重要的话。这个新环境的路径比以前长得多,现在包含大括号字符{} - 这可能是问题吗?

1 个答案:

答案 0 :(得分:0)

是的,这是肯定的。不幸的是,wsimport没有编码你的花括号simbols(%和{7%for})。

我猜这是一个错误。路径应该看起来像/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah%7BPR102483%7D/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl

您是否可以尝试使用全局路径而不是相对来检查这是否是问题?