Avatar billede hektor Nybegynder
24. februar 2000 - 12:31 Der er 10 kommentarer og
1 løsning

Java komponenter og ASP

Jeg ønsker at benytte mig af java komponenter i asp (duh!) og har følgende problem:

Efter at have rodet microsofts dokumentation igennem (både online, og deres SDK for Java [4.0]) er jeg kommet frem til at de ikke aner hvad de ævler om.

Jeg har brugt ca 4 timer på at følge deres guide punkt for punkt, og hver gang kommer "min" server (Win2K/IIS5)med følgende problem:

"Calling a method of a Java component from ASP:

Server object error 'ASP 0177 : 80040111'

Server.CreateObject Failed

/msjdk/samples/asp/IIS_sample/HelloWorld_test.asp, line 19

ClassFactory cannot supply requested class"

HelloWorld_test.asp ser ud som følger (leveret af MS):
<%@ LANGUAGE = VBScript %>
<%  Option Explicit    %>

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Developer Studio">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Java Component Samples: HelloWorld</TITLE>
</HEAD>
<BODY>

Calling a method of a Java component from ASP:<P>

<%

    Dim Obj

    ' Create the Java component
    Set Obj = Server.CreateObject("IISSample.HelloWorld") ' [linje 19]

    ' Call the method and print the returned string
    Response.Write Obj.sayHello

%>

</BODY>
</HTML>

Ud over MS SDK[4.0], er der installeret JDK 1.2 på serveren.

Ovenstående kode er fra de samples som følger med MS SDK. Der står bl.a. følgende til dem (har gjort det ... 4 gange efterhånden):

[Using the Samples
The following instructions apply to all ASP samples.

To run the samples

Important  To run these samples, you must have a Web browser that supports ASP (such as Microsoft® Internet Explorer 4.0 or later).

Install the Internet Information Server and the com.ms.iis.asp package from the Microsoft SDK for Java. To install the com.ms.iis.asp package on Windows 2000 machines, run IntegrationClasses2000.exe, which is located in the %SDKDIR%\Bin directory. To install this package on versions of Windows prior to Windows 2000, run IntegrationClasses.exe, which is also located in the %SDKDIR%\Bin directory.


Compile the *.java files. Use iiscomp.cmd in the \IISSample directory to compile the ASP classes and aspcomp.cmd in the \aspcomp directory to compile the framework classes. \IISSample and \aspcomp are subdirectories of %Windir%\Java\Trustlib.
Note  If you are working in Microsoft® Visual J++®, you must install the new Java compiler from the Microsoft SDK for Java. This means copying jvc.exe, jps.dll, and msjvc.dll from the SDK's installation into your DevStudio\SharedIDE\bin directory. You must also set the destination for the project (Project/Properties/Compile/Output Directory) to the %WINDIR%\java\trustlib directory.

Alternatively, you can use the pre-built *.class files provided in the %SDKDIR%\Samples\ASP\IISSample folder. To do this, copy *.class into the %WINDIR%\java\trustlib\IISSample directory. You must also copy the classes in %SDKDIR%\Samples\ASP\aspcomp to the %WINDIR%\java\trustlib\aspcomp directory.


Configure a virtual root on your host server.
Double-click your host machine in your IISManager, and then right click the default Web page.


Select New, and then choose Virtual Directory.


In the wizard, enter all required information.


When prompted for the path, specify the directory on your drive that contains the files from IISSample.


Check Read and Run Scripts to enable ASP.
Run regit.cmd, which registers your components with COM. This assumes that javareg is on your path. Javareg comes with both Visual J++ and the Microsoft SDK for Java.


Start the Web server.


Change to the directory that contains the *.asp file (ASP Samples) in your IISManager, right-click the directory, and then choose Browse. This will load the ASP page.]

Jeg har følgende ClassPath i systemet:
[%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\jdk\lib;C:\Program Files\jdk\src;C:\Program Files\Microsoft SDK for Java 4.0\Bin]

Er der nogen som kan lave/henvise til en guide der VIRKER??? Eller evt fortælle mig HVORFOR det ikke virker?

Håber jeg har været grundig nok i beskrivelsen ... er der yderligere spørgsmål, så spørg løs ...

Hektor
Avatar billede Dan Nim Seniormester
24. februar 2000 - 12:41 #1
Grunden til at det ikke virker, er at du ikke har fået installeret dit komponent KORREKT på serveren.

Jeg kender ikke selv til JAVA komponenter, men jeg kender fejlen, og det er derfor.

Du skal gøre som der står her :
...
Check Read and Run Scripts to enable ASP.
Run regit.cmd, which registers your components with COM. This assumes that javareg is on your path. Javareg comes with both Visual J++ and the Microsoft SDK for Java.
...

Mere hjælp kan jeg desvære ikke hjælpe med.
Avatar billede hektor Nybegynder
24. februar 2000 - 14:27 #2
Hvis jeg ikke har [Check Read and Run Scripts to enable ASP.] sat i forvejen, vil jeg ikke kunne få fejlen fra asp koden ... nes't pas? (der er ikke nogen "run scripts", men derimod en Read [x], og en "Execute Permissions" som er sat til [Scripts and executables] ).

Og som jeg skrev ovenfor, så _har_ jeg kørt regit.cmp

Men - blot for at sikre mig at jeg ikke havde overset noget, gjorde jeg som du skrev ... virker stadig ikke :-(
Avatar billede Dan Nim Seniormester
24. februar 2000 - 14:30 #3
underlig. Men det _ER_ fordi at det komponent ikke er blevet registret korrekt. DobbeltCheck alle dine object navne igen.

(må jeg spørger hvorfor du har valgt at bruge java komponenter)
Avatar billede bocker Nybegynder
24. februar 2000 - 14:36 #4
han har nok læst unlocking ASP, tror du ik dan? :)
Avatar billede Dan Nim Seniormester
24. februar 2000 - 14:38 #5
bocker >> Det ved jeg skam ikke, men han er sikkeret en del hurtigere end DIG til at slå op i sådan en bog. Forresten, hvorfor fik jeg ikke et side tal af dig....det var jo det du slog op for ik ;o)
Avatar billede bocker Nybegynder
24. februar 2000 - 14:40 #6
ehm jeg sagde jeg ikke gad skrive det, hvis du ikke havde bogen. Sagde til dig det var i kap 12.
Avatar billede hektor Nybegynder
24. februar 2000 - 17:18 #7
Chatstuff - jeg studerer datamatik med Java som programmeringssprog ... derfor har jeg valgt at bruge java-komponenter istedet for fx vb-componenter ... hurtigere for mig end at skulle til at lære VB.

Jeg kan godt indse at komponenten ikke er registreret korrekt (ret indlysende med den fejlmeddelelse), men jeg kan sgu ikke indse hvorfor ikke ... jeg har tjekket at de har de rigtige navne (også selvom man vel må gå udfra at MS havde tjekket efter inden de udgav SDK'en).

Er der ikke nogen som har benyttet sig af java-komponenter? Ville nok være lidt bedre end "folk der forsøger at gøre sig klog på noget de dybest set ikke har forstand på" ;-)
Avatar billede skovlunde Nybegynder
24. februar 2000 - 18:24 #8
Dit object er registreret, ellers vil du slet ikke få en 'ClassFactory' fejlmeddelse. Problemet er måske nærmere at det er registreret forkert. Class Factory er et moniker 'lignende' objekt der kun har til opgave at lave en instans af din koklasse (her HelloWorld klassen). Derfor må det umiddelbart enten være dit objekt der er fucket (eventuel med en forkert run-time af en eller anden slags) eller som sagt en fejlregistrering. Jeg kender kun meget lidt til Java COM objekter (ud over at deres performance ikke er hel så god..:=) så derfor kan jeg ikke hjælpe dig yderligere....
Avatar billede bocker Nybegynder
06. marts 2000 - 19:58 #9
acceptere lige svarene
Avatar billede hektor Nybegynder
07. marts 2000 - 16:03 #10
Ehm ... jeg kan da ikke acceptere et svar som ikke er det jeg har bedt om ... vel?

:-/
Avatar billede hektor Nybegynder
28. marts 2000 - 20:29 #11
øv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester