Hallo liebe PHP.de Community,
ich stehe gerade völlig auf dem Schlauch und brauche eure Hilfe.
Ich habe für einen SoapService eine WSDL erstellt die eine Methode getStatus() vorsieht. Der Output-Typ der Methode wurde in der WSDL wie folgt festgelegt:
Wenn ich also in meiner Soap-Methode den entsprechenden Datentyp zurückgeben möchte so mache ich das derzeit wie folgt:
Das funktioniert auch soweit tadelos. Nun möchte ich aber aus Gründen der Modularisierung und Wiederverwertbarkeit diesen Datentyp als Klasse importieren und instanziieren. Hier komme ich nun leider nicht weiter.
Folgendes z.B. geht nicht:
Beispiel 1: Nested class
Ebensowenig funktioniert bei mir die Instanziierung einer weiteren Klasse:
Beispiel 2: Instanziierung einer anderen Klasse
Soo, dass Beispiel 1 nicht geht ist mir eigentlich klar. Dass aber Beispiel 2 nicht geht ist mir jetzt nicht so klar. Scheinbar kann innerhalb der Klasse result die Klasse out nicht gesehen werden obwohl ich beide im gleichen File liegen habe.
Ich hoffe mir mag jemand weiterhelfen.
Viele Grüße,
Tviskjola
ich stehe gerade völlig auf dem Schlauch und brauche eure Hilfe.
Ich habe für einen SoapService eine WSDL erstellt die eine Methode getStatus() vorsieht. Der Output-Typ der Methode wurde in der WSDL wie folgt festgelegt:
PHP-Code:
<xsd:element name="getStatus_Out">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd1:status"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="status">
<xsd:sequence>
<xsd:element name="ID" type="xsd:int"></xsd:element>
<xsd:element name="Status" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
PHP-Code:
public function getStatus() {
$result = new stdClass();
$result->out->ID = '001';
$result->out->Status = 'My Status Description';
return $result;
}
Folgendes z.B. geht nicht:
Beispiel 1: Nested class
PHP-Code:
class result {
class out {
public $ID;
public $status;
}
}
Beispiel 2: Instanziierung einer anderen Klasse
PHP-Code:
class out {
public $ID;
public $Status;
}
class result {
$out = new out;
}
Ich hoffe mir mag jemand weiterhelfen.
Viele Grüße,
Tviskjola
Kommentar