 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
27.08.2003, 09:57
|
#16
|
|
TP-Veteran
Registriert seit: Oct 2001
Ort: Oberau
|
ok, CLientseitig muss ich eh nicht alles wissen
Habe ein recht interessantes Snippet gefunden:
PHP-Code:
require_once("nusoap.php");
$server = new soap_server();
$server->configureWSDL('Cryst','http://www.cryst.co.uk/bowlingproject/soap');
$server->wsdl->schemaTargetNamespace =
'http://www.cryst.co.uk/bowlingproject/soap';
$server->wsdl->addComplexType(
'ArrayOfint',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'int[]')),
'xsd:int'
);
$server->register(
'GetArray',
array('inint' => 'xsd:int'),
array('return' => 'tns:ArrayOfint'),
'http://www.cryst.co.uk/bowlingproject/soap');
function GetArray($inint) {
$intarray = array(intval(10), intval(20), intval(30), intval(40));
return new soapval('return', 'array', $intarray);
}
Kann mir den Code wer ein wenig erläutern und näher auf das WSDL eingehen, kapier ich nämlich noch nicht.
Grüße Alex
|
|
|
02.09.2003, 15:35
|
#17
|
|
TP-Veteran
Registriert seit: Oct 2001
Ort: Oberau
|
Hi Leutz
Bin jettzt soweit dass ich einen strng von der lokalen Applikation zur Web Apl schicken kann und ein true der false zurückgeben kann. Auch kann ich Arrays von der WEb Api zurückgeben. Was ich noch nicht geschaft habe ist ein Array von der lokalen VB Applikation an die WEb Apl zu schicken. Wie muss der nütige ComplexType für das WSDL aussehen?
Gruß Alexander
|
|
|
02.09.2003, 20:29
|
#18
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
öhm... ehrlich gesagt, weiss ich nicht genau was du meinst, da ich bisher immer ohne wsdl gearbeitet habe. Aber wenn man sich dein eines Beispiel anschaut, dann sieht mir das doch sehr nach einem Array von Integer-Werten aus. Evtl. hilft das?
Gruss
Jan
|
|
|
03.09.2003, 09:28
|
#19
|
|
TP-Veteran
Registriert seit: Oct 2001
Ort: Oberau
|
hmm klasse, jetzt klappts mit allen Datentypen in beide Richtungen. Ich check nur das WSDL file noch nicht ganz:
Was bedeuten diese xsd: und tns:.
Habe da bei w3schools.com schon mal reingeschmöckert, leider nichts brauchbares dabei gefunden.
Grüße aus den Bergen Alex
|
|
|
03.09.2003, 09:47
|
#20
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Das sind Namensräume:
xsd -> http://www.w3.org/TR/xmlschema-2/
Dabei handelt es sich um Datentypen
tns -> das ist der Namensraum deines Webservices. Im oberen Bereich (definitions) wird dieser deklariert. (...xmlns:tns="http://www.domain.tld/webservice.php" ...)
Gruss
Jan
BTW: Könntest du mal deinen Code posten? Ich möchte mal gerne sehen, wie das mit WSDL aussieht. Also von der PHP-Seite aus. 
|
|
|
03.09.2003, 10:07
|
#21
|
|
TP-Veteran
Registriert seit: Oct 2001
Ort: Oberau
|
bitteschön: Die gekürzte Fassunf meines Scripts: Wie funzt das bitteschön ohne WSDL?
PHP-Code:
<?php
require_once("nusoap.php");
$server = new soap_server();
$server->configureWSDL('ChaosSchnittstelle','http://pinguin/alex/soap');
$server->wsdl->schemaTargetNamespace = 'http://pinguin/alex/soap';
// Add Complexx Type tp WSDL
$server->wsdl->addComplexType('ArrayOfstring','complexType','array','','SOAP-ENC:Array',array(),array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]')),'xsd:string');
$server->wsdl->addComplexType('ArrayOfint','complexType','array','','SOAP-ENC:Array',array(), array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'int[]')),'xsd:int');
$server->register ( 'GetArray', array('inint' => 'xsd:int'), array('return' => 'tns:ArrayOfint'), 'http://pinguin/alex/soap' );
function GetArray($inint)
{
$intarray = array(intval(10), intval(20), intval(30), intval(40));
return new soapval('return', 'array', $intarray);
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
$server->wsdl->parseWSDL();
|
|
|
08.12.2006, 20:16
|
#22
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
Geändert von TobiasKa (08.12.2006 um 20:35 Uhr).
|
|
|
01.07.2008, 16:52
|
#23
|
|
TP-Senior
Registriert seit: Jun 2005
Ort: Köln
|
NuSoap und die Anfangsprobleme
Hallo zusammen,
NuSOAP benötige ich nur von Client-Seite. Doch ich erhalten ums Verrecken keinen Zugriff auf die WSDL-Datei, die ich aufrufe.
Ständig erhalte ich folgende Fehlermeldung:
wsdl error: HTTP ERROR: Unsupported HTTP response status 404 Not Found (soapclient->response has contents of the response)
Dabei stimmt der Pfad zur WSDL.
Ich nutze NuSOAP 0.7.3 (aktuellste Version)
PHP-Code:
// Pull in the NuSOAP code require_once('../nusoap/lib/nusoap.php');
# Switcher zwischen wsdl und xsd define ('FILETYPE', 'wsdl');
# Datei-URL define ('FILE_URL', 'http://'.$_SERVER['SERVER_NAME'].'/webservice_tests/files/'.FILETYPE.'/availability.'.FILETYPE);
// Create the client instance $client = new soapclient(FILE_URL, true);
// Check for an error $err = $client->getError(); if ($err) { // Display the error echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; // At this point, you know the call that follows will fail }
// Call the SOAP method $person = array('firstname' => 'Willi', 'age' => 22, 'gender' => 'male'); $result = $client->call('hello', array('person' => $person));
// Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '<br /><br />'.FILE_URL.'</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } }
Ist vielleicht eine bestimmte Version zu empfehlen?
__________________
The difference between theory and practice is
that in theory there is no
difference between theory and practice
but in practice there is
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:46 Uhr.
|
 |