2012-11-05 2 views
2

저는 osgi을 처음 접했습니다. 기다려주십시오. soap webservice 클라이언트를 선언적 서비스로 노출하고 싶습니다. 어떻게해야합니까? 나는 단계별 튜토리얼에 의해 단계를 주셔서 감사하겠습니다. 저는 지금까지 춘분을 시작하고, 선언적 서비스를 작성하고 동일한 서비스를 사용할 수있었습니다.osgi 비누 클라이언트를 선언적 서비스로 노출

내가 막히는 곳은 서비스의 인터페이스 클래스 만 포함하는 번들을 만든 다음 위의 인터페이스를 구현하는 번들을 만듭니다. 구현 번들은 외부 웹 서비스와 통신 할 수 있도록 비누 클라이언트 여야합니다.

+0

지금까지 모든 것이 올바르게되었습니다. 어디서 붙어 있니? –

+0

내가 wsdl에서 자바 파일을 생성 할 때. 생성 된 클래스는 서비스로서 공개 할 수있는 인터페이스를 구현하지 않습니다. – angelo

+0

다른 번들을 재사용 할 수 있도록 생성 된 Java 클래스를 서비스로 배포하려고합니다. 이렇게하려면 인터페이스 클래스가 있어야합니다. 클래스는 wsdl에서 생성되기 때문에 인터페이스가 없습니다. – angelo

답변

1

service-registry는 인터페이스뿐 아니라 클래스도 처리 할 수 ​​있습니다. 즉, 직접 서비스로 생성 된 클래스를 노출 할 수 있습니다 의미 : 여러 가지 이유로

<service> 
    <provide interface="your.generated.clazz"/> 
</service> 

이 그래도 좋은 방법이 아니다 :

    당신은 당신의 번들에서 생성 된 클래스를 내 보내야 할 것
  1. , 구현 세부 사항이 노출되어 모듈성이 손상됩니다.
  2. 생성 된 클래스가 OSGi 서비스 수명주기를 존중하는 것은 분명하지 않습니다.

생성 된 클래스를 사용하는 프록시 서비스를 작성하고 모든 OSGi 관련 기능을 노출하고 노출하려는 인터페이스를 구현하는 것이 이상적입니다.

관련 문제