Array per Soapserver senden (mit WSDL)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
code
datei
definition
einsteiger
entfernt code
erreichen
fehler
http
inhalt
paar
schema
senden
server
struktur
stunden
url
versuchen
verwendung
wort
-
Hi,
ich versuche seit ein paar Stunden über einen PHP-Soap-Server ein Array an meinen Client mit der Verwendung einer WSDL Datei zu senden.
Es kommt aber immer nur das Wort Array an und nicht der Inhalt.
Der Client:
<?php $client = new SoapClient(" Link zur WSDL Datei"); $letzteAktualisierung = time() - 60; $result = $client -> neueAktualisierung($letzteAktualisierung); echo $result; print_r($result); ?>
Der Server:
<?php class SDOnline{ public function __construct( $id1,$id2,$id3,$id4,$id5, $id6,$id7,$id8,$id9,$id10, $id11,$id12,$id13,$id14,$id15, $id16,$id17,$id18,$id19) { $this -> id1 = $id1; $this -> id2 = $id2; $this -> id3 = $id3; $this -> id4 = $id4; $this -> id5 = $id5; $this -> id6 = $id6; $this -> id7 = $id7; $this -> id8 = $id8; $this -> id9 = $id9; $this -> id10 = $id10; $this -> id11 = $id11; $this -> id12 = $id12; $this -> id13 = $id13; $this -> id14 = $id14; $this -> id15 = $id15; $this -> id16 = $id16; $this -> id17 = $id17; $this -> id18 = $id18; $this -> id19 = $id19; } var $id1; var $id2; var $id3; var $id4; var $id5; var $id6; var $id7; var $id8; var $id9; var $id10; var $id11; var $id12; var $id13; var $id14; var $id15; var $id16; var $id17; var $id18; var $id19; } function neueAktualisierung($letzterReload) { $senden = array(new SDOnline("1","2","3","4","5", "2","3","4","5","6", "3","4","5","6","7", "8","9","0","1")); return $senden; } ini_set("soap.wsdl_cache_enabled", "1"); $server = new SoapServer(" Link zur Wsdl Datei"); $server->addFunction("neueAktualisierung"); $server->handle(); ?>
Die Wsdl-Datei (Definitionen / Namespace / Link entfernt):
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions ... diverse Definitionen"> <wsdl:types> <xsi:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema" targetNamespace="http:// mein namespace " elementFormDefault="qualified"> <xsi:complexType name="ArrayOf_SDOnline"> <xsi:complexContent> <xsi:restriction base="soapenc:Array"> <xsi:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:SDOnline[]"/> </xsi:restriction> </xsi:complexContent> </xsi:complexType> <xsi:complexType name="SDOnline"> <xsi:sequence> <xsi:element name="id1" type="soapenc:string"/> <xsi:element name="id2" type="soapenc:string"/> <xsi:element name="id3" type="soapenc:string"/> <xsi:element name="id4" type="soapenc:string"/> <xsi:element name="id5" type="soapenc:string"/> <xsi:element name="id6" type="soapenc:string"/> <xsi:element name="id7" type="soapenc:string"/> <xsi:element name="id8" type="soapenc:string"/> <xsi:element name="id9" type="soapenc:string"/> <xsi:element name="id10" type="soapenc:string"/> <xsi:element name="id11" type="soapenc:string"/> <xsi:element name="id12" type="soapenc:string"/> <xsi:element name="id13" type="soapenc:string"/> <xsi:element name="id14" type="soapenc:string"/> <xsi:element name="id15" type="soapenc:string"/> <xsi:element name="id16" type="soapenc:string"/> <xsi:element name="id17" type="soapenc:string"/> <xsi:element name="id18" type="soapenc:string"/> <xsi:element name="id19" type="soapenc:string"/> </xsi:sequence> </xsi:complexType> </xsi:schema> </wsdl:types> <wsdl:message name="neueAktualisierungRequest"> <wsdl:part name="letzterReload" type="xs:string"/> </wsdl:message> <wsdl:message name="neueAktualisierungResponse"> <wsdl:part name="inhalt" type="tns:ArrayOf_SDOnline"/> </wsdl:message> <wsdl:portType name="NewReloadType"> <wsdl:operation name="neueAktualisierung"> <wsdl:input message="tns:neueAktualisierungRequest"/> <wsdl:output message="tns:neueAktualisierungResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="NewReloadBinding" type="tns:NewReloadType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="neueAktualisierung"> <soap:operation soapAction="urn:#verwaltung"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="NewReloadService"> <wsdl:port name="NewReloadPort" binding="tns:NewReloadBinding"> <soap:address location="http:// Mein Link"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
Kennt sich von euch jemand damit aus und weiß wo bei mir ein Fehler liegt?
ich möchte nämlich so eine Struktur erreichen: (schema)
Class Object ( [Map] => stdClass Object ( [item] => Array ( [0] => stdClass Object ( [key] => id [value] => value ) [1] => stdClass Object ( [key] => name [value] => value )
Beitrag zuletzt geändert: 22.7.2011 17:52:29 von javaphp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Damit ist wohl alles gesagt: http://www.php.de/php-einsteiger/82442-array-per-soapserver-senden-mit-wsdl.html
Beitrag zuletzt geändert: 22.7.2011 20:13:30 von chatter -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage