검색결과 리스트
open api에 해당되는 글 2건
- 2009/01/09 Silverlight에서 SOAP방식을 이용하여 LiveSearch API 이용하기
- 2008/12/26 OPEN API를 이용한 이미지 뷰어
글
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라는 곳에 사용을 하였고.. 여러분은 아무곳에나 사용을 하면 됩니다. 더 자세한 설명을 안드려도 이 소스 잠깐 보시면 어떻게 사용할지를 아실거 같네요... 혹 질문이 있으면 댓글이나 방명록에 글을 남겨주세요..
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을 가시면
그럼 여기서부터 시작입니다. 이제 간단한 함수를 하나만 만들어 주시면 됩니다.
잠깐의 설명을 드리면 offset은 검색 결과중 어디서 부터 출력을 할것인지 정하는거고 count는 한꺼번에 출력할 갯수라고 생각하시면 됩니다. msdn을 보니 최대 결과 검색의 수는 1000개 까지만 되니 offset과 count의 값을 합한것이 1000을 넘으면 안된다고 합니다.
여기까지 하시면 WCF서비스를 만드는것은 끝이 났습니다. 이제는 이 서비스를 이용을 하는 Silverlight 프로그램만 만들면 되는데요. 이것은 간단합니다.
Silverlight프로젝트에서 Add Service Reference를 클릭을 하시고 Discover만 누르시면 방금 만든 WCF서비스를 찾을 겁니다.
이제 이서비스를 사용하기만 하면 됩니다. 저는 이 소스를 쓴 곳은 Main.xaml.cs라는 곳에 사용을 하였고.. 여러분은 아무곳에나 사용을 하면 됩니다. 더 자세한 설명을 안드려도 이 소스 잠깐 보시면 어떻게 사용할지를 아실거 같네요... 혹 질문이 있으면 댓글이나 방명록에 글을 남겨주세요..
설정
트랙백
댓글
글
우선 네이버 OPEN API를 이용해서만 만들었고..
향후 다른 API를 추가 할 예정 입니다.
소스를 공개해달라는 요청에 의해서 공개 합니다..
아직 주석도 엉망이고 소스가 완성되어 있지 않지만...
예전에 학술회 가서 들은 애기가 생각이 났습니다.
"우리 나라 개발자는 자신의 프로그램이 완벽하지 않다고 생각하기 때문에 소스를 공개하지 않는다. 하지만 외국은 자신의 소스를 올리고 그 소스를 다른 사람이 수정을 하여 또 올리면서 프로그램이 더욱더 개선된다. 그러니 자신의 소스를 공개를 하는데에 두려워 하지 말라"
대충 이런식으로 애기를 들었던거 같네요..
아직은 많이 허접하고 수정할게 많지만 소스를 공개를 하는건 두려워 하지 않을 겁니다..
P.S : 참고로 이 소스도 여러사람들의 소스를 보고 제 나름대로 수정한 부분도 있습니다. 그럼 좋은 하루 되세요.. 저는 지금 전주인데.. 내일 실버라이트 컨퍼런스 들으러 서울로 올라갈 겁니다. 제발 버스가 기어가지 않았으면 좋겠습니다. 좋은밤 되세요
RECENT COMMENT