Probleme mit SOAP / WSDL (für Zugriff auf TecDoc) via SOAP::Lite
zehner
- perl
Hallo,
ich arbeite derzeit an einem Script, das auf die TecDoc-Datenbank(en) zugreifen soll. Dies wird über SOAP / WSDL durchgeführt.
Allerdings habe ich noch nie mir SOAP und WSDL respektive TecDoc gearbeitet und daher sehr große Probleme, einen Connect hinzubekommen. TecDoc gibt leider auch keine Hilfe.
Es sollen später die Daten zu Fahrzeugteilen aus der TecDoc-Datenbank geholt werden, doch das scheint derzeit noch in weiter Ferne...
Mein mini-Testscript sieht derzeit folgendermaßen aus:
#!/usr/bin/perl -w
#!/usr/bin/composite
use SOAP::Lite;
my $soap = SOAP::Lite
-> proxy('http://webservicepilot.tecdoc.net/pegasus-2-0/services/TecdocToCat')
-> uri('http://webservicepilot.tecdoc.net/pegasus-2-0/services/TecdocToCat')
-> getPegasusVersionInfo()
-> result;
print "Content-type: text/html \n\n";
print $soap;
Es *sollten* folgende Infos ausgegeben werden zu:
build=1015
date=2009/10/08 14:04
major=2
minor=0
revision=1
status=200
Folgendes wird jedoch ausgegeben:
VersionInfoResponse=HASH(0x87c3bc0)
Dass dort ein Hash dabei ist, sehe ich auch - doch wie komme ich da dran?
Wie kann ich das Hash auslesen, denn das liegt ja zusammen mit dem "VersionInfoResponse=" in der Variablen $soap...
Ich hoffe, ihr könnt mir weiterhelfen. Ich sitze seit bestimmt 3 Tagen da dran uns sehe langsam den Wald vor lauter Bäumen nicht mehr... :(
Vielen Dank im Voraus und viele Grüße
zehner
my $soap = SOAP::Lite
-> proxy('http://webservicepilot.tecdoc.net/pegasus-2-0/services/TecdocToCat')
-> uri('http://webservicepilot.tecdoc.net/pegasus-2-0/services/TecdocToCat')
-> getPegasusVersionInfo()
-> result;print "Content-type: text/html \n\n";
print $soap;[/code]
Folgendes wird jedoch ausgegeben:
VersionInfoResponse=HASH(0x87c3bc0)
Dass dort ein Hash dabei ist, sehe ich auch - doch wie komme ich da dran?
keine Ahnung davon.
aber mal mit
print $soap->{VersionInfoResponse};
versucht (die Hashreferenz dereferenzieren)
mfg Beat
Folgendes wird jedoch ausgegeben:
VersionInfoResponse=HASH(0x87c3bc0)
Dass dort ein Hash dabei ist, sehe ich auch - doch wie komme ich da dran?
Struppi.
Vielen Dank für deine Hilfe, nun erhalte ich tatsächlich eine Auflistung aller enthaltenen Datenstrukturen:
$VAR1 = bless( { 'revision' => '1', 'status' => '200', 'date' => '2009/10/08 14:04', 'minor' => '0', 'statusText' => undef, 'major' => '2', 'build' => '1015' }, 'VersionInfoResponse' );
Allerdings fehlt mir jetzt noch ein Tipp, wie ich an einzelne Variablen, also z.B. "status" dran komme...
Ich bin für jeden Tipp sehr dankbar!!
Vielen Dank & viele Grüße
zehner
Allerdings fehlt mir jetzt noch ein Tipp, wie ich an einzelne Variablen, also z.B. "status" dran komme...
Ich bin für jeden Tipp sehr dankbar!!
Ich vermute mal über die Funktion status, was sagt denn die Doku?
Struppi.