Bonjour,

Je suis actuellement entrain d'intégrer un webService externe via SOAP mais je suis bloqué sur une erreur:

SOAP-ERROR: Parsing WSDL: Missing part 'GetOrderInfoErrors' in <message>
L'erreur se déroule lorsque je veut instancier un nouveau SoapClient. Il semble qu'il arrive a charger le WSDL mais il lance une SOAP-ERROR juste après.

N'ayant pas trouvé de réponse à mon problème, je me permets de poster sur ce forum.

Est ce quelqu'un aurait une piste pour résoudre ce problème?

Voici le code concerné:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$this->_api = new SoapClient('https://ship.netParcel.com/services/ShippingService?wsdl',
                         array(
			            'trace' => 'true',
			            'location' => 'https://ship.netParcel.com/services/ShippingService'
                        )
                   );
Voici le WSDL:

Code xml : 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 
<?xml version="1.0" ?><wsdl:definitions name="ShippingService" targetNamespace="http://www.proxy.ws.shiplinx.meritconinc.com/" xmlns:dt="http://www.proxy.ws.shiplinx.meritconinc.com/datatypes" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:req="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingRequest" xmlns:res="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingResponse" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.proxy.ws.shiplinx.meritconinc.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
<xsd:schema xmlns:dt="http://www.proxy.ws.shiplinx.meritconinc.com/datatypes" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:req="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingRequest" xmlns:res="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingResponse" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.proxy.ws.shiplinx.meritconinc.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<xsd:import namespace="http://www.proxy.ws.shiplinx.meritconinc.com/datatypes" schemaLocation="https://ship.netparcel.com/services/ShippingService?xsd=datatypes.xsd"></xsd:import>
			<xsd:import namespace="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingRequest" schemaLocation="https://ship.netparcel.com/services/ShippingService?xsd=ShippingRequest.xsd"></xsd:import>
			<xsd:import namespace="http://www.proxy.ws.shiplinx.meritconinc.com/ShippingResponse" schemaLocation="https://ship.netparcel.com/services/ShippingService?xsd=ShippingResponse.xsd"></xsd:import>
		</xsd:schema>
  </wsdl:types>
  <wsdl:message name="GetOrderInfoResponseMessage">
    <wsdl:part element="res:ShippingResponse" name="Body">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ShippingException">
    <wsdl:part element="dt:ShippingErrors" name="ShippingErrors">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ShippingShipmentMessage">
    <wsdl:part element="req:ShippingRequest" name="Body">
    </wsdl:part>
    <wsdl:part element="req:Security" name="Security">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ShippingResponseMessage">
    <wsdl:part element="res:ShippingResponse" name="Body">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="GetOrderInfoRequestMessage">
    <wsdl:part element="dt:OrderID" name="Body">
    </wsdl:part>
    <wsdl:part element="req:Security" name="Security">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="GetOrderInfoException">
    <wsdl:part element="dt:ShippingErrors" name="ShippingErrors">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="ShippingPortType">
    <wsdl:operation name="ShipOrder">
      <wsdl:input message="tns:ShippingShipmentMessage" name="ShippingRequest">
    </wsdl:input>
      <wsdl:output message="tns:ShippingResponseMessage" name="ShippingResponse">
    </wsdl:output>
      <wsdl:fault message="tns:ShippingException" name="ShippingErrors">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="GetOrderInfo">
      <wsdl:input message="tns:GetOrderInfoRequestMessage" name="GetOrderInfoRequest">
    </wsdl:input>
      <wsdl:output message="tns:GetOrderInfoResponseMessage" name="GetOrderInfoResponse">
    </wsdl:output>
      <wsdl:fault message="tns:GetOrderInfoException" name="GetOrderInfoErrors">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ShippingBinding" type="tns:ShippingPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"></soap:binding>
    <wsdl:operation name="ShipOrder">
      <soap:operation soapAction="http://onlinetools.meritcon.com/webservices/ShippingBinding/v1.1" style="document"></soap:operation>
      <wsdl:input name="ShippingRequest">
        <soap:body parts="Body" use="literal"></soap:body>
        <soap:header message="tns:ShippingShipmentMessage" part="Security" use="literal">
          <soap:headerfault message="tns:ShippingException" part="ShippingErrors" use="literal"></soap:headerfault>
        </soap:header>
      </wsdl:input>
      <wsdl:output name="ShippingResponse">
        <soap:body parts="Body" use="literal"></soap:body>
      </wsdl:output>
      <wsdl:fault name="ShippingErrors">
        <soap:fault name="ShippingErrors" use="literal"></soap:fault>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="GetOrderInfo">
      <soap:operation soapAction="http://onlinetools.meritcon.com/webservices/ShippingBinding/v1.1" style="document"></soap:operation>
      <wsdl:input name="GetOrderInfoRequest">
        <soap:body parts="Body" use="literal"></soap:body>
        <soap:header message="tns:GetOrderInfoRequestMessage" part="Security" use="literal">
          <soap:headerfault message="tns:GetOrderInfoException" part="GetOrderInfoErrors" use="literal"></soap:headerfault>
        </soap:header>
      </wsdl:input>
      <wsdl:output name="GetOrderInfoResponse">
        <soap:body parts="Body" use="literal"></soap:body>
      </wsdl:output>
      <wsdl:fault name="GetOrderInfoErrors">
        <soap:fault name="GetOrderInfoErrors" use="literal"></soap:fault>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ShippingService">
    <wsdl:port binding="tns:ShippingBinding" name="ShippingServiceImplPort">
      <soap:address location="https://ship.netparcel.com/services/ShippingService"></soap:address>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>