2009-10-17 2 views
1

WSDL에서 SOAP 서비스를 생성 했으므로 이제 포함 된 Tomcat을 사용하는 기존 응용 프로그램에 배포해야합니다 (IE에는 TomcatServeletContainer를 확장하는 클래스가 있습니다. 그 클래스를 인스턴스화하고 서버를 시작하는 메인 클래스).축 생성 된 SOAP 서비스를 포함 된 Tomcat 인스턴스에 배포하는 방법

WAR 또는 WSDD를 사용하여 독립 실행 형 바람막이에 축 서비스를 배포하는 방법에 대한 많은 예제를 볼 수 있지만 직접 연결하는 방법은 나와 있지 않습니다. web.xml에서 서브릿을 정의하고 다른 접착제를 제공해야한다고 가정합니다. 적절한 문서에 대한 도움이나 조언을 주시면 감사하겠습니다.

감사합니다. -Carl

답변

0

예. WAR와 같은 방식으로 애플리케이션을 빌드해야하지만, 전쟁 생활을 터뜨린 곳인 Tomcat에 프로그래밍 방식으로 알려야합니다.

다른 모든 것은 표준 서블릿 스펙과 동일해야합니다.

+0

알다시피, 이것은 상황을 좀 더 분명하게 만듭니다. 여기에 관련 문서가 있습니다. http://ws.apache.org/axis/java/install.html "고급 설치"를 찾으려면 AxisServlet 클래스를 확장하여 서비스를 구현 한 다음 web.xml의 해당 클래스에 대한 구성은 클래스를 가리 키도록 설정하십시오. 일단 작동 시키면 후손을위한 예제를 제공하려고 노력할 것입니다. – cmyers

+0

또 다른 좋은 URL :
http://www.ibm.com/developerworks/webservices/library/ws-deployjava.html
절 "바람둥이에 축 배치"에서, 그것은 당신이 사용하여 배포 할 수 있습니다 설명 " 표준 메소드 "를 호출하고 adminclient 등을 호출 한 다음 생성 한 service-config.wsdd 파일을 캡처하여 전쟁에 넣거나 실행중인 인스턴스에 배포하십시오. org.apache.axis.client.AdminClient -lhttp -cp 자바 :
나는 다음과 같은 명령을 호출 // 호스트/축/서비스/AdminService가
그런 다음했다 /path/to/deploy.wsdd를 생성 server-config.wsdd를 삭제하고 WEB-INF 디렉토리에 놓습니다. – cmyers

2

작동하도록 설정 했습니까? maven을 사용하여 (jar (w/dependencies) + server-config.wsdd가 포함 된 독립형 war 파일에) webservice를 빌드하려고했습니다. AdminClient를 전혀 호출하지 않으려합니다 (Axis를 설치하지 않는다는 의미입니다).

나는 axistools-maven-plugin을 사용하여 WSDL에서 서버 측 소스를 생성했으며 서비스를 배포 할 때까지 모든 것이 정상적으로 작동하는 것 같습니다. http://localhost:8080/myApp/services은 나에게 서비스의 이름과 두 개의 노출 된 메소드를 제공합니다. 그러나 wsdl 링크를 클릭하면 "WSDL을 생성 할 수 없습니다!이 위치에 SOAP 서비스가 없습니다"라는 축 오류 메시지가 표시됩니다.

maven을 사용하여 독립 실행 형 Axis 웹 서비스를 만들 수 있습니까?

+0

해결책은 http://stackoverflow.com/questions/8804717/axis-error-there-is-no-soap-service-at-this-location/8804814#8804814를 참조하십시오. –