C++용 웹 서비스 클라이언트를 사용하여 클라이언트와 웹 서비스 서버 간의 메시징을 관리할 수 있습니다.
웹 서비스는 인터넷의 특정 위치에서 사용 가능한 서비스와 관련된 모든 정보를 포함하는 XML 파일인 WSDL 파일을 기반으로 합니다. 간략히 설명하면, WSDL은 요청 및 응답 메시지 쌍을 자세하게 설명하며 웹 서비스와 관련된 모든 정보를 포함합니다. C++용 웹 서비스 클라이언트 패키지는 WSDL2Ws 도구인 Java 프로그램을 제공합니다. 이 도구를 사용하여 WSDL을 정보를 호출하거나 전달하는 데이터 오브젝트 및 C++ 스텁으로 바꾸거나 서버에서 정보를 요청하고 클라이언트에 응답 데이터를 보내기 전에 대응되는 응답을 기다릴 수 있습니다. 스텁은 응용프로그램 작성자의 인터넷 통신을 숨깁니다. 서비스의 이름, 스텁이 포함하는 메소드 및 전달되는 데이터 오브젝트의 구조만 알면 됩니다.
C++용 웹 서비스 클라이언트 사용에는 다른 종류의 두 가지 방법이 있습니다.
두 가지 접근법 모두 좋은 방법이지만 클라이언트 응용프로그램 작성자가 클라이언트와 서버 간의 API와 통신 프로토콜을 더 정확하게 알아야 하기 때문에 두 번째 접근 방법은 사용하지 않는 것이 좋습니다. 또한 변경사항이 필요할 경우 작성자는 수동으로 코드에 대한 변경사항을 수정해야 하며 이는 오류를 일으키기 쉽습니다. 권장되는 구현 방법은 WSDL을 사용하여 메시지와 연관 XSD를 설명하고 그 다음 WSDL2Ws 도구를 사용하여 스텁을 생성하는 방법입니다.
다음 세 가지의 다이어그램은 C++용 웹 서비스 클라이언트의 권장 구현 방법을 사용하여 WSDL을 웹 서비스로 변경할 때 필요한 조치사항을 설명합니다.
그림 1은 WSDL을 클라이언트 응용프로그램이 호출할 수 있는 C++ 클라이언트 스텁으로 변환하는 첫 번째 단계를 설명합니다.
그림 2에서 보는 바와 같이 클라이언트 응용프로그램은 스텁의 서비스에 사용되는 메소드를 호출합니다. 이러한 메소드는 서버와 통신하는 SOAP 메시지를 생성하는 AxisClient 라이브러리에서 여러 개의 기본 메소드를 호출합니다.