PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   SoapClient & wsdl (http://www.selfphp.de/forum/showthread.php?t=25751)

wedi 06.01.2016 09:56:30

SoapClient & wsdl
 
Hallo,
habe ein Problem mit WSDL.
Würde gern eine Funktin aufrufen. An sich keine große Sache.
PHP-Code:

$client = new MySoapClient('https://my.wsdl', ['trace'=>1,'cache_wsdl'=>0]);
$client->test(['test']); 

Das funktioniert aber nicht und erzeugt als Request folgendes:
Code:

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns1="http://my_soap_service.de"
    xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<SOAP-ENV:Body>
  <ns1:Request>
    <ns2:test/>
  </ns1:Request>
</SOAP-ENV:Body>

Diese
Code:

xmlns:xsi ; xmlns:ns1 ; xmlns:ns2
machen meiner Ansicht nach die ganze Struktur kaputt. Funktion wird nicht aufgerufen.

Erwartet wird
Code:

<SOAP-ENV:Body>
  <Request>
    <test/>
  <Request>
</SOAP-ENV:Body>

bzw.
Code:

<SOAP-ENV:Body>
  <ns1:Request>
    <ns1:test/>
  <ns1:Request>
</SOAP-ENV:Body>


Wenn ich das als reine XML-Struktur übergebe funktioniert alles.
XML selbst erzeugen kommt nicht in Frage, will das Rad nicht neu erfinden.

Hier sind meine Fragen:
Was machen
Code:

xmlns:xsi ; xmlns:ns1 ; xmlns:ns2
?
Wie kann ich das steuern und alles auf
Code:

xmlns:ns1
umbigen?

Vielen Dank

Domi 11.02.2016 17:48:38

AW: SoapClient & wsdl
 
xmlns sind die XML Namespaces.

Du könntest mal noch versuchen mit den Parametern rumzuspielen die Dir der Soap-Client-Construktor liefert, z.B.:
PHP-Code:

$client = new MySoapClient($wsdl, array(
                                
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
                                
'exceptions' => true,
                                
'trace' => 1,
                                
'soap_version' => SOAP_1_2,
                                )); 

Mehr Infos dazu hier:

http://php.net/manual/de/class.soapclient.php


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:31:29 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.