Toon posts:

[ASP] WDDX

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb dit bericht al eerder geplaatst, misschien dat er nu meer mensen zijn die me kunnen helpen:
De volgende code heb ik in een asp bestand staan:
<%
MyRs = "Test"
Set AdoConv = CreateObject("WDDX.AdoConverter")
MyPacket = AdoConv.serialize(MyRS)
%>

Ik hoop dat iemand mij kan helpen met de volgende foutmelding die ik krijg:

Error Type:
Microsoft VBScript runtime (0x800A01AD)
ActiveX component can't create object: 'WDDX.AdoConverter'
/asp/wddx.asp, line 3

Misschien moet ik het AdoConverter object eerst aanmaken, maar hoe. Ik heb MDAC 2.0 al geinstalleerd.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 09-09 17:22
Ok...Je probeert dus duidelijk een activex component op te vragen...En VBscript was erg duidelijk in de foutmelding dat het component niet geinstalleerd is...Nu mag je zelf de conclusies trekken..

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 09-09 17:22
hhhm...misschien had ik het niet goed gelezen....

Ik weet nix van dat component wat je probeert te maken...maar ik zou wel dit proberen
code:
1
2
3
4
5
<% 
MyRs = "Test"
Set AdoConv = Server.CreateObject("WDDX.AdoConverter")
MyPacket = AdoConv.serialize(MyRS)
%>

Verschil is dus de Server voor CreateObject.

Verwijderd

Topicstarter
Goede tip, maar dan veranderd de foutmelding in deze:

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.
/asp/wddx.asp, line 7

  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 05-09 11:47
Kan je es iets meer uitleggen van je probeert te doen ?
Ik heb eens zitten zoeken en voor mn idee heeft het iets met XML en ASP te maken, maar WDDX.AdoConverter ben ik nog niet tegengekomen. Waar komt dat vandaan ?

Verwijderd

Topicstarter
Ik wil een form variabele van ColdFusion via wddx in ASP krijgen. Nu lukt dit op de eenvoudige manier met een string wel. Code:

set MyDeser = Server.CreateObject("WDDX.Deserializer.1")
set MyWDDXPacket = Request("WDDXContent")

//WDDXContent is dus een form variabele op een ColdFusion pagina

MyPacket = MyDeser.deserialize(MyWDDXPacket)

Nu is MyPacket een voor ASP begrijpelijke string geworden. Als je dit met een array of structure wilt doen moet je gebruik maken van WDDX.AdoConverter of WDDX.DictConverter. Dit is te vinden in de WDDX SDK die te downloaden is bij www.openwddx.org. En dat krijg ik dus niet aan de praat. WDDX.DictConverter heeft allerlei structure functies zo doende.

Ik hoop dat dit meer duidelijkheid biedt
Hessel

  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 05-09 11:47
Mja, ik heb es zitten spitten in die SDK en wat gegoogled.

De foutmelding zit of in een dll die niet geregistreerd is of de aanroep van die AdoConverter moet anders (maar dat laatste zou niet kunnen aangezien die WDDX documentatie vrij helder is).

Weet je zeker dat je minimaal MDAC 2.0 hebt en dat de installatie daarvan is goed gegaan ? Haal anders even de component checker van de Microsoft site http://www.microsoft.com/data/download.htm#CCinfo en check de versie die je hebt.

En ik weet niet hoe het technisch verder werkt, maar als het gebruik maakt van de XMLDOM, misschien dat component ook nog checken ?

Verwijderd

Topicstarter
Bedankt voor je reactie
Ik heb MDAC versie 2.7 zegt de checker.
Ik ga nu nog maar even kijken voor de XMLDOM, maar ik denk daar niets te vinden. Ontzettend gek dit.
Werkt het bij jouw wel, heb je dat getest?

  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 05-09 11:47
Op dinsdag 02 april 2002 16:24 schreef hessel22 het volgende:
Bedankt voor je reactie
Ik heb MDAC versie 2.7 zegt de checker.
Ik ga nu nog maar even kijken voor de XMLDOM, maar ik denk daar niets te vinden. Ontzettend gek dit.
Werkt het bij jouw wel, heb je dat getest?
Ik heb hier geen webserver draaien, maar heb 3 files (wddx_com.dll, xmlparse.dll en xmltok.dll) uit de software package gehaald en geinstalleerd en daarna een VB project geopenend en een reference naar de WDDX dll gemaakt.

Ik kan bij het aanmaken van een object vervolgens die ADOConverter niet kiezen. Zou het kunnen dat deze in een andere dll staat ipv 1 van deze 3 ? En dat ook jij die niet geinstalleerd hebt ?

Verwijderd

Topicstarter
Ik type de code gewoon in met ColdFusion studio.
De bestanden xmlparse.dll en xmltok.dll staan geheel niet op mijn c schijf. Begrijp ook niet waarom. AdoConverter is wel in mijn registry te vinden.

Verwijderd

Topicstarter
Ik heb net op de volgende URL een goed stuk tekst gevonden. Lijkt erop dat dat werkt, alleen met JScript:

http://www.icspaypoint.com/html/asp.html

  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 05-09 11:47
Op dinsdag 02 april 2002 16:43 schreef hessel22 het volgende:
Ik type de code gewoon in met ColdFusion studio.
De bestanden xmlparse.dll en xmltok.dll staan geheel niet op mijn c schijf. Begrijp ook niet waarom. AdoConverter is wel in mijn registry te vinden.
Ik neem aan dat je eigen PC ook de webserver is ? Dan is het vreemd, want je krijgt wddx_com.dll niet geregistreerd zonder de andere 2.

Daarnaast moet je

Wddx_SDK\5__Building_Apps_With_WDDX\1__In_Web_Browsers\1__JavaScript_Objects\COM_WddxScriptlets.htm
es bekijken. Het lijkt erop alsof die adoconverter in een scriplet zit, heb je die wel geinstalleerd ?

Verwijderd

Topicstarter
Als je de volgende code gebruikt gaat het prima:

<%@ LANGUAGE="JScript" %>
<%
//put form variabele in ASP variable
sReturnValue = Request("WDDXContent")

//Create the WDDX deserializer. . .
oDeSer = Server.CreateObject("WDDX.DeSerializer.1")
//Create another STRUCTURE to hold the returned packet
rData = Server.CreateObject("WDDX.Struct.1")
//and deserialize it
rData = oDeSer.DeSerialize(sReturnValue)

//give variabele the name of structure results
Naam = rData.GetProp("NAAM")
Beroep = rData.GetProp("BEROEP")

//Display the received WDDX Packet
Response.Write (Server.HTMLEncode(sReturnValue) + "<BR><hr>")

//And a specific Colomn
Response.write (Naam)
%>

WDDXContent is dus een hidden field op een form op een coldfusion pagina. Via deze coldfusion pagina roep je ook de asp pagina aan. Ik ga nu proberen dit in VBScript draaiende te krijgen. Volgens mij is dit wel een handige manier. En je kan natuurlijk ook nog automatisch Naam en Beroep genereren. Je kan namelijk alle kolom values opvragen van de structure (met GetPropNames). Dit staat bij het artikel "Com Interface for WDDX" in hoofdstuk 5.

Hessel
Pagina: 1