2013-08-09 6 views
0

나는 두 개의 자바 웹 서비스를 개발했다. 하나는 SOAP 기반이고 두 번째는 REST입니다. 이제 일부 클라이언트 (자바/비 자바 클라이언트도 될 수 있음)에게 내 웹 서비스를 사용하도록 요청해야합니다. 이제 웹 서비스를 사용하기 위해 클라이언트에게 어떤 정보를 전달해야합니까?다른 클라이언트가 java webservice를 호출하기 위해 필요한 것은 무엇입니까?

  • SOAP 인 경우 웹 서비스를 사용하기 위해 클라이언트와 무엇을 공유해야합니까?
  • REST의 경우 웹 서비스를 사용하기 위해 클라이언트와 무엇을 공유해야합니까?

답변

0

SOAP을 사용하면 서비스를 설명하는 WSDL document를 공유해야합니다. 이 으로 충분해야하지만 종종 그렇지 않습니다. 가장 흔한 누락 사항은 필요한 보안 유형과 상호 작용 패턴 (즉, 메소드를 함께 묶는 방법)을 사용해야한다는 것입니다. 이론적으로 WSDL은 이러한 것을 설명 할 수 있습니다. 실제적으로 야생에서는 볼 수 없습니다. 실제로, 인간이 읽을 수있는 문서에서 제대로 문서화함으로써 상호 작용 패턴을 수행하는 것이 좋습니다.

REST를 사용하면 클라이언트가 서비스의 루트 페이지에 URL을 공유하는 것으로 간주되는 경우가 많습니다. 서비스는 클라이언트가 링크를 따라 가면서 수행 할 작업을 찾을 수있는 범위까지 자체 설명해야하기 때문입니다. 이것은 HATEOAS 원리의 핵심입니다. 실제로, 그것은 그것보다 훨씬 더 복잡합니다. 많은 JAX-RS 구현은 WADL document을 통해 서비스 설명을 게시 할 수 있습니다. REST와 함께 사용되는 일반적인 보안 모델은 SOAP보다 더 많이 발견되지만 여전히 불투명하지만 상호 작용 패턴은 여전히 ​​문제가있다. 또는 무엇이든).

+0

답변을 주셔서 감사합니다. 클라이언트가 내 요청 및 응답 xsds에 대한 도메인 클래스를 어떻게 얻을 수 있습니까? 고마워요 – user1016403

+0

@ user1016403 WSDL에서 클라이언트를 생성하기 위해 여러 언어로 툴링이 * 많이 있습니다. WADL에서 클라이언트를 생성하기위한 도구 (대부분 자바로되어 있습니다)가 있습니다. (WSDL 2.0도 있지만, REST 서비스 설명을 위해 사용 해 본 적이 없다.) –

관련 문제