|
-
Dec 7th, 2008, 07:36 AM
#1
Thread Starter
Fanatic Member
[RESOLVED][02/03] Identifying 'not declared' error
I am calling a web service below and translated the code from C# but have one item I can't resolve. In the Catch soapException I have a line that says, "Name 'Utilities' is not declared". Anyone know how I declare it? If I comment out that section the code works fine but probably a good idea to include this.
Code:
Public Overrides Function RetrieveDocument( _
ByVal pNumber As String, _
ByVal PDate As String, _
ByVal DownloadPath As String) As Boolean
Dim bReturn As Boolean
bReturn = False
Dim imagingService As DflImagingService.ImagingService = Nothing
Dim results As DflImagingService.ImageResult() = Nothing
Dim credentials As DflImagingService.Credentials = Nothing
Dim fileStream As fileStream = Nothing
Dim pro As Long = 0
pro = CType(pNumber, Long)
Dim ctr As Integer = 0
Try
' Instantiate the web service objects.
imagingService = New DflImagingService.ImagingService()
credentials = New DflImagingService.Credentials()
' Set username/password properties of credentials object.
credentials.UserName = m_sUsername
credentials.Password = m_sPassword
' Set the credentials property of the imaging service to your credentials object.
imagingService.CredentialsValue = credentials
' Call the TrackByDate() web method.
results = imagingService.GetImages(pro)
Dim result As DflImagingService.ImageResult
For Each result In results
If result.Exceptions Is Nothing Then
If result.DocumentType = "DELIVERY RECEIPT" Then
' Do something w/ image data.
fileStream = New fileStream(DownloadPath, FileMode.Create)
fileStream.Write(result.ImageData, 0, result.ImageData.Length)
fileStream.Seek(0, SeekOrigin.Begin)
fileStream.Close()
bReturn = True
End If
Else
Dim i As Integer
For i = 0 To result.Exceptions.Length - 1
Log2File("error: " & result.Exceptions(i))
Next
End If
ctr += 1
Next
Catch soapException As System.Web.Services.Protocols.SoapException
'******** ERROR: Name 'Utilities' is not declared *********
Dim webServiceExceptions As WebServiceException() = Utilities.ParseSoapException(soapException)
Dim stringBuilder As New stringBuilder()
Dim i As Integer
For i = 0 To webServiceExceptions.Length - 1
stringBuilder.Append(webServiceExceptions(i).Message & vbCr & vbLf)
Next
Throw New Exception(stringBuilder.ToString())
Finally
If Not (imagingService Is Nothing) Then
imagingService.Dispose()
End If
imagingService = Nothing
credentials = Nothing
If Not (fileStream Is Nothing) Then
fileStream.Close()
End If
fileStream = Nothing
End Try
Return bReturn
End Function
related code
Code:
Public Class WebServiceException
Inherits System.ApplicationException
Private m_number As Integer
Public Property Number() As Integer
Get
Return Me.m_number
End Get
Set(ByVal value As Integer)
Me.m_number = value
End Set
End Property
Private m_type As String
Public Property Type() As String
Get
Return Me.m_type
End Get
Set(ByVal value As String)
Me.m_type = value
End Set
End Property
Private m_message As String
Public Shadows Property Message() As String
Get
Return Me.m_message
End Get
Set(ByVal value As String)
Me.m_message = value
End Set
End Property
Public Sub New()
End Sub
Public Sub New(ByVal number As Integer, ByVal type As String, ByVal message As String)
Me.m_number = number
Me.m_type = type
Me.m_message = message
End Sub
Public Shared Function ParseSoapException(ByVal soapException As System.Web.Services.Protocols.SoapException) As WebServiceException()
Dim exceptions As WebServiceException()
Dim i As Integer
Try
exceptions = New WebServiceException(soapException.Detail.ChildNodes.Count - 1) {}
For i = 0 To exceptions.Length - 1
exceptions(i) = New WebServiceException(Convert.ToInt32(soapException.Detail.ChildNodes(i).Attributes("e:number").Value), soapException.Detail.ChildNodes(i).Attributes("e:type").Value, soapException.Detail.ChildNodes(i).Attributes("e:message").Value)
Return exceptions
Next
Catch exception As exception
Throw exception
Finally
exceptions = Nothing
End Try
End Function
Code:
' imports using
Imports System
Imports System.IO
Imports System.Net
Imports System.Text.RegularExpressions
Imports DflImagingService 'web service
Imports System.Web.Services.Protocols.SoapMessage
Imports System.Web.Services.Protocols.SoapException
Imports System.Text
Imports System.Web
Last edited by lleemon; Dec 8th, 2008 at 05:08 PM.
Reason: Resolved
-
Dec 8th, 2008, 03:47 PM
#2
Re: [02/03] Identifying 'not declared' error
ParseSoapException is a method in WebServiceException, so you should be calling
WebServiceException.ParseSoapException()
But I'm of the opinion that someone may have changed that class name and to be honest, that class is somewhat pointless - it's merely encapsulating an exception's properties, which doesn't make sense.
-
Dec 8th, 2008, 05:07 PM
#3
Thread Starter
Fanatic Member
Re: [02/03] Identifying 'not declared' error
I got it to work by changing that line to:
Code:
Dim webServiceExceptions As WebServiceException() = ParseSoapException(soapException)
Last edited by lleemon; Dec 9th, 2008 at 07:10 AM.
-
Dec 9th, 2008, 03:00 AM
#4
Re: [RESOLVED][02/03] Identifying 'not declared' error
How odd, I don't see any Utilities class in the code you've shown.
-
Dec 9th, 2008, 07:17 AM
#5
Thread Starter
Fanatic Member
Re: [RESOLVED][02/03] Identifying 'not declared' error
Sorry, just edited my latest code to put the way that's working.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|