'CuveDev'에 해당되는 글 11

  1. 2008.03.12 Native C++ 로 XML Web Service 접근 4

Native C++ 로 XML Web Service 접근

CuveDev | 2008. 3. 12. 01:24 | 큐브씨

처음 쓰는 개발관련 글이군요.
초보 코더다 보니 괜히 썼다가 돌맞을까 해서 개발 글은 안 쓰려고 마음먹었었는데,
오히려 돌맞더라도 글을 써서 얻는게 더 많을 것 같아 앞으로는 가끔 개발 관련 글을 쓰려고 합니다.
관련 의견이 있으시거나, 제가 잘못 알고 있는 사항이 있으시면 주저말고 댓글로 알려주시면 감사하겠습니다 ^^

본론으로 들어가서, XML 웹서비스에 접근할 일이 생길 경우.. 해당 웹서비스의 WSDL 파일을 가지고
VS.NET의 Wsdl.exe 유틸리티를 사용하면 간단히 인터페이스를 구현하여 클라이언트를 만들 수 있습니다. 이 경우 디폴트로 cs 파일이 생성되고, 원한다면 VB.NET, Managed C++ 코드로도 프록시 코드를 생성할 수 있지요.

문제는 .NET을 사용하지 않고 Native C++ 을 이용하여 XML 웹서비스에 접근하고자 할 때입니다.
보통 VS 6.0 버전을 쓸 경우에는 gSoap 등 서드파티 툴킷을 이용하는 수밖에 없는데..
닷넷 2003 버전부터였나? sproxy.exe 유틸리티를 이용하여 Native C++ 프록시 코드를 생성하는 것이 가능해졌습니다.

딱히 사용법이랄 건 없고, MSDN을 참조하셔서 변환 후 생성된 함수를 가져다 쓰시면 됩니다 =ㅁ=;
다만, 웹서비스가 사용자 인증을 필요로 할 경우는 조금 귀찮아지는데.. 어쨌든 구현은 가능합니다 ^^;

다만!
sproxy.exe 를 사용하여 프록시 코드를 생성하였을 경우, 인자로 NULL 포인터를 넘겨줄 수 없다는 단점이 있습니다.. -ㅅ-;
이런 작업을 필요로 하는 웹 서비스에 접근할 클라이언트를 구현하여야 한다면,
gSoap 을 이용하거나 닷넷으로 구현하는 수밖에는 없는 것 같네요.

개인적으로 닷넷의 혜택을 받지 못하는지라.. 좀더 MS 측에서 Native C++ 쪽 지원이 있었으면 하는 생각이 듭니다. VS 2008에는 MFC 대규모 업데이트가 있다고 하니, 조금 기대되긴 합니다만..

어쨌든 모두들 해피 코딩!