2008-10-08 6 views
1

XFire을 사용하여 애플리케이션 주위에 webservice wrapper를 작성합니다. XFire는 런타임에 웹 서비스 인터페이스와 WSDL을 제공합니다 (또는 컴파일 타임에 정확하게 생성합니다).XFire를 사용하여 문서화 된 WSDL을 작성하는 방법

우리 고객 대부분은 웹 서비스를 잘 모르고 있으며 Javadoc과 같은 외부 문서를 읽지 않습니다. 필자는 WSDL 파일에 직접 매개 변수 및 메서드에 대한 설명서를 추가 할 수 있음을 알고 있습니다.

주석 또는 Aegis XML 파일에 대해 생각했지만 방법을 모르십니까?

편집 : 방금 발견 된이 JIRA issue이지만 지난 활동은 2006 년이었습니다. 어떤 아이디어?

답변

2

XFire는/dev/null로 천천히 가고 있습니다. 대신 CXF을 사용하십시오. 즉, XFire는 CXF에 찬성하여 더 이상 사용되지 않습니다. 거의 동일한 개발자입니다. 당신이 자바 첫 번째 방법을 사용하기 때문에

, 난 당신이 한 번 WSDL 생성하고 CXF의 java2wsdl 도구 모두를 위해, 당신은 그에 문서를 넣고 대신 CXF 생성시키는의 문서화하는 것이 WSDL을 사용하는 CXF에게 제안 런타임시 자신의 (문서화되지 않은) WSDL.

This page에는 CXF에서 웹 서비스를 만드는 방법에 대해 알아야 할 모든 것이 있습니다.

1

XFire에 관한 두 개의 센트를 추가하겠습니다. XFie는 JDK6 (Tomcat 6.0 및 5.5)에서 매우 심각한 문제가있었습니다. that issue을 한눈에 살펴보십시오. 우리의 경우 JDK6에서 4 개 이상의 웹 서비스가있는 XFire는 응용 프로그램 서버 (스레드 교착 상태 등)에 매달려 있습니다. 흥미 롭지 만 JDK5에서는 모든 것이 OK였습니다.

그리고 XFire에서 CXF로 마이그레이션하는 것과 관련하여 Christian Vest와 완전히 동의합니다. 그것은 많은 경우에 감각을 가지고 있습니다. ESB Mule 2는 더 이상 기본 XFire 커넥터를 지원하지 않습니다 (see also).

XFire에서 CXF 로의 마이그레이션이 엄격한 방법이 아니라고 추가하고 싶습니다 (예 : CXF가 일부 최대 절전 모드 릴리스 see also과 충돌하는 jar 종속성을 가짐).하지만 실행 가능합니다. 우리의 경우 우리는 코드 수정 (봄에만 구성)없이 며칠 동안 해냈습니다.

마지막으로 CXF에 관한 힌트 - JAXB 대신 데이터 바인딩을 위해 Aegis를 사용하십시오. 복잡한 POJO에서는 작동하지 않습니다.

2

마지막으로 CXF에 관한 힌트 - JAXB 대신 데이터 바인딩을 위해 Aegis를 사용하십시오. 복잡한 POJO에서는 작동하지 않습니다.

제 경험으로 복잡한 POJO와 JAXB에는 아무런 문제가 없습니다. 유일한 문제는 코드가 JAXBElements로 복잡해지기 시작한다는 것입니다. 반면에 이지스 문서는 꽤 드물고 CXF와 관련하여 잘 관리되지 않습니다.