Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[COM/.NET/C#]] 'Serveruitvoering is mislukt' foutmelding

Pagina: 1
Acties:

  • Down
  • Registratie: Februari 2005
  • Laatst online: 15-11 21:31
Ik ben bezig met het schrijven van een plugin (Interactive Voice Response) voor een VoIP server (TeleVantage), dit alles in .NET/C#. Deze plugin is een class library welke een interface implementeert van een COM-object. Ik heb de plugin com-visible gemaakt in de project properties van VS, daarnaast heeft deze ook een strong name key file. Daarnaast heb ik de assembly geregistreerd met regasm. De plugin draait ook out of process d.m.v. een surrogate process (dllhost.exe). Dit om te voorkomen dat een crashende plugin de hele server met zich meeneemt.

Voor de duidelijkheid, de plugin draait dus ook werkelijk de server en wordt dus op dezelfde machine aangeroepen. In de code van de plugin staat verder niets, enkel de 3 lege functies die geïmplementeerd dienen te worden.

Als ik vervolgens in de Com/Ole object viewer van MS kijk staat mijn plugin ook netjes tussen de com objecten. De server herkent de plugin ook. Echter, bij het invoken van de plugin verschijnt er de volgende foutmelding in het eventlog:
`Call Offering Error in IVR PlugIn 'NewOne.class1'. Reason: 'Serveruitvoering is mislukt
(0x80080005)'.
Ik heb me inmiddels suf gegoogled (ook op de Engelse variant "Server execution failed"), maar ik ben nog niet achter de oorzaak van het probleem gekomen. Het lijkt erop alsof er DCOM instellingen verkeerd staan ingesteld op de server, of dat er iets misgaat met het registreren van het com object (verkeerde GUID wellicht).

Heeft iemand ervaringen met een soortgelijk probleem, of met het schrijven van plugins voor TeleVantage?

Mother north, how can they sleep while their beds are burning?


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Wat je in ieder geval zou kunnen proberen is om je plugin aan te roepen vanuit een VBScriptje, en kijken of dat wel lukt. Zo kun je er in ieder geval achter komen of de fout in je plugin of in de aanroepende applicatie zit.

C / C++ kan ook natuurlijk... 't is wel wat meer werk maar je krijgt mogelijk ook meer informatie omtrent de fout die optreedt.

  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 09:29
Imodium schreef op dinsdag 07 oktober 2008 @ 16:46:
Ik ben bezig met het schrijven van een plugin (Interactive Voice Response) voor een VoIP server (TeleVantage), dit alles in .NET/C#. Deze plugin is een class library welke een interface implementeert van een COM-object. Ik heb de plugin com-visible gemaakt in de project properties van VS, daarnaast heeft deze ook een strong name key file. Daarnaast heb ik de assembly geregistreerd met regasm. De plugin draait ook out of process d.m.v. een surrogate process (dllhost.exe). Dit om te voorkomen dat een crashende plugin de hele server met zich meeneemt.

Voor de duidelijkheid, de plugin draait dus ook werkelijk de server en wordt dus op dezelfde machine aangeroepen. In de code van de plugin staat verder niets, enkel de 3 lege functies die geïmplementeerd dienen te worden.

Als ik vervolgens in de Com/Ole object viewer van MS kijk staat mijn plugin ook netjes tussen de com objecten. De server herkent de plugin ook. Echter, bij het invoken van de plugin verschijnt er de volgende foutmelding in het eventlog:


[...]


Ik heb me inmiddels suf gegoogled (ook op de Engelse variant "Server execution failed"), maar ik ben nog niet achter de oorzaak van het probleem gekomen. Het lijkt erop alsof er DCOM instellingen verkeerd staan ingesteld op de server, of dat er iets misgaat met het registreren van het com object (verkeerde GUID wellicht).

Heeft iemand ervaringen met een soortgelijk probleem, of met het schrijven van plugins voor TeleVantage?
onder welke identity draait de out of process server? Kan het zijn dat deze user niet genoeg rechten heeft?

  • Down
  • Registratie: Februari 2005
  • Laatst online: 15-11 21:31
Het probleem is inmiddels opgelost. Er bleek iets mis te gaan met het registeren van een .NET assembly die zich als COM assembly voordoet, deze had nog een verkeerde CLSID (guid) van een andere versie. Ik heb de assembly weer vers geregistreerd en het werkt :).

Helaas is de SDK al redelijk oud. Als het allemaal .NET was geweest was het wellicht iets makkelijker geweest, maar goed, waar is de uitdaging dan ;).

Bedankt voor de reacties in ieder geval :)

Mother north, how can they sleep while their beds are burning?