Difference between revisions of "Web Services"
| Line 143: | Line 143: | ||
To use the web reference, create a new instance of the web service | To use the web reference, create a new instance of the web service | ||
VB.Net Class program file | VB.Net Class program file | ||
| − | + | <source lang="javascript"> | |
Partial Class tickets | Partial Class tickets | ||
Inherits System.Web.UI.UserControl | Inherits System.Web.UI.UserControl | ||
| Line 150: | Line 150: | ||
. | . | ||
. | . | ||
| − | + | . | |
To consume the service, call your first function | To consume the service, call your first function | ||
| − | + | ws.login(username, password) | |
| + | </source> | ||
| + | <source lang="javascript"> | ||
'the login function returns a system id value so... | 'the login function returns a system id value so... | ||
"Let’s rewrite the above code to look like the code below... | "Let’s rewrite the above code to look like the code below... | ||
| Line 158: | Line 160: | ||
Dim sid As String | Dim sid As String | ||
sid = ws.login(username, password) | sid = ws.login(username, password) | ||
| − | + | </source> | |
| + | '''Here is a complete Code Snippit''' | ||
| + | <source lang="javascript"> | ||
Imports System.IO | Imports System.IO | ||
Imports System.Xml | Imports System.Xml | ||
| Line 244: | Line 248: | ||
End Sub | End Sub | ||
End Class | End Class | ||
| − | + | </source> | |
| − | + | ||
| − | + | ||
Revision as of 17:33, 10 November 2008
To discuss or ask questions about this article, select the discussion tab above.
Contents
- 1 Create a Request, Change Order and Contact through Web Services via VB
- 1.1 Step1: Create a web reference in the front end.
- 1.2 Step 2: Create an Object of the web reference
- 1.3 Step 3: Specify the Correct web service URL
- 1.4 Step 4: Provide the username and password to get the sid value
- 1.5 Step 5: Get the User Handle
- 1.6 Step 6: Create a Request
- 1.7 Step 7: Create a Change Order
- 1.8 Step 8: Create a contact
- 2 Creating Code for VB.net 2008 and R11
- 3 Example Code: Using Webservice in VB.NET Web Application
- 4 Quick Reference
- 5 How to Use Your Web Service
Create a Request, Change Order and Contact through Web Services via VB
Step1: Create a web reference in the front end.
- Start the front end.
- Go to Website menu and click “Add web reference”.
- In the URL box provide the web service URL and click go. http://<hostname>:8080/axis/services/USD_R11_WebService?wsdl'''
- We can find the methods being pulled out.
- Add the webreference with the name “WebReference”.
Step 2: Create an Object of the web reference
<source lang="javascript">Dim ws As New WebReference.USD_WebService</source>
Step 3: Specify the Correct web service URL
<source lang="text">ws.Url = "http://<hostname>:8080/axis/services/USD_R11_WebService?wsdl"</source>
Step 4: Provide the username and password to get the sid value
<source lang="javascript">Dim username, password As String Dim sid As Integer username = "analyst1" password = "123" sid = ws.login(username, password)</source> where login is the method used to get the sid.
Step 5: Get the User Handle
<source lang="javascript">Dim userhandle As String userhandle = ws.getHandleForUserid(sid, username)</source> Where getHandleForUserid is the method
Step 6: Create a Request
<source lang="javascript">Dim attrVal(5), attr(1), prop(1), persistent_id As String Dim requestHandle, requestNumber As String attrVal = New String() {"customer", userhandle, "category", "<category id>", "description", "Description here"} prop = New String() {""} attr = New String() {persistent_id} requestHandle = "" requestNumber = "" ws.createRequest(sid, userhandle, attrVal, prop, "", attr, requestHandle, requestNumber)</source>
Step 7: Create a Change Order
<source lang="javascript">Dim attrVal(5), attr(1), prop(1), persistent_id As String Dim requestHandle, requestNumber As String attrVal = New String() {"requestor", userhandle, "category", "category id", "description", "description here"} prop = New String() {""} attr = New String() {cpersistent_id} requestHandle = "" requestNumber = "" ws.createChangeOrder(sid, userhandle, attrVal, prop, "", cattr, requestHandle, requestNumber)</source>
Step 8: Create a contact
<source lang="javascript">Dim attrVal(5), attr(1), persistent_id As String Dim contactHandle, contactNumber As String attrVal = New String() {"first_name","Mike", "last_name", "Tolland", "userid", "mike.tolland", "contact_num", "<Password here>", "email_address", "mike.tolland@abc.co.in", "phone_number", "00989876723"} attr = New String() {persistent_id} ws.createObject(sid, "cnt", attrVal, attr, contactHandle, contactNumber)</source>
Creating Code for VB.net 2008 and R11
Create object / login and return basic information
<source lang="javascript">
Dim sid As String
Dim uHandle As String
Dim b As New casoap.USD_WebServiceSoapClient
sid = b.login("Administrator", "password")
Dim user As String = "devak01"
uhandle = b.getHandleForUserid(sid, user)
Dim arryVals As String() = {"first_name", "last_name", "organization", _
"organization.name", "admin_org.name", _
"group_list.length"}
Dim arryValsresults As String = b.getObjectValues(sid, uHandle, arryVals)
</source>
Create a Asset / Hardware Configuration item
<source lang="javascript">
Dim newexten As String = ""
Dim extenName As String = ""
Dim assethndle As String = ""
Dim car As String = ""
Dim chgHandle As String = ""
Dim chgNum As String = ""
Dim attrVal() As String = {"name", "hello2", "class", "grc:10000002"}
ReDim Preserve attrVal(3)
Dim persistent_id As String = "persistent_id"
Dim attr() As String = {persistent_id}
ReDim Preserve attr(0)
b.createAsset(sid, attrVal, attr, car, assethndle, newexten, extenName)
</source>
Create a Change Order
<source lang="javascript">
Dim attrVal() As String = {"requestor", uHandle, "category", "5103", "description", "hello world"}
ReDim Preserve attrVal(5)
Dim persistent_id As String = "persistent_id"
Dim attr() As String = {persistent_id}
ReDim Preserve attr(0)
Dim prop() As String = {}
ReDim Preserve prop(1)
Dim chgHandle As String = ""
Dim chgNum As String = ""
b.createChangeOrder(sid, uHandle, attrVal, prop, _
"", attr, chgHandle, chgNum)
</source>
Example Code: Using Webservice in VB.NET Web Application
I am using Visual Web Developer Express.Net. It is free and easy to use. To consume the USD web services, create a new web application.
Now is time to get to work
Once your page is set up, click the [b] Website [/b] tab.
Click add reference , and enter the URL to the web services WSDL file, which is located at http ://< your server>:8080/axis/services/USD_R11_WebService?wsdl
You might want to study a little XML and WSDL. Look up the topic, Consume or Consuming Web Services.
Quick Reference
Consuming Web service With Visual Studio/ Express Web Developer
Go to the Menu Bar and click Website > Add Web Reference (name it anything you want then click --> Add reference
And that is it!
How to Use Your Web Service
To use the web reference, create a new instance of the web service VB.Net Class program file <source lang="javascript"> Partial Class tickets
Inherits System.Web.UI.UserControl
Private ws As New USD_WebService
.
.
.
To consume the service, call your first function ws.login(username, password) </source> <source lang="javascript"> 'the login function returns a system id value so... "Let’s rewrite the above code to look like the code below...
Dim sid As String sid = ws.login(username, password) </source> Here is a complete Code Snippit <source lang="javascript"> Imports System.IO Imports System.Xml Imports System.Xml.Serialization Imports <ReferenceToWebServiceWSDL> Imports Connection
Partial Class _Default
Inherits System.Web.UI.Page
Dim ws As New USD_WebService Dim sid As String Dim userhandle, username, password As String Dim attrVal(5), attr(0), prop(0) As String Dim requestHandle, requestNumber As String Dim persistent_id As String Dim catAttrib(5) As String
Dim xmlReturn As String Dim pcatHandle As XmlNodeList Dim xDoc As XmlDocument = New XmlDocument() Dim pcatResult As String
'Class for handling the button click submit
Protected Sub Submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit.Click
Dim name = “Username”
Dim pass As String = "password"
sid = ws.login(name, pass)
‘get the Handle for the userid
userhandle = ws.getHandleForUserid(sid,name)
'Get The Category Attributes
catAttrib = New String(0) {}
'Category Handle for the incident area
Try
xReturn = ws.doSelect(sid, "pcat", "sym = 'HARDWARE.PRINTER.SETUP'", 1, catAttrib)
xDoc.LoadXml(xReturn)
xHandle = xDoc.GetElementsByTagName("Handle")
xResult = xHandle(0).InnerText
catHandle = xResult
Catch ex As Exception
Response.Write("Exception caught while invoking an XML Web service.")
End Try
'Priority handle for the ticeket
'sym = priority.Value
'505 0 0 None Priority unassigned
'500 0 1 5 LOW Priority HIP Pri 5
'501 0 2 4 MEDIUM-LOW Priority HIP Pri 4
'502 0 3 3 MEDIUM Priority HIP Pri 3
'503 0 4 2 MEDIUM-HIGH Priority HIP Pri 2
'504 0 5 1 HIGH Priority HIP Priority
Dim pri As String()
pri = New String() {"pri:505", "pri:504", "pri:503", "pri:502", "pri:501", "pri:500"}
'Set the priority number Testing only
priority_number = 1
attrib = New String() {"customer", userhandle, "priority", "pri:502", "category", _
pcatResult, "description", "Test"}
prop = New String() {""}
attr = New String() {persistent_id}
requestHandle = ""
requestNumber = ""
‘Create the ticket
'Including a try catch block for catching an error dealing with additional fields
ws.createRequest(sid, userhandle, attrVal, prop, "", attr, requestHandle, requestNumber)
'I need to close the connection.
ws.logout()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ws.Url = _
"http://<yourServerName>:8080/axis/services/USD_R11_WebService?wsdl"
End Sub
End Class </source>