Bonjour,

J'appelle un webservice possédant le WSDL suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php include("..\\..\\config.php"); 
$xml_file = <<<XML
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="PrcRestitutionsIF" targetNamespace="http://IBPEPPPrcRestitutions/PrcRestitutionsIF" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://IBPEPPPrcRestitutions/PrcRestitutionsIF" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <xsd:schema targetNamespace="http://IBPEPPPrcRestitutions/PrcRestitutionsIF">
      <xsd:element name="invoke">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="xmlFlow" nillable="false" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="invokeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="invokeReturn" nillable="true" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="invokeFault1_fault" nillable="true" type="xsd:string"/>
    </xsd:schema>
  </wsdl:types>
    <wsdl:message name="invokeRequestMsg">
    <wsdl:part element="tns:invoke" name="invokeParameters"/>
  </wsdl:message>
    <wsdl:message name="invokeResponseMsg">
    <wsdl:part element="tns:invokeResponse" name="invokeResult"/>
  </wsdl:message>
    <wsdl:message name="invoke_faultMsg">
    <wsdl:part element="tns:invokeFault1_fault" name="fault"/>
  </wsdl:message>
    <wsdl:portType name="PrcRestitutionsIF">
    <wsdl:operation name="invoke">
      <wsdl:input message="tns:invokeRequestMsg" name="invokeRequest"/>
      <wsdl:output message="tns:invokeResponseMsg" name="invokeResponse"/>
      <wsdl:fault message="tns:invoke_faultMsg" name="fault"/>
    </wsdl:operation>
  </wsdl:portType>
    <wsdl:binding name="WSExport1_PrcRestitutionsIFHttpBinding" type="tns:PrcRestitutionsIF">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="invoke">
      <soap:operation soapAction=""/>
      <wsdl:input name="invokeRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="invokeResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="fault">
        <soap:fault name="fault" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
    <wsdl:service name="WSExport1_PrcRestitutionsIFHttpService">
    <wsdl:port binding="tns:WSExport1_PrcRestitutionsIFHttpBinding" name="WSRestitutions_PrcRestitutionsIFHttpPort">
      <soap:address location="http://31.31.50.155:9443/IBPEPPPrcRestitutionsWeb/sca/WSRestitutions"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
XML;
echo $xml_file;
?>
Avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
//on est dans le cadre d'une nouvelle restit
$wsdl_extrait= "http://localhost/ExtraitXmlwsdl.php";
$passphrase = "wssepa";
$client = new SoapClient($wsdl_extrait, array('location' => $URL_WS_Transfert_local, 'local_cert' => $local_cert, 'passphrase' => $passphrase, 'trace' => 1));
$result = $client->__soapCall("invoke",array("xmlFlow" => "TOTO" ));
Le problème c'est que mon message soap est vide, lorsque je fait un $client->__getLastRequest()

J'ai le résultat suivant :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://IBPEPPPrcRestitutions/PrcRestitutionsIF"><SOAP-ENV:Body><ns1:invoke/></SOAP-ENV:Body></SOAP-ENV:Envelope>

Pourquoi mon message message soap envoyé à mon WS est vide ?