Używam klasy PHP SoapServer i próbuję umieścić zwykły kod XML w treści odpowiedzi SOAP.Jak wysłać zwykły kod XML w odpowiedzi SOAP?
Przypadek 1:
Moja WSDL został
<element name="getDataResponse" type="xsd:string"/>
zakodować odpowiedź
return new SoapVar($my_xml,XSD_ANYXML)
PHP SoapClient mówi
SOAP-ERROR: Encoding: Violation of encoding rules
Przypadek 2:
WSDL
<element name="getDataResponse" type="xsd:string"/>
kodowania odpowiedź
return new SoapVar($my_xml,XSD_STRING)
odpowiedź XML wszystkie < kodowane jako & lt; i> jako & gt;
Przypadek 3:
WDSL
<element name="getDataResponse">
<complexType>
...
</complexType>
</element>
gdzie complexType odpowiada struktura XML powrotu
kodowania odpowiedź
return new SoapVar($my_xml,XSD_ANYXML)
teraz zwrócić typ jest obiekt, nie XML stri ng
Przypadek 4
Podobnie jak w przypadku 3, z kodowaniem jak SOAP_ENC_OBJECT. Znowu wynik będzie obiektem.
Proszę pomóc! Jak mogę uzyskać zwykły tekst XML jako treść odpowiedzi SOAP?
Możesz spróbować rekurencyjnie zastosować 'nową funkcję SoapVar()' na faktycznej strukturze danych zamiast zapisywania kodu XML w ciągu znaków. –
Tak, ale pytanie było, że ** jeśli chcę zapisać XML jako ciąg **, jak mogę to zrobić. – tok