Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

COM Error

Discussion in 'CRM / Helpdesk / App Integration' started by sportssouth, Dec 16, 2011.

Thread Status:
Not open for further replies.
  1. sportssouth

    Joined:
    Dec 16, 2011
    Messages:
    3
    Likes Received:
    0
    We found a great component for TTS that we would like to use with the VAD. The component is from:

    http://www.guangmingsoft.net/activetts/

    The component should provide the very needed TTS functionality that we have been looking for. The demo code works on the server no problem. However when we go to add the external code (we tried adding as a COM component, but also tried calling a JavaScript), we receive the following error:

    Code:
    -------------------------------------
    2011-12-16 01:13:08.423
    System.Runtime.InteropServices.COMException (0x8004503A): Creating an instance of the COM component with CLSID {A5584957-EF07-419C-BACD-9931F1256D92} from the IClassFactory failed due to the following error: 8004503a.
       at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
       at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
       at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
       at System.Activator.CreateInstance(Type type, Boolean nonPublic)
       at ASP.sports_south_telephony_test_debug_55_main_mf_externalcodeexecutioncomponent1_doit_aspx.Page_Load(Object sender, EventArgs e) in c:\ProgramData\3CX\Data\Http\Interface\ivr\Sports_South_Telephony_Test_Debug_55\Main_MF_externalCodeExecutionComponent1_DoIt.aspx:line 88
    
    
    We are not sure what the problem is. The three parameters we provided are as follows:

    'THIS IS A TEST'
    "c:\JScript\test3.txt"
    0

    Any help with this would be much appreciated.
     
  2. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Hi,

    I've been googling the error code 8004503a and it seems to be some registration problem of some SAPI component.

    I suggest that you first create a script, for example a VB script (.vbs file), and then try to instanciate it from the script. This way you first know if the component works or not. Then go to test with the VAD.

    Also, I have to tell you that we're close to release a new version of the VAD which includes TTS with the Microsoft Speech engine. There is no date of availability yet, but it will be soon. That way you avoid leading with those COM components...

    Regards,
     
  3. sportssouth

    Joined:
    Dec 16, 2011
    Messages:
    3
    Likes Received:
    0
    Thank you so much for the quick response. We have a JavaScript that is in fact working, I can provide that to you if it will help. Since the JavaScript works we figured that the component is registered properly. That being said, it's EXTREMELY exciting news that you have a new version that supports Microsoft TTS in the works. If there is ANY WAY we can be a beta test site for you that would be great. Let me know if you would like to see our JavaScript.

    Thanks again,

    Ezra
     
  4. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Please, show me the javascript file you're using for testing, and how you're configuring the external code execution component. Silly question: you're running the script in the 3CX server, right? And not your local PC?

    Also, you could be experiencing a permissions problem by which the ASP.NET page could not be being able to create the COM component. Are you using Abyss or IIS? What Operating System are you using? Is the 3CX server a 32 or 64 bits machine?

    Thanks,
     
  5. sportssouth

    Joined:
    Dec 16, 2011
    Messages:
    3
    Likes Received:
    0
    We’re using Abyss Web Server
    Win2k8 R2
    64-bit

    The JS fails even with just the first line:

    Code:
    function test()
    {
    var tts = new ActiveXObject("TTSObj.TextToSpeech.1");
    tts.SpeakToFile("Hello world THIS IS A TEST", "TEST.mp3", 0);
    tts = null;
    }
    
     
  6. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Hi,

    I've been investigating this issue, and there are lots of places where users mention the same error, and that's caused by a SAPI initialization error. So, maybe the problem is that you have SAPI and everything installed for 64 bits, but the web server is trying to instantiate it in 32 bits mode and then it doesn't find the components... Just guessing...

    You can do a quick test to see if this is causing the problem: open a 32 bits cmd window (%windir%\SysWoW64\cmd.exe) and then launch your script from there. If you reproduce the problem, then the cause is what I described.

    So, do you have any reason to use that COM component for TTS? Why don't using the Microsoft Speech engine that can be used from .NET?
     
  7. SWSDEV

    SWSDEV Member

    Joined:
    Feb 23, 2008
    Messages:
    256
    Likes Received:
    0
    Try escaping your backslash.

    Instead of
    "c:\JScript\test3.txt"
    try this
    "c:\\JScript\\test3.txt"
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
Thread Status:
Not open for further replies.