• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

SAP Aufruf .js mit AktiveX Automatisierungsserver kann Objekt nicht erstellen

JavaScripNoob

New member
Hallo zusammen,

ich bin ganz neu in der Javascript Welt. Wenn ich idiotische Fragen stelle habt bitte Rücksicht.
Vielen Dank.

Ich habe eine kleine .js Datei gebastelt die mein Telefon automatisch wählen lässt. Dazu habe ich eine dll Datei in meine Win32 Ordner gepackt.

Der Code unten ist meine .js Datei. Wenn ich diese Datei nun direkt aufrufe Funktioniert auch alles und mein Telefon ruft die mitgegebene Nummer an.
Wenn ich dies Datei aber von SAP aufrufen lasse oder in ein Html einbinde kommt immer der Fehler "Automatisierungsserver kann Objekt nicht erstellen".

Was mache ich denn Falsch ?

Mit freundlichen Grüßen
JavaScriptNoob

Code:
objArgs = WScript.Arguments; 
if (objArgs.length !== 1)
{
WScript.Echo("Bitte eine Telfonnummer auswählen"); 
}else{

var oApp = new ActiveXObject("ENetTSC.Application");
// oApp.SetServer("<server>", 7222);
// oApp.SetLogin("<user>", "<passwort>"); // "<server>\\<user>" bei NTLM
oApp.Connect();
oApp.FirstLine.Open();
oApp.FirstLine.MakeCall(objArgs(0));

};
 
Wenn ich dies Datei aber von SAP aufrufen lasse oder in ein Html einbinde kommt immer der Fehler "Automatisierungsserver kann Objekt nicht erstellen".
das klingt als hättest du die dll nicht registriert (regsvr32 dllname.dll), allerdins spricht das dann auch gegen die aussage
Wenn ich diese Datei nun direkt aufrufe Funktioniert auch alles und mein Telefon ruft die mitgegebene Nummer an.

andererseits musst du WScript auch erst mal als ActiveXObject in js einbinden, das sehe ich bei dir nicht, das würde erklären, warum es im wsh läuft und im html nicht, allerdings würde ich dann die fehlermeldung komisch finden
 
Hallo hesst,

das Html habe ich mit dem Internet Explorer debugged. Der Fehler "Automatisierungsserver kann Objekt nicht erstellen". kommt erst beim "var oApp = new ActiveXObject("ENetTSC.Application");".
Was soll ich jetzt ausprobieren ?

Grüße Adrian
 
regedit aufrufen
suchen nach ENetTSC.Application
findet er das, sollte alles ok sein, zur sicherheit noch nach der clsid suchen die unter ENetTSC.Application registriert ist und dort unter InprocServer32 nachsehen, ob der pfad stimmt.
stimmt dieser auch, kann es fast nur noch eine rechtesache sein, aber ich musste bisher nichts an den rechten ändern um activex objekte zu instanzieren. kannst ja mal an den einstellungen rumspielen
 
Übrigens mein Testhtml sieht so aus.

HTML:
<html>
<head>
<title>Test</title>

<script type="text/javascript">

function Call() {

	var oApp = new ActiveXObject("ENetTSC.Application");
	oApp.Connect();
	oApp.FirstLine.Open();
	oApp.FirstLine.MakeCall("259");

};

</script>

</head>
<body>

<h1>Verweise einmal anders</h1>

<form name="Formular" action="">
<input type="text"   name="Number" size="10">
<input type="button" value="Call"  onclick="Call()">
</form>


</body>
</html>

- - - Aktualisiert - - -

ENetTSC.Application findet er nicht.

Zu der Beschreibung gab es auch noch diese beiden Dateien.

Registry2.png

hab ich beide ausgeführt.

Grüße Adrian

- - - Aktualisiert - - -

Bei meinem Versuch das dll zu registrieren mit regsvr32 kam der Fehler

Registry3.png
 

Anhänge

  • Registry.png
    Registry.png
    23,7 KB · Aufrufe: 4
Ok das hat mit Admin Rechten geklappt.
Hab jetzt auch die Registry Einträge.

Registry.pngRegistry2.pngRegistry3.pngRegistry4.pngRegistry5.png

Aber es funktioniert immer noch nicht. Immer noch der gleiche Fehler.

Mit freundlichen Grüßen
Adrian Schmidberger
 
und was steht unter der clsid?
also suchen nach {65.....A5E}
Zu der Beschreibung gab es auch noch diese beiden Dateien.
was steht denn da drinn? scheint als gibt es eine 32bit version und eine 64bit version.
da ist wieder die frage welche brauchst du. keine ahnung was der ie ist, 32bit oder 64, bei einem 32bit ie brauchst du auf jeden fall auch die 32bit dll.
 
in der TreatAs_x64.reg steht:

HTML:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{25462ED6-6DE2-455F-80E9-E3CE0273E586}\TreatAs]
@="{65BB4B9C-272C-431c-9F7E-03F879496A5E}"

Und in der in der TreatAs_x86.reg steht:

HTML:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{25462ED6-6DE2-455F-80E9-E3CE0273E586}\TreatAs]
@="{65BB4B9C-272C-431c-9F7E-03F879496A5E}"
 
Ist deine SAP-Seite denn auch als vertrauenswürdig im IE markiert?

- - - Aktualisiert - - -

@dbarthel: der Screenshot schaut nach Win7 aus.
 
das TreatAs aus den reg-dateien dürfte eher nicht interessieren, aber nochmal, was steht denn in der registry unter der clsid {65BB4B9C-272C-431c-9F7E-03F879496A5E}?
 
Das habe ich oben angefügt da wo die 5 Bilder sind
nein, dass ist ja nur der verweiss der AppID "ENetTSC.Application" auf die ClassID {65BB4B9C-272C-431c-9F7E-03F879496A5E}
ich will den verweiss der ClassID auf die DLL also sowas:
Code:
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{46080753-2524-4FAF-8BD1-EDFDA1085209}\InprocServer32]
@="C:\\Windows\\SysWOW64\\mscoree.dll"
oder
Code:
[HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}\InprocServer32]
@="C:\\Windows\\system32\\oleaut32.dll"
 
suchen nach {65BB4B9C-272C-431c-9F7E-03F879496A5E}
muss dann irgendwo unter HKEY_CLASSES_ROOT stehen
 
Zurück
Oben