HOPE THIS HELPS YOU ANYWAY. PLEASE VOTE (CLICK ON ANSWER)
Imports System
Imports System.Net
Imports System.IO
Imports System.Text
Imports System.Web
Imports System.Xml
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Xml.XPath
Partial Class ups
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim cartweight As New ShoppingCart
Me.ddrates.visible = False
Me.btngotoCheckOut.visible = False
Dim t As Integer
'with this code below I am getting shopping cart total weight.
t = cartweight.getTotalWeight()
If t = 0 Then
Response.Redirect("default.aspx")
End If
End Sub
Public Sub PostPage(ByVal url As String, ByVal payload As String)
Dim xmlString As String = payload
Dim result As String = vbNullString
Try
Dim client As New WebClient()
client.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim request As Byte() = Encoding.ASCII.GetBytes(xmlString)
Dim response As Byte() = client.UploadData(url, "POST", request)
result = Encoding.UTF8.GetString(response)
Catch ex As Exception
Response.Write(ex.Message)
End Try
Dim myxmldoc As New XmlDocument
myxmldoc.LoadXml(result)
Dim mynode As XmlNode
Dim myxmlnodelist As XmlNodeList
Dim ShipMethode As String
Try
Dim crmyxmlnodelist As XmlNodeList = myxmldoc.SelectNodes("RatingServiceSelectionResponse/Response")
Dim crmynode As XmlNode
For Each crmynode In crmyxmlnodelist
Dim errresult As String = crmynode.ChildNodes.Item(2).InnerText
If errresult = "Failure" Then
Me.TextBox1.Text = errresult
Me.TextBox1.Focus()
Exit Sub
End If
Next
Catch ex As Exception
Response.Write(Err.Number & "<br>" & Err.Description & "<br>" & Err.Erl & "<br>" & Err.Source)
End Try
'getting available service codes
myxmlnodelist = myxmldoc.SelectNodes("//RatingServiceSelectionResponse/RatedShipment")
For Each mynode In myxmlnodelist
Dim servicecode = mynode.ChildNodes.Item(0).InnerText
Select Case mynode.ChildNodes.Item(0).InnerText
Case "01"
ShipMethode = "Ups Next Day Air"
Case "02"
ShipMethode = "Ups 2nd day Air"
Case "03"
ShipMethode = "Ups Ground"
Case "07"
ShipMethode = "Ups Worldwide Express"
Case "08"
ShipMethode = "Ups Worldwide Expedited"
Case "11"
ShipMethode = "Ups Standard(not available)"
Case "12"
ShipMethode = "Ups 3 Days Select"
Case "13"
ShipMethode = "Ups Next Day Air Saver"
Case "14"
ShipMethode = "Ups Next Day Air Early A.M."
Case "54"
ShipMethode = "Ups Worldwide Express Plus"
Case "59"
ShipMethode = "Ups 2nd Day Air A.M."
Case Else
ShipMethode = ""
End Select
Dim servicePrice = mynode.SelectSingleNode("TotalCharges/MonetaryValue").InnerText
Me.ddrates.Items.Add(servicePrice & "-" & ShipMethode)
Next
Me.ddrates.visible = True
Me.btngotoCheckOut.visible = True
Session("ShippingMethod") = ShipMethode
Session("shippingcost") = Left(Me.ddrates.Items(0).ToString, (InStr(Me.ddrates.Items(1).ToString, "-") - 2))
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.ddrates.Items.Clear()
Dim strPayload As String
strPayload = "<?xml version='1.0'?>"
strPayload += "<AccessRequest xml:lang='en-US'>"
strPayload += "<AccessLicenseNumber></AccessLicenseNumber>"
strPayload += "<UserId></UserId>"
strPayload += "<Password></Password>"
strPayload += "</AccessRequest>"
strPayload += "<?xml version='1.0'?>"
strPayload += "<RatingServiceSelectionRequest xml:lang='en-US'>"
strPayload += "<Request>"
strPayload += "<TransactionReference>"
strPayload += "<CustomerContext>Rating and Service</CustomerContext>"
strPayload += "<XpciVersion>1.0001</XpciVersion>"
strPayload += "</TransactionReference>"
strPayload += "<RequestAction>Rate</RequestAction>"
strPayload += "<RequestOption>shop</RequestOption>"
strPayload += "</Request>"
strPayload += "<PickupType>"
strPayload += "<Code>03</Code>"
strPayload += "</PickupType>"
strPayload += "<Shipment>"
strPayload += "<Shipper>"
strPayload += "<Address>"
strPayload += "<PostalCode>93725</PostalCode>"
'strPayload += "<CountryCode>US</CountryCode>"
strPayload += "</Address>"
strPayload += "</Shipper>"
strPayload += "<ShipTo>"
strPayload += "<Address>"
strPayload += "<PostalCode>" & Me.TextBox1.Text & "</PostalCode>"
'strPayload += "<CountryCode>US</CountryCode>"
strPayload += "</Address>"
strPayload += "</ShipTo>"
'strPayload += "<ShipFrom>"
'strPayload += "<Address>"
'strPayload += "<PostalCode>93725</PostalCode>"
'strPayload += "<CountryCode>US</CountryCode>"
'strPayload += "</Address>"
'strPayload += "</ShipFrom>"
strPayload += "<Service>"
strPayload += "<Code>11</Code>"
strPayload += "</Service>"
strPayload += "<Package>"
strPayload += "<PackagingType><Code>02</Code><Description>Package</Description>"
strPayload += "</PackagingType>"
'strPayload += "<Dimensions>"
'strPayload += "<UnitOfMeasurement>"
'strPayload += "<Code>IN</Code>"
'strPayload += "</UnitOfMeasurement>"
'strPayload += "<Length>20</Length>"
'strPayload += "<Width>20</Width>"
'strPayload += "<Height>20</Height>"
'strPayload += "</Dimensions>"
strPayload += "<Description>Rate Shopping</Description><PackageWeight>"
strPayload += "<UnitOfMeasurement>"
strPayload += "<Code>LBS</Code>"
strPayload += "</UnitOfMeasurement>"
Dim cartweight As New ShoppingCart
Dim t As Integer
t = cartweight.getTotalWeight()
strPayload += "<Weight>" & t & "</Weight>"
strPayload += "</PackageWeight>"
strPayload += "</Package>"
strPayload += "</Shipment>"
strPayload += "</RatingServiceSelectionRequest>"
PostPage("https://wwwcie.ups.com/ups.app/xml/Rate", strPayload)
End Sub
End Class
Member
46 Points
152 Posts
here is ups xml rate calculator. this is belong to all of us. since every body helped me make it.
Aug 21, 2007 07:52 AM|patron|LINK
HOPE THIS HELPS YOU ANYWAY. PLEASE VOTE (CLICK ON ANSWER)