Op dit moment werk ik aan een koppeling tussen een webshop en een leverancier doormiddels van SOAP WSDL
Ik kan een order plaatsen maar helaas lukt het niet om artikelen mee te geven in de bestelling.
WSDL
Op dit moment lukt het niet om de OrderItems mee te geven, daar het een array is
Ik gebruik wsdl2php om lokaal de objecten en classes beschikbaar te krijgen lokaal beschikbaar gemaakt.
Ik weet gewoon niet of ik voor dit stukje <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:OrderItem[]"/> een array in array moet stoppen of object in array.
Ik kan een order plaatsen maar helaas lukt het niet om artikelen mee te geven in de bestelling.
WSDL
code:
1
2
3
4
5
6
7
8
9
| <operation name="SaveOrder"> <soap:operation soapAction="SaveOrder" style="rpc"/> <input> <soap:body use="encoded" namespace="urn:Webshop" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="urn:Webshop" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> |
code:
1
2
3
4
5
| <operation name="SaveOrder"> <documentation>Save an order</documentation> <input message="tns:SaveOrderRequest"/> <output message="tns:SaveOrderResponse"/> </operation> |
code:
1
2
3
4
5
6
7
8
9
10
11
| <message name="SaveOrderRequest"> <part name="Username" type="xsd:string"/> <part name="Password" type="xsd:string"/> <part name="OrderReference" type="xsd:string"/> <part name="Customer" type="tns:Customer"/> <part name="OrderItems" type="tns:OrderItems"/> <part name="OrderDeliver" type="tns:OrderDeliver"/> <part name="shop_order_id" type="xsd:string"/> <part name="IsPayed" type="xsd:boolean"/> <part name="ShipToCustomer" type="xsd:boolean"/> </message> |
Op dit moment lukt het niet om de OrderItems mee te geven, daar het een array is
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <xsd:complexType name="OrderItems"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:OrderItem[]"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> /// <xsd:complexType name="OrderItem"> <xsd:all> <xsd:element name="VariantArticleID" type="xsd:string"/> <xsd:element name="Quantity" type="xsd:string"/> <xsd:element name="Description" type="xsd:string"/> <xsd:element name="UnitPrice" type="xsd:string"/> </xsd:all> </xsd:complexType> |
Ik gebruik wsdl2php om lokaal de objecten en classes beschikbaar te krijgen lokaal beschikbaar gemaakt.
code:
1
2
| //Execute Order! echo $connection->SaveOrder('user','password','Order Red',$klant,$orders,$leveradr,'12','TRUE','TRUE'); |
Ik weet gewoon niet of ik voor dit stukje <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:OrderItem[]"/> een array in array moet stoppen of object in array.