Guten Morgen,
ich grübele schon eine Weile ohne richtige Ahnung über SOAP und wie ich mein Ticketsystem mit einem anderen kopple. Per Tutorial habe ich schon einiges herausbekommen und auch Funktionen ausgeben lassen aus dem WSDL File.
Ich habe mir außerdem dazu das WSDL File angesehen und finde dort
Das scheint die korrekte gesuchte Funktion zu sein, um zumindest überhaupt mal eine generelle Information aus der API zu ziehen: "Übergebe eine Ticketnummer und erhalte die Details." Klingt zumindest danach - sagt mir als SOAP-Laie aber noch nicht soviel, aber es gibt einen Verweis auf eine Schema-Datei:
"RQ" scheint für Request zu stehen, "RS" dann wohl für Response. Nun dachte ich, ich hätte es gefunden und formuliere den Request so um:
PHP-Code:
Das System antwortet mit:
Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'TicketIDList' property
Das wunderte mich, hatte angenommen, TicketIDList wäre das Feld, in dem ich die einzelnen Ticket-IDs ablege. Auch wenn ich TicketIDList weglasse und nur die TicketID übergebe, also
PHP-Code:
erhalte ich die gleiche Fehlermeldung. Mir fehlt da grad die zündende Idee. Vielleicht kann jemand einen Hinweis geben? Vielen Dank von
Kami
ich grübele schon eine Weile ohne richtige Ahnung über SOAP und wie ich mein Ticketsystem mit einem anderen kopple. Per Tutorial habe ich schon einiges herausbekommen und auch Funktionen ausgeben lassen aus dem WSDL File.
Ich habe mir außerdem dazu das WSDL File angesehen und finde dort
Code:
<wsdl:operation name="GetTicketDetails"> <wsdl:documentation>operation "GetTicketDetails"</wsdl:documentation> <wsdl:input message="tns:TicketService_GetTicketDetails_InputMessage" /> <wsdl:output message="tns:TicketService_GetTicketDetails_OutputMessage" /> </wsdl:operation> <wsdl:operation name="GetTicketDetails"> <wsdl:documentation>operation "GetTicketDetails" </wsdl:documentation> <soap:operation soapAction="GetTicketDetails" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation>
Code:
<xs:element name="GetTicketDetailsRS"> - <xs:complexType> - <xs:sequence> <xs:element maxOccurs="unbounded" ref="Ticket" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GetTicketDetailsRQ"> - <xs:complexType> - <xs:sequence> - <xs:element name="TicketIDList"> - <xs:complexType> - <xs:sequence> <xs:element maxOccurs="unbounded" name="TicketID" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
PHP-Code:
[COLOR=#000000] [COLOR=#0000BB]$result [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]$client[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetTicketDetails [/COLOR][COLOR=#007700](array([/COLOR][COLOR=#DD0000]'TicketIDList ' [/COLOR][COLOR=#007700]=> array([/COLOR][COLOR=#DD0000]'TicketID' [/COLOR][COLOR=#007700]=> [/COLOR][COLOR=#DD0000]'1-518545646'[/COLOR][COLOR=#007700])));
[/COLOR] [/COLOR]
[/COLOR] [/COLOR]
Das System antwortet mit:
Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'TicketIDList' property
Das wunderte mich, hatte angenommen, TicketIDList wäre das Feld, in dem ich die einzelnen Ticket-IDs ablege. Auch wenn ich TicketIDList weglasse und nur die TicketID übergebe, also
PHP-Code:
[COLOR=#000000] [COLOR=#0000BB]$result [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]$client[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]GetTicketDetails [/COLOR][COLOR=#007700](array([/COLOR][COLOR=#DD0000]'TicketID' [/COLOR][COLOR=#007700]=> [/COLOR][COLOR=#DD0000]'1-518545646'[/COLOR][COLOR=#007700]));
[/COLOR] [/COLOR]
[/COLOR] [/COLOR]
erhalte ich die gleiche Fehlermeldung. Mir fehlt da grad die zündende Idee. Vielleicht kann jemand einen Hinweis geben? Vielen Dank von
Kami
Kommentar