troubleshooting Question

ups web service

Avatar of ITsolutionWizard
ITsolutionWizardFlag for United States of America asked on
.NET ProgrammingASP.NETVisual Basic.NET
5 Comments1 Solution202 ViewsLast Modified:
I have below web service in Vb. It is very old codes for UPS web services. I can build it in VB studio without any errors and issues. But no result. And I find out there is no parameter for UPS license number. And see anyone can help me to valid it is still working.

Thanks

<%@ WebService language="VB" class="UPS" %>
imports system
imports system.web
imports System.Net
imports System.IO
imports System.Web.Services
Imports Microsoft.VisualBasic

Public Class UPS : Inherits System.Web.Services.WebService

 <WebMethod()> _
 Public Function GetPrice(SvcCode as String,RateChart as String,ShipperZIP as String,ReceiverZIP as String, _
                          ReceiverCountry as String,PkgWeight as String,IsResidential as String,IsCOD as String, _
                          IsSatPickup as String,IsSatDelivery as String,PkgType as String) as string
        Dim sReturn As String = ""
        Dim WebReq As WebRequest
        Dim WebResp As WebResponse
        Dim strStream As StreamReader
        Dim URLRequest As String
        Dim line As String

        URLRequest = BuildUPSRequest(SvcCode, RateChart, ShipperZIP, ReceiverZIP, "US", PkgWeight, IsResidential, IsCOD, IsSatPickup, IsSatDelivery, PkgType)

        WebReq = WebRequest.Create(URLRequest)
        'WebReq.KeepAlive = false
        WebResp = WebReq.GetResponse()
        strStream = New StreamReader(WebResp.GetResponseStream(), System.Text.Encoding.ASCII)
        Try
            line = strStream.ReadLine()
            Do While line <> ""
                line = strStream.ReadLine()
                If instr(1, lcase(line), "upsonline") <> 0 Then
                    Dim strArrayData() As String
                    strArrayData = Split(line, "%")
                    If left(strArrayData(3), 4) = "0000" Then
                        sReturn = strArrayData(12)
                    Else
                        sReturn = "ERR : " & right(strArrayData(3), len(strArrayData(3)) - 4)
                    End If
                    Exit Do
                End If
            Loop
        Catch ex As Exception
            sReturn = ex.Message
        End Try
        Return sReturn
    End Function
 
    Private Function BuildUPSRequest(SvcCode As String, RateChart As String, ShipperZIP As String, ReceiverZIP As String, _
                            ReceiverCountry As String, PkgWeight As String, IsResidential As String, IsCOD As String, _
                            IsSatPickup As String, IsSatDelivery As String, PkgType As String) As String

        Dim UPSPayload As String
        UPSPayload = ""
        UPSPayload = "http://www.ups.com/using/services/rave/qcost_dss.cgi?"
        UPSPayload = UPSPayload & "AppVersion=1.2&AcceptUPSLicenseAgreement=YES&"
        UPSPayload = UPSPayload & "ResponseType=application/x-ups-rss&ActionCode=3&"
        UPSPayload = UPSPayload & "ServiceLevelCode=" & SvcCode & "&RateChart=" & RateChart & "&"
        UPSPayload = UPSPayload & "ShipperPostalCode=" & ShipperZIP & "&ConsigneePostalCode=" & ReceiverZIP & "&"
        UPSPayload = UPSPayload & "ConsigneeCountry=" & ReceiverCountry & "&PackageActualWeight=" & PkgWeight & "&"
        UPSPayload = UPSPayload & "ResidentialInd=" & IsResidential & "&CODInd=" & IsCOD & "&SatDelivInd=" & IsSatDelivery
        UPSPayload = UPSPayload & "&SatPickupInd=" & IsSatPickup & "&PackagingType=" & PkgType
        Return UPSPayload
    End Function

End Class
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 5 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 5 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros