2009-07-22 2 views
3

기본 전송에 따라 다른 엔드 포인트 (WSDL 1.1의 포트)에서 동일한 기능 (WSDL 1.1의 인터페이스, WSDL 1.1의 portType)을 노출하는 것이 좋습니다. 프로토콜 (바인딩에 의해 정의 됨). 그러나 서로 다른 서비스의 정의를 하나의 WSDL에 넣는 것은 어떤 의미입니까? 특히, 각 서비스가 단일 작업만을 노출한다면?단일 WSDL 파일에서 여러 서비스를 정의하는 의미는 무엇입니까?

예를 들어 다음과 WSDL 파일을 참조하십시오. ". 단일 WSDL 파일에 여러 서비스를 가진 WSDL 1.1 지원이가 사용자 사이에 혼란을 야기하고있다"http://seekda.com/cache?uri=http://score.itsc.uah.edu/services/catalog/SCOOPCatalogServices.wsdl&type=xml

WSDL1.2 사양 가 있다는 언급을. 그들은 "여러 서비스, 각 서비스 유형이 다를 수 있습니다."허용함으로써 해결합니다.. 여기에 다른 유형의 의미는 무엇입니까?

마치에이

답변

3

단일 WSDL 파일에 여러 서비스를 정의하는 감각은 무엇입니까?

동일한 의미로, 왜 객체 지향 언어에서 다른 작업을 가진 다중 인터페이스를 정의 할 것인가? 서비스를 모듈화하는 것입니다.

이론적으로 모든 메소드를 하나의 인터페이스로 묶을 수 있지만 응용 프로그램에서 관심사를 분리하기를 원하기 때문에 다른 인터페이스를 사용합니다. 특히 서비스 인터페이스가 백엔드 구현에 해당하도록하고 싶습니다.

기억해야 할 중요한 점 : 이러한 서비스는 유형을 공유합니다! 따라서 모든 것을 하나의 WSDL에 넣는 것이 매우 편리합니다.

희망 이유는 ...

+0

매우 합리적입니다. BTW, 형식은 별도의 WSDL 파일로 가져올 수 있도록 외부 파일에서 공유 할 수 있으므로 모든 파일을 단일 파일로 유지하는 것이 중요한 이점으로 간주하지는 않습니다. – dzieciou

+0

슬프게도 다른 wsdls에서 클라이언트를 생성 할 때 올바른 파일에 올바르게 캡슐화 된 경우에도 공유 유형을 유지하는 데 어려움이 있습니다. 특히 패키지를 재정의하는 경우 –

1

BTW, 나는 http://score.itsc.uah.edu/services/catalog/SCOOPCatalogServices.wsdl에서 WSDL을 발견했다.

이것은 일반적이지 않습니다. 주어진 포트 유형에 대해 여러 바인딩을 보았습니다. 아마도 SOAP 1.1과 SOAP 1.2에 대한 바인딩입니다. 하지만 나는이 패턴을 한 번에 하나의 작업으로 본 적이 없다고 생각합니다.

XMLSpy에 따르면 WSDL에 문제가 있습니다. <soap:operation/>soapAction 특성이 없습니다.

+0

감사합니다. 실제로 나에게도 이상하게 보입니다. 표준화되지 않았다면 궁금한 점이 있습니다. 서비스를 정의하는 모범 사례가 있는지, 그리고 WSDL 파일이 구문 상 올바른지 확인하고 모범 사례를 준수하는지 확인하는 온라인 유효성 검사기가 있는지 궁금합니다. – dzieciou

+0

자유로운 것들에 대해 모르겠다. 몇 가지 상업적인 것들이 있습니다. XMLSpy에서 파일을 열면 문제가 즉시 해결됩니다. –

관련 문제