kostenloser Webspace werbefrei: lima-city


Array per Soapserver senden (mit WSDL)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    javaphp

    Kostenloser Webspace von javaphp

    javaphp hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!