Error prompt: Service 'MultiDbLoginServiceV5' is an abstract service after upgrade from v6 to v9

Hi,

I facing the error right after upgrade RemObjects.NET from v6 to v9.4.107.1363 whenever trying to use my existing working copy of MultiDbLoginServiceV5 in v6.

An exception occurred on the server: Service ‘MultiDbLoginServiceV5’ is an abstract service.

However, it will not have any error if I’m using my v6 clientChannel to connect to v9 serverChannel.

Where should I look for it during the version update?

Thanks.

Could you show a sample how you define the service and how you do call it from the client side? It is not intended to be used directly AS IS (and thus has been marked as Abstract like 10 years ago)

Hi,

It is still workable in my production copy where it using on version v6.0.55.957

In SmartMultiDBLoginService_Impl.vb (Server channel)

The error throw whenever I invoke the function GetConnectionNames in my client code

Error prompted:
ScreenD

How do you initialize SmartConnectionLib.Instance.SmartLoginService ?

Protected Sub New(ByVal sTargetURL As String, ByVal sServiceName As String)

    Me.ServerURL = sTargetURL
    Me.ServiceName = sServiceName

    FSmartRemoteService = New RemoteService()
    FSmartClientChannel = New IpHttpClientChannel()
    FSmartMessage = New BinMessage()
    FSmartBinDataStreamer = New Bin2DataStreamer()
    FSmartRemoteAdapter = New RemoteDataAdapter()
    FSmartRemoteCommand = New RemoteCommand()

    With FSmartClientChannel
        .TargetUrl = Me.ServerURL
        .UseConnectionPooling = True
        .Timeout = 86400 '24 hours in seconds
        .TimeoutEnabled = True
        .KeepAlive = True
    End With

    With FSmartMessage
        .UseCompression = True
        .EnforceMaxMessageSize = False 'No enforcing the message size for open query
        '.MaxMessageSize = 524288000
        '.MaxDecompressedMessageSize = 524288000
        .MaxMessageSize = 924288000
        .MaxDecompressedMessageSize = 924288000
    End With

    With FSmartRemoteService
        .ServiceName = Me.ServiceName
        .Channel = FSmartClientChannel
        .Message = FSmartMessage
    End With

    With FSmartRemoteAdapter
        .RemoteService = FSmartRemoteService
        .DataStreamer = FSmartBinDataStreamer
        .DynamicSelect = True
    End With

    With FSmartRemoteCommand
        .RemoteService = FSmartRemoteService
        .ExecuteCall.SetupDefaultRequest()
    End With

    'Create DynamicSQL Instance
    FSmartDynamicSQL = CoSmartIMSService.Create(FSmartMessage, SmartClientChannel)

    'Create Login Service Instance
    FSmartLoginService = CoSmartMultiDBLoginService.Create(SmartMessage, SmartClientChannel)


End Sub

Seems you need to regenerate the _Intf file

1 Like

Hi, it’s work right after regenerated those file. Thanks!