2014-09-03 2 views
0

jaxws와 Java를 통해 웹 서비스를 개발 중입니다. XSD를 가져 오는 WSDL이 있는데, 여기 WSDL의 일부분입니다. 보시다시피, 그것은 꽤 표준입니다.wsimport가 XSD 경로 인코딩 문제를 구문 분석 할 수 없습니까?

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

wsimport를 사용하여 내 유형을 생성하기 위해 Maven 플러그인을 사용하고 있습니다. 내가 로컬 (Windows)를 빌드 할 때

<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> 

모든, 모든 우리는 (리눅스)를 사용하여 한 환경에서 잘 작동 괜찮 았는데. 그러나 이제 새로운 환경으로 이동했으며 다음 오류가 표시됩니다.

[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 

저는 중요한 단어 중 일부를 추출하기 위해 약간의 경로를 변경했습니다. 이 새로운 환경의 경로는 이전보다 상당히 길어졌으며 현재 중괄호 {}가 포함되어 있습니다. 이것이 문제가 될 수 있습니까?

답변

0

예, 물론입니다. 불행히도 wsimport는 중괄호 simbols ({및 % 7D}에 대한 % 7B)를 인코딩하지 않습니다.

나는 그것이 버그라고 생각한다. 경로는 수

/apps/buildeng/workspace/workspace/Blah/Blah/Business%20Blah%7BPR102483%7D/BLAGHASFASD/BLALALALALALALAL-Web-Service-Build/src/main/wsdl/mywsdl.wsdl

과 같아야합니다 상대 경로 대신 전역 경로를 사용하여 문제가 있는지 확인하십시오.