2016-06-02 2 views
0

Apache karaf를 사용하여 Java RESTFUL 웹 서비스를 만들었습니다. API 문서를 위해 swagger를 사용하고 있습니다. 모든 주석이 적용되고 일반 Swagger 구성과 함께 단일 OSGI 번들에서 성공적으로 실행됩니다 (Swagger 코어 및 주석 항아리)를 독립 실행 형 모드에서 아파치 카라프와 함께 사용합니다.Apache karaf를 사용하여 여러 OSGI 번들에서 Swagger API

문제는 : - 여러 OSGI 번들에 자신감을 실행하는 동안, 그것은 최초의 WSDL에 "/ API-문서"를 치는 동안 생성 된 결과를 잡는뿐만 아니라 다른 WSDL의에 대해 동일한 반환합니다.

설명 : - "?/로컬 호스트 : 8181/CXF/ABC _wadl HTTP"

2

내가

1) 아래로 노출이 개 웹 서비스가 있다면 우리가 생각해 보자) "http :/localhost : 8181/cxf/xyz? _wadl"

두 웹 서비스는 두 개의 서로 다른 OSGI 번들에서 제공되며 모든 구성은 각각 "bluprint.xml"파일로 작성됩니다. 코어 및 Swagger- annotation de pendencies는 각 프로젝트의 pom.xml에 있습니다.

내가 먼저 WSDL의 예에 자신감 API를 실행하면 "HTTP :/로컬 호스트 : 8181/CXF/ABC/API-문서"

성공적하지만 두 번째 WSDL의 예에 자신감 타격에 결과를 반환합니다. "http :/localhost : 8181/cxf/xyz/api-docs"

첫 번째 WSDL에서 처음 생성 된 결과와 동일한 결과가 반환되었습니다. 첫 번째 WSDL json을 캐시하고 항상 같은 값을 반환합니다 (일부는 초기 json 결과를 캐시했습니다).

내 질문 : -

1 - 아파치 Karaf를 사용하여 여러 OSGI 번들에 대한 자신감의 API를 실행하는 다른 방법이 있나요?

2 - 우리는 karaf/swagger Configuration을 사용하여 캐싱을 영구적으로 비활성화 할 수 있습니까?

3 - 다음 OSGI 번들 ("http : // localhost : 8181/cxf/abc/api-docs")에 swagger를 치려고 할 때 swagger 캐시를 지우는 방법이 있습니까?/localhost : 8181/cxf/xyz/api-docs "), API 주석을 다시 검색하고 캐싱 된 결과를 반환하지 않습니다.

는 : - 내가 사용 OSGI 번들에 자신감 API를 구현 한 : - https://github.com/ddragosd/jax-rs-on-karaf

답변

0

당신은 CXF와 CXF Swaggger feature를 사용하여 서비스를 실행하려고 할 수 있습니다.

+0

의견을 보내 주셔서 감사합니다. swagger API를 구현하기 위해 buleprint.xml에서 동일한 구성을 사용하고 있습니다. 여러 OSGI 번들에 swagger API를 구현하는 다른 방법을 제안 해 주시겠습니까? – user3459542

+0

그래서 CXF swagger 기능은 둘 이상의 번들에서 작동하지 않습니까? 나는 이것을 버그라고 생각할 것이다. CXF에서 문제를 열 ​​수 있습니까? –

+0

이것에 대해 좀 더 자세히 조사했습니다 ... 아래를 참조하십시오. JIRA 문제 - https://issues.apache.org/jira/browse/CXF-6740 의견을 보내주십시오. – user3459542

관련 문제