Open API 중에서 네이버나 다음말고도 마이크로소프트에서도 LiveSearch라는 것을 지원을 합니다.
XML, JSON, SOAP방식을 지원하는 것으로 알고 있습니다.

XML방식은 네이버나 다음을 통해서 많이 사용을 해보았으니, .NET기술에서는 간단하게 사용이 가능 할 거라고 생각한 저는 SOAP 방식을 이용해서 개발을 해보았습니다.

우선 Silverlight와 접합을 시키기 위해서는 약간의 작업을 필요로 하는데, 저는 WCF라는 기술을 이용을 하여, WCF에서는 검색을 하고 검색결과를 리턴을 해주는 함수를 하나 만들었습니다. 이 함수를 Silverlight에서 요청을 하고 그 결과값을 이용을하여 출력을 하는 방식입니다.

우선 Silverlight프로젝트가 아닌 .NET 프로젝트에 Add Web Reference를 클릭을 하여 Reference를 추가를 해줍니다. URL은 http://soap.search.msn.com/webservices.asmx?wsdl 이 주소를 넣으시면 되시고 그다음에 Go를 클릭을 하시면 아래의 그림이 나올 겁니다.

그다음에 Web reference name을 정하시고 Add Reference를 클릭을 하시면 정상적으로 Web Reference가 추가가 됩니다.

여기까지는 수월 합니다. 그다음에 .Net 프로젝트에 WCF를 하나 추가를 해줍니다. Add->New Item을 가시면
Silverlight-enabled WCF Service가 있습니다. 이것을 클릭하여 WCF 서비스를 하나 만들어 주세요~

그럼 여기서부터 시작입니다. 이제 간단한 함수를 하나만 만들어 주시면 됩니다.
위의 소스는 준서아빠님 블로그(http://www.uxkorea.net)님의 게시물 중 하나인 http://www.uxkorea.net/blog_post_178.aspx의 소스를 보고 제가 나름 수정을 한 소스입니다.
잠깐의 설명을 드리면 offset은 검색 결과중 어디서 부터 출력을 할것인지 정하는거고 count는 한꺼번에 출력할 갯수라고 생각하시면 됩니다. msdn을 보니 최대 결과 검색의 수는 1000개 까지만 되니 offset과 count의 값을 합한것이 1000을 넘으면 안된다고 합니다.

여기까지 하시면 WCF서비스를 만드는것은 끝이 났습니다. 이제는 이 서비스를 이용을 하는 Silverlight 프로그램만 만들면 되는데요. 이것은 간단합니다.
Silverlight프로젝트에서 Add Service Reference를 클릭을 하시고 Discover만 누르시면 방금 만든 WCF서비스를 찾을 겁니다.
적당한 Namespace를 넣으신다음에 OK를 클릭을 하시면 됩니다.
이제 이서비스를 사용하기만 하면 됩니다. 저는 이 소스를 쓴 곳은 Main.xaml.cs라는 곳에 사용을 하였고.. 여러분은 아무곳에나 사용을 하면 됩니다. 더 자세한 설명을 안드려도 이 소스 잠깐 보시면 어떻게 사용할지를 아실거 같네요... 혹 질문이 있으면 댓글이나 방명록에 글을 남겨주세요..
저작자 표시 비영리 변경 금지