짧은 소개. 일부 독립 클라이언트는 일부 속성 및 동작을 사용하여 일부 개체를 "발명"하는 프로덕션 시스템이 있습니다. 이러한 개체에 값을 할당하고 실행하고 실행할 때 상태를 읽을 수 있습니다. 모든 것이 웹 인터페이스를 통해 이루어집니다. 클라이언트가 로그인하고, 값을 할당하고, 객체를 주입하고, 컨테이너를 시작하고, 자신의 객체가 변경되는 것을 봅니다.동적으로 정의 된 웹 메소드 인수
모든 것은 클라이언트의 JAXB 호환 스키마를 기반으로합니다. 스키마는 Java 클래스로 컴파일되고 클라이언트의 jar로 패키징됩니다. (많은 도움을 준 stackoverflow 회원 덕분에 날아 다니며).
그리고 여기에 문제가 있습니다. 그들은 웹 서비스 (SOAP)가 현재 웹 인터페이스를 통해 모든 것을하고 싶어합니다. 그리고, 물론, WSDL 유형과 JAXB 스키마에 따라 그들이 동적으로 실제로 매일 :( 에 변경 및 배포, 그들은 웹을 통해 할 수있는 모든 작업은 다음과 같습니다
- 시작/중지 응용 프로그램 컨테이너 (공통 작업, 문제가되지 않습니다)
- 컨테이너
"3"에서 특정 유형의 객체를 검색 용기에
@WebMethod
public void inject(UserDefinedObject obj) {
getAppContainer().inject(obj); // that's all I have to implement
}
하는 방법 :
-
을
어떻게 고객의 JAXB 스키마에 의해 정의되는 인수의 형태를 가정, 방법을 다음과 같이 WS 엔드 포인트를 게시 할
클라이언트의 스키마에 따라 xml 요청/응답을 수정하려면 인수로 Object :
public void inject(Object obj);
및 코드ServletFilter
을 사용하십시오. 하지만 WS 서블릿이 메서드 시그니처를 검사하지 않고 예외를 throw하는지에 대해서는 확신하지 못합니다. 또 다른 질문은 JAXB 언 마샬링을 수행하기 위해 해당 메소드 내에서 요청의 XML에 액세스 할 수 있는지 여부입니다.이미 클라이언트 jar를 컴파일 중이므로 웹 서비스 끝점을 컴파일하고 OSGI 번들로 동적으로 배포 할 수 있습니다. 나는 OSGI를 처음 접했고 너무 많은 질문을 던졌다 : 내 귀에 대해서는 무엇이든지, OSGI, EJB와 통신하는 방법 등을 모두 할 필요가 있는가?
더 많은 googling ,하지만 나는 두려워 브린 & 나를 충전 시작됩니다.
다른 아이디어가 있습니까?