2013-04-14 3 views
7

나는 eclipse/tomcat/axis2로 웹 서비스를 가동했다. 나는 그것을 bpel 프로세스에 링크시키고 싶습니다. 그래서 wsdl 파일이 필요합니다. 나는 서버를 시작하고축 2가 wsdl 파일을 자동으로 만들고 저장합니까?

http://localhost:8080/axis2/services/MyService?wsdl 

로 이동하여 WSDL을 표시 할 수 있습니다하지만이 프로젝트의 디렉토리 구조를 검색 할 경우, 나는 WSDL 파일을 찾을 수 없습니다. 물론 복사하여 브라우저에서 wsdl을 붙여 텍스트 파일로 저장 한 다음 bpel을 해당 wsdl로 가리킬 수 있습니다. 하지만 그것은 축 2처럼 나를 위해 wsdl 파일을 생성 (저장)하는 것 같습니다.

+0

, 나는 그냥 가리키는, 더 말을하지 (JBossWS를 사용) 그리고 비슷한 행동을합니다 : 'http : // serviceUrl/MyService? wsdl'로 가면 wsdl 파일을 얻을 수 있습니다. 사실 : JBoss는 실제로'MyService7365956195937503885.wsdl'과 같이 못생긴 이름의 파일을 생성 한 다음 응용 프로그램 (war 또는 ear)이 배포 될 때 서버 로그에 해당 경로를 출력합니다. 그러면 원하는 경우 경로를 따라갈 수 있습니다. 그것을 얻으십시오); 어쩌면 축이 그렇게 할 것입니다. – acdcjunior

답변

8

기본적으로 ?wsdl을 추가하면 Axis2는 이전에 생성 된 WSDL 문서를 검색하지 않습니다. 매번 생성됩니다.

http://localhost:8080/axis2/services/MyService.wsdl 

services.xml에 주어진 서비스 이름과 정의 된 서비스 이름 : 당신은 WSDL 문서 파일과 서비스 아카이브 파일의 META-INF 폴더 안에 해당 XML 스키마 파일을 넣으면 그러나, 그것은으로 복구 할 수 있습니다 WSDL에서 문서는 동일해야합니다. 당신이 생성 된 WSDL 문서를 저장하려면 다른 손에서

은 단순히 클래스 org.apache.ws.java2wsdl.Java2WSDL를 사용하여 프로젝트의 일부 클래스에 자바 응용 프로그램으로 다음 코드 같은 것을 실행합니다.

public static void main(String[] args) throws Exception { 
    Java2WSDL.main("-cn com.abc.MyService".split("\\s+")); 
} 

일단 실행되면 생성 된 WSDL 문서 파일과 해당 XML 스키마 파일을 프로젝트 폴더에서 찾을 수 있습니다.

enter image description here

사용,이 도구를 사용하여 더 많은 옵션을 찾으려면 다음

내가 축을 사용하지 않는
public static void main(String[] args) throws Exception { 
    Java2WSDL.printUsage(); 
} 
관련 문제