Using Web Services with VB.NET

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

Web Services is one of the greatest technologies developed in the Internet world. They can be used to connect businesses with each other and clients in a standard way using XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and UDDI (Universal Description, Discovery and Integration).

XML is used for structuring the data, SOAP is used to transfer the data, WSDL is used for describing the services, and UDDI is used to get a list of services available. Web Services allows applications to communicate with each other without worrying about their hardware systems, operating systems, and programming languages.

Unlike the older model, Web Services does not provide a user interface but exposes the business logic, which can be programmed; therefore, the user is free to add his own interface to the application.

Google is one of the Web sites that has provided a public Web Services, allowing applications to use features such as search and spell checks. We shall now see how can we use this service in our application using Visual Basic .NET.

But before we can access Google's Web APIs service, we will have to create a Google account and obtain an license key that will allow us to run about 1,000 automated queries a day. Please visit http://www.Google.co.nz/apis/ to create a Google account. After you have entered your e-mail address and password, Google will mail you a license key, which we'll use in our application.

Getting Started

Now that you have received your license key, we will create an application in Visual Basic .NET to create a customized search and a spelling checker that uses the Google Web APIs Service.

Open your Visual Studio .NET, create a new Windows Application Project, which we will call googleapi, and then click OK.



Click here for a larger image.

Adding a Web Reference to Google Web APIs Service

We will now add a Web Reference to Google Web APIs Service. Well, this is almost like adding a reference to a COM/ActiveX object, but when we add a Web Reference we now have access to all the XML Web Services on the Google server. Open your Solution Explorer, right-click References, and then click Add Web Reference. Alternatively, you could select Project menu and click Add Web Reference.

In the Add Web Reference window, type http://api.Google.com/GoogleSearch.wsdl in the address bar. Please make sure you type exactly as shown; this URL is case sensitive.



Click here for a larger image.

After you enter the URL and press Enter, the Google Web Service is loaded. You should see a screen like Figure 2. Also, the Add Reference button is enabled. Click Add Reference button to add this Web reference to our project.

In the Solution Explorer Window, click the Web Reference to see a Google Web Reference, which we have added. Let's rename that to Google by right-clicking it and clicking Rename.

Create a User Interface as shown below with the flowing controls and given names.



Click here for a larger image.

a) For Searching on the Engine
txtSearch            - TextBox
lbl_TotalFound       - Label
btn_Search           - Button

b) For Checking Spelling

txt_CheckSpelling    - TextBox
lbl_CorrectSpelling  - Label
btn_CheckSpelling    - Button

Source Code

Type the following code in the click event of the Google Search Button (btn_Search):

Private Sub btn_Search_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles btn_Search.Click

        Dim MyLicenseKey As String ' Variable to Store the
                                   ' License Key
        ' Declare variable for the Google search service
        Dim MyService As Google.GoogleSearchService = New _
                         Google.GoogleSearchService()
        ' Declare variable for the Google Search Result
        Dim MyResult As Google.GoogleSearchResult
        ' Please type your license key here
        MyLicenseKey = "tGCTJkYos3YItLYzI9Hg5quBRY8bGqiM"
        ' Execute Google search on the text enter and
        ' license key
        MyResult = MyService.doGoogleSearch(MyLicenseKey, _
                   txtSearch.Text, 0, 1, False, "", False, _
                                   "", "", "")
        ' output the total Results found
        lbl_TotalFound.Text = "Total Found : " & _
                       CStr(MyResult.estimatedTotalResultsCount)
    End Sub

Type the following code in the click event of the Check Spelling Button (btn_CheckSpelling):

Private Sub btn_CheckSpelling_Click(ByVal sender _
        As System.Object, _
        ByVal e As System.EventArgs) _
        Handles btn_CheckSpelling.Click

        Dim MyLicenseKey As String ' Variable to Store the
                                   ' License Key
        ' Declare variable for the Google search service
        Dim  MyService As Google.GoogleSearchService = New _
                          Google.GoogleSearchService()
        ' Declare variable for the Google Search Result
        Dim MyResult As String
        ' Please type your license key here
        MyLicenseKey = "tGCTJkYos3YItLYzI9Hg5quBRY8bGqiM"
        ' Execute Google search on the text enter and
        ' license key
        MyResult = MyService.doSpellingSuggestion( _
                   MyLicenseKey, _
                   txt_CheckSpelling.Text)
        ' output the results
        lbl_CorrectSpelling.Text = "Did you Mean : " & MyResult
    End Sub

Finally

Now we have finished coding our application. Run the application and type some text to search in the text box. Click the Google Search button to see the number of results found. Also, try the Google spell check.



Click here for a larger image.

Now you must have realized how simple it is to incorporate Google Web APIs Service in your application. Here are few things you could do with this service:

  • Issue regularly scheduled search requests to monitor the Web for new information on a subject.
  • Perform market research by analyzing differences in the amount of information available on different subjects over time.
  • Search via non-HTML interfaces, such as the command line, pagers, or visualization applications.
  • Create innovative games that play with information on the Web.
  • Add Google spell-checking to an application.

There are a few more things I would like to say before I sign off:

Google Web APIs support the same search syntax as the Google.com site and provide each developer who registers to use the Google Web APIs service a limit of 1,000 queries per day.

Please visit http://www.google.com/apis/api_faq.html if you have further questions about Google Web APIs Service.

About the Author

Jayesh Jain works as a consultant in Auckland, New Zealand. He has several years of n-Tier development experience and is currently working with Visual Basic.NET to develop interactive client solutions. He has a passion for Web development and in his spare time he likes to write articles. You can contact him here.



Comments

  • Internship

    Posted by nishitha on 04/22/2013 02:17am

    can you please tell how a web reference can add dynamically without using add reference!!!!!!!

    Reply
  • Google Web API Gone Away

    Posted by tmcd on 04/16/2010 11:45am

    Google isn't issuing new license keys. The article is still useful but it would be great if it were updated so you could play with a live system.

    Reply
  • How to get Google License Key

    Posted by eminosoft1 on 04/24/2008 06:59am

    I followed the above mentioned steps to get the license key. I created my google account using above mentioned link: http://www.Google.co.nz/apis/. And I got a conformation mail from google and they sent a conformation link: http://www.google.com/accounts/VE?c=CIjQgfLku4T_0wEQwsDAkviyo4g7&hl=en when i click that link I got a message i.e Thank you for verifying your Google account. However, your email has already been verified.But I didn't get the License key. Please let me know the procedure is correct or not? If not please tell me the procedure to this email id sreeni@eminosoft.com Thanks Sreeni

    Reply
  • Clear guidance, thanks!

    Posted by PJY on 01/18/2006 02:28am

    Thanks for the simple and clear guidance here! 1000 thanks for your step-by-step and logical explanation. I look forward to reading more of your articles

    Reply
  • good notes

    Posted by Legacy on 09/12/2003 12:00am

    Originally posted by: somasekhar

    A good presentation. ]

    I will be glad if you can guide me to do the same operation using VC++.

    somasekhar

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • As all sorts of data becomes available for storage, analysis and retrieval - so called 'Big Data' - there are potentially huge benefits, but equally huge challenges...
  • The agile organization needs knowledge to act on, quickly and effectively. Though many organizations are clamouring for "Big Data", not nearly as many know what to do with it...
  • Cloud-based integration solutions can be confusing. Adding to the confusion are the multiple ways IT departments can deliver such integration...

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date