VB Code: Imports Microsoft.VisualBasic Imports System Imports System.Collections.Generic Imports System.Xml Imports CookComputing Imports CookComputing.xmlrpc _ Public Class GeneralUpcFind Inherits XmlRpcService Public Structure upcLookUpValues Public upc As String Public pendingUpdates As Integer Public isCoupon As Boolean Public ean As String Public issureCountryCode As String Public mfr_comment As String Public mfr As String Public description As String Public found As Boolean Public size As String Public message As String Public issureCountry As String Public lastModified As String End Structure _ Public Interface IgetHelp Inherits IXmlRpcProxy _ Function UpcHelp() As String End Interface _ Public Interface IlookupUpc Inherits IXmlRpcProxy _ Function lookupUPC(ByVal upcCode As String) As upcLookUpValues End Interface _ Public Interface IlookupEan Inherits IXmlRpcProxy _ Function lookupEAN(ByVal EANCode As String) As upcLookUpValues End Interface _ Public Interface IconvertUPCE Inherits IXmlRpcProxy _ Function convertUPCE(ByVal UpcCode As String) As String End Interface Public Function getHelp() As String Dim proxy As IgetHelp = XmlRpcProxyGen.Create(Of IgetHelp)() Dim Response As String Response = proxy.UpcHelp() Return Response End Function Public Function ConvertUpce(ByVal UpceCode As String) As String Dim proxy As IconvertUPCE = XmlRpcProxyGen.Create(Of IconvertUPCE)() Dim Response As String proxy.KeepAlive = False Response = proxy.convertUPCE(UpceCode) Return Response End Function Public Function lookupBarCode(ByVal BarCode As String) As upcLookUpValues Dim Proxy As IlookupUpc = XmlRpcProxyGen.Create(Of IlookupUpc)() Dim LongBar As String Dim Response As upcLookUpValues Select Case BarCode.Length Case 12 Response = getEan("0" + BarCode) Case 8 LongBar = ConvertUpce(BarCode) Response = getEan(LongBar) Case Else Response = getEan(BarCode) End Select Response.upc = BarCode Return Response End Function Public Function getEan(ByVal eanCode As String) As upcLookUpValues Dim proxy As IlookupEan = XmlRpcProxyGen.Create(Of IlookupEan)() Dim Response As upcLookUpValues proxy.KeepAlive = False Response = proxy.lookupEAN(eanCode) Return Response End Function Public Function getupc(ByVal upcCode As String) As upcLookUpValues Dim proxy As IlookupUpc = XmlRpcProxyGen.Create(Of IlookupUpc)() Dim Response As upcLookUpValues proxy.KeepAlive = False Response = proxy.lookupUPC(upcCode) Return Response End Function End Class VB Call To Routine: Private Sub RegetFields(ByRef Failed As Boolean) Dim UpcLookUp As New GeneralUpcFind Dim UpcValues As New GeneralUpcFind.upcLookUpValues Dim Desc, Size, MFG As String Dim ChangedDesc, ChangedSize As Boolean ChangedDesc = False ChangedSize = False UpcValues = UpcLookUp.lookupBarCode(TxtBarCode.Text) 'Trim just removes leading and trailing spaces Desc = Trim(UpcValues.description) Size = Trim(UpcValues.size) End Sub