Voilà je fais un web service et j'ai un problème avec mon fichier wsdl. Le problème est que je n'arrive pas à spécifier les types. voici mon code et j'expliquerais après mon problème.
Vous voyez j'ai un element RecadrerRequestType que je veux appeler dans mon message RecadrerRequest.
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
63
64
65
66
67
68
69
70
71
72
73 <definitions name="ImgProcess" targetNamespace="http://localhost/projetm2/webservice/soap/imgProcess.wsdl" xmlns:tns="http://localhost/projetm2/webservice/soap/imgProcess.wsdl" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <xsd:schema elementFormDefault="qualified" targetNamespace="http://localhost/projetm2/webservice/soap/imgProcess.wsdl"> <xsd:complexType name="IdentRequestType"> <xsd:all> <xsd:element name="id_client" type="xsd:int" minOccurs="0"/> <xsd:element name="password" type="xsd:string" minOccurs="0"/> </xsd:all> </xsd:complexType> <xsd:element name="RecadrerRequestType"> <xsd:complexType> <xsd:all> <xsd:element name="id_client" type="xsd:int" minOccurs="0"/> <xsd:element name="password" type="xsd:string" minOccurs="0"/> <xsd:element name="imgName" type="xsd:string" minOccurs="0"/> <xsd:element name="y_depart" type="xsd:int" minOccurs="0"/> <xsd:element name="x_depart" type="xsd:int" minOccurs="0"/> <xsd:element name="hauteur_max" type="xsd:int" minOccurs="0"/> <xsd:element name="largeur_max" type="xsd:int" minOccurs="0"/> </xsd:all> </xsd:complexType> </xsd:element> </xsd:schema> </types> <message name="RecadrerRequest"> <part name="RecadrerRequest" element="tns:RecadrerRequestType" /> </message> <message name="RecadrerResponse"> <part name="return" type="xsd:int"/> </message> <portType name="ImgProcessPortType"> <operation name="recadrer"> <input message="typens:RecadrerRequest"/> <output message="typens:RecadrerResponse"/> </operation> </portType> <binding name="ImgProcessBinding" type="tns:ImgProcessPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="recadrer"> <soap:operation soapAction="http://localhost/projetm2/webservice/soap/imgProcess.wsdl"/> <input> <soap:body use="encoded" namespace="http://localhost/projetm2/webservice/soap/imgProcess.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="http://localhost/projetm2/webservice/soap/imgProcess.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="ImgProcessService"> <documentation> Cette partie du web service décris comment utiliser les fonctions de traitements d'image. </documentation> <port name="ImgProcessPort" binding="tns:ImgProcessBinding"> <soap:address location="http://localhost/projetm2/webservice/traitements_img/imgProcess.php"/> </port> </service> </definitions>
Lors qe l'exécution du client je n'ai que le premier parametres qui est pris en compte.(soit id_client) les autres sont null.
A noter que si je met directement mes types dans le message tout marche nickel.
Pourquoi?
merci
Partager