Hi,
I'm using Unidirect components in the Web service. On my computer the web service works fine. But when I published it and copied to the server I couldn't run any methods from it. The service returns error that some Unidirect dlls can not be found. I checked the Bin directory and dlls are there. After installation of Unidirect on the server the methods started to work. But I can't install Unidirect on the production server, I can just create my webservice.
What I'm doing wrong?
Thanks,
Galina
Unidirect and web services
The following assemblies must be available in order to use UniDirect .NET.
For professional version:
CoreLab.UniDirect.dll and CoreLab.UniDirect.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).
For standard version:
CoreLab.UniDirect.dll, CoreLab.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).
Please send us the error message.
For professional version:
CoreLab.UniDirect.dll and CoreLab.UniDirect.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).
For standard version:
CoreLab.UniDirect.dll, CoreLab.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).
Please send us the error message.
Error Message
Hi,
We are using professional version of UniDirect. I found that when I published my WebService, file CoreLab.UniDirect.Oracle.dll wasn't added to the Bin directory. That's why I went to the Corelab DLL directory and found that there are 2 files with the same name: Corelab.Unidirect.Oracle.dll. One in the directory "Providers" and another in the directory "Providers\External". Files have different size. I copied the first one and tried to call the method from my WebService and got the error. I copied another file, second one, and got the same error. Here the error message:
System.TypeLoadException: Method 'get_IsTrial' in type 'CoreLab.UniDirect.OraDirectProvider' from assembly 'CoreLab.UniDirect.Oracle, Version=2.5.7.0, Culture=neutral, PublicKeyToken=09af7300eec23701' does not have an implementation.
at System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.Reflection.Assembly.GetType(String name)
at CoreLab.UniDirect.ProviderManager.a(f A_0)
at CoreLab.UniDirect.ProviderManager.GetProvider(String providerName)
at CoreLab.UniDirect.ad.a(String A_0, Boolean A_1)
at CoreLab.UniDirect.UniConnection.set_ConnectionString(String value)
at CoreLab.UniDirect.UniConnection..ctor(String connectionString)
at adminService.CheckFormula(String FieldLevelId, String ControlType, String FieldTables, String SQLFormula)
Thank you,
Galina
We are using professional version of UniDirect. I found that when I published my WebService, file CoreLab.UniDirect.Oracle.dll wasn't added to the Bin directory. That's why I went to the Corelab DLL directory and found that there are 2 files with the same name: Corelab.Unidirect.Oracle.dll. One in the directory "Providers" and another in the directory "Providers\External". Files have different size. I copied the first one and tried to call the method from my WebService and got the error. I copied another file, second one, and got the same error. Here the error message:
System.TypeLoadException: Method 'get_IsTrial' in type 'CoreLab.UniDirect.OraDirectProvider' from assembly 'CoreLab.UniDirect.Oracle, Version=2.5.7.0, Culture=neutral, PublicKeyToken=09af7300eec23701' does not have an implementation.
at System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.Reflection.Assembly.GetType(String name)
at CoreLab.UniDirect.ProviderManager.a(f A_0)
at CoreLab.UniDirect.ProviderManager.GetProvider(String providerName)
at CoreLab.UniDirect.ad.a(String A_0, Boolean A_1)
at CoreLab.UniDirect.UniConnection.set_ConnectionString(String value)
at CoreLab.UniDirect.UniConnection..ctor(String connectionString)
at adminService.CheckFormula(String FieldLevelId, String ControlType, String FieldTables, String SQLFormula)
Thank you,
Galina
This error occurs if you use Corelab.Unidirect.Oracle.dll from Professional Edition and CoreLab.UniDirect.dll from Trial Edition. Please make sure the CoreLab.UniDirect.dll assembly in your project is the one from Professional Edition (just replace the assembly in your project with the assembly from UniDirect .NET Professional installation folder).
You need only the Corelab.Unidirect.Oracle.dll assembly from the Providers directory.
You need only the Corelab.Unidirect.Oracle.dll assembly from the Providers directory.