
|

|
:: Web Services :: XWebLead :: Implementation Guides ::
|
Creating an XML/SOAP Web Service Based Lead Management System:
How-To Display A List Of Leads
|
|
The procedures in this implementation guide require that you have some knowledge
of XML and ASP.NET web development with the Microsoft Visual Basic.NET
development tool.
The steps in this "how-to" implementation guide are:
To download the source code for this "how-to" implementation guide, as well as
for additional hints and tips, please read our Final Notes.
|
 |
Add a "Web Reference" to the XWebLead Web Service
-
In your web project, add a Web Reference to the XWebLead web service. Here are 2
ways you can accomplish this:
-
Browse the Solution Explorer, right click on References and
select Add Web Reference...
from the drop down menu.
-
From the File Menu, select Project - Add Web Reference....
-
The Add Web Reference pop-up window will open. In the URL textbox,
enter the following URI:
http://ws.xwebservices.com/XWebLead/XWebLead.asmx?wsdl
-
Hit the Enter key or click the Go button located to the right of
the URL
textbox.
-
Change the Web reference name to XWebLead
for easier reference.
-
Click the Add Reference button to complete this step.
|
 |
Add a "Web Form" to the Web Application
|
 |
Write code in the "Codebehind" of the web form to retrieve the list of Leads by
consuming the XWebLead Web Service
Based on the documentation for the XWebLead Web Service, in order to
successfully consume the Web Service, we will need to authenticate first using
SOAP Headers. Here's how:
-
Open the "Codebehind" of the lead.aspx web form we added to the web
project in the previous
step.
-
Since the Web Service requires SOAP Headers for authentication purposes, we must
first create a new instance of the class representing the SOAP Header and then
populate the SOAP Header values:
Dim objAuth As New
XWebLead.AuthHeader
objAuth.LoginName = "<my_login_name>"
objAuth.Password = "<my_password>"
NOTE***: Instead of hard-coding the LoginName and Password values,
you may want to dynamically read them from the web.config file
(LOGIN_NAME and PASSWORD must be added to the <AppSettings>
section of the web.config file):
objAuth.LoginName =
System.Configuration.ConfigurationSettings.AppSettings("LOGIN_NAME")
objAuth.Password =
System.Configuration.ConfigurationSettings.AppSettings("PASSWORD")
-
Next, we need to create a new instance of the proxy class and assign the SOAP
Header object to the member variable of the proxy class representing the SOAP
Header:
Dim objLeads As New
XWebLead.XWebLead
objLeads.AuthHeaderValue = objAuth
-
We are now ready to call the method on the proxy class that communicates with
the Web Service method and returns the list of Lead records we want displayed
on the web page.
Dim strLeadsXML As
String = objLeads.LoadLeads()
|
 |
Implement a Repeater to display the list of Leads
In the Codebehind, we need to declare a Repeater and then bind the XML string we
received from the SOAP method, in the form of an XMLNodeList, to the Repeater's
DataSource. Here's how:
-
Declare the Repeater in the Codebehind:
Protected rptLeads
As System.Web.UI.WebControls.Repeater
-
Load the XML string from the previous step
into an XMLDocument:
Dim objDOM As New
System.Xml.XmlDocument
objDOM.LoadXml(strLeadsXML)
-
Bind the XMLDocument's DocumentElement to the Repeater's DataSource
and call the DataBind method:
rptLeads.DataSource = objDOM.DocumentElement
rptLeads.DataBind()
In the HTML Editor, we format the Repeater to our liking to display the list of
Leads. We will display the Lead_ID, Source_Identifier, Description, Body and the date the lead
was created (Date_Created attribute's value). The Lead_ID will be hyperlinked (Lead_ID
attribute's value) so when clicked, the website visitor would navigate to see the
specific Lead record's content. Here are the necessary steps:
-
Add the Repeater inside the body of your HTML page:
<asp:Repeater
ID="rptLeads"
Runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>
-
Inside the Repeater's ItemTemplate, first we display the Lead_ID of the Lead
hyperlinked. Since the Repeater is looping
through XML Nodes (<Lead>),
we need to bind to the Lead_ID attribute, then obtain its value:
<b>
<a
href="<%#
Container.DataItem.Attributes.ItemOf("Lead_ID").Value %>">
<%#
Container.DataItem.Attributes.ItemOf("Lead_ID").Value %>
</a>
</b>
-
Next, we display the Source_Identifier, Description and Body of the Lead. Again, since the Repeater is
looping through XML Nodes (<Lead>),
we need to bind to the <Source_Identifier>,
<Description> and
<Body>
elements, then get their value:
<%#
Container.DataItem.SelectSingleNode("Source_Identifier").InnerText %>
<%#
Container.DataItem.SelectSingleNode("Description").InnerText %>
<%#
Container.DataItem.SelectSingleNode("Body").InnerText %>
-
Finally, we display the Lead's created date. Since
Date_Created is an attribute, we must handle the same way we handled the Lead_ID attribute:
<%#
Container.DataItem.Attributes.ItemOf("Date_Created").Value %>
|
 |
Final Notes
The source code for this "how-to" implementation guide can be downloaded by
clicking the link below (zip file, contains the source code for all "how-to"
implementation guides for the XWebLead Web Service)
XWebLeadClient.zip
The LoadLeadsPaged SOAP method allows for pagination of the records -
this comes in handy when dealing with numerous Leads.
It's always good practice to implement a Try...Catch... error handling technique
to handle some or all possible errors that may occur while the code is
executing. We strongly recommend that you implement such a technique.
|
|

|

|
|