2011-08-26 2 views
1

저는 웹 서비스의 초보자이지만, 결과가 없으면이를 검색했습니다.WSDL에 포함 된 XSD 파일 경로가 잘못되었습니다.

로컬 JBoss 5.1.0 인스턴스에서 실행할 때 제대로 실행되는 Metro 스택을 사용하여 Java로 작성된 웹 서비스가 있지만 테스트 서버로 이동할 때 문제가 발생하기 시작합니다.

서비스가 올바르게 배포 나는 평소와 같이 WSDL 볼 수 있습니다 : 그러나 https://myserver.myorg/path/service?wsdl

을, wsimport의 여기에서 클라이언트 스텁을 생성하는 데 실패하고 난 WSDL에 면밀한 관찰을 가지고 갈 때 나는이 보았다

<xsd:schema> 
    <xsd:import namespace="http://mynamespace/" schemaLocation="https://testserver.myorg:443/path/Service?null"/> 
</xsd:schema> 
을 대신에 나는 웹 브라우저에서 수동으로 널 대신 XSD = 1에서 퍼팅 할 때 http://localhost:8080/path/Service?xsd=1

에의 schemaLocation 세트를 가지고있는 로컬로 실행했을 때 내가 볼 것입니다 무슨의

, 나는 404 오류가 발생합니다.

아무도이 문제의 원인과 해결 방법을 알고 있습니까?

감사합니다. Raj.

+0

테스트 서버 란 무엇입니까? 다른 JBoss 서버를 사용하고 있습니까? 애플리케이션을 어떻게 배치합니까? 응용 프로그램/웹 서버에 대한 "admin"페이지/콘솔이 있습니까? –

+0

예, 테스트 서버는 dev 버전과 동일한 JBoss 5.1.0입니다. war 파일을 server/default/deploy 디렉토리에 두어 JBoss/Tomcat에서 평소대로 배포 할 것입니다. – Raj

답변

0

테스트 JBoss 서버가 매주 다시 시작되고 다시 시작하는 다음의 XSD 파일이 제대로 표시됩니다. 죄송합니다. 게시하기 전에 다시 켜고 끄는 법을 배워야합니다. :).

0

문제는 XSD가 SSL 연결 뒤에 있기 때문에 wsimport가 서버 SSL 인증서를 알고 신뢰해야한다는 것입니다.

이 작업을 수행하려면 새 Java 키 저장소 파일 (.jks 파일)을 설정하거나 기존 암호 키가 이미있는 경우이를 재사용하고 서버 SSL 인증서를 추가해야합니다 (이 경우 keytool JDK를) 제공하고 wsimport의 호출에 다음 JVM 매개 변수를 사용하여 키 스토어에게 Trustore를 선언

-Djavax.net.ssl.trustStore=${truststore.location} -Djavax.net.ssl.trustStorePassword=${ssl.password} 
+0

하지만 wsimport에 도달하기 전에 문제가 발생했습니다. WSDL에 대한 XSD가 제대로 생성되지 않는 것처럼 보입니다. – Raj

관련 문제