Bonjour,

J'ai développé un service web qui fonctionne bien avec une appli Delphi mais dès que j'y accède avec C# (après avoir ajouté ma référence web avec mon wsdl), le resultat est vide.

C'est étrange, car le message SOAP renvoyé semble correct mais C# n'arrive pas à trouver les infos.

Notez que j'utilise des complextype alors que dans cet exemple là, je n'en n'ai pas besoin, mais c'est pour les prochaines méthodes.

ça fait bientôt 1 semaine que j'y suis et impossible d'en voir le bout

Merci de vos infos .



WSDL :
Code :

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
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="VEGA" targetNamespace="VEGA" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="VEGA">
		<s:element name="LoginResponse">
			<s:complexType>
				<s:sequence>
					<s:element minOccurs="0" maxOccurs="1" name="LoginResult" type="tns:Trucs"/>
				</s:sequence>
			</s:complexType>
		</s:element>
		<s:complexType name="Trucs">
			<s:sequence>
				<s:element minOccurs="0" maxOccurs="unbounded" nillable ="true" name="Truc" type="tns:Truc"/>
			</s:sequence>
		</s:complexType>
		<s:complexType name="Truc">
			<s:sequence>
				<s:element minOccurs="0" maxOccurs="1" name="COOKIE_F903KY" type="s:string"/>
			</s:sequence>
		</s:complexType>
 
		<s:element name="Login">
			<s:complexType>
				<s:sequence>
					<s:element minOccurs="1" maxOccurs="1" name="USER" type="s:string"/>
					<s:element minOccurs="1" maxOccurs="1" name="PASSWORD" type="s:string"/>
				</s:sequence>
			</s:complexType>
		</s:element>
  	  </s:schema>
	</wsdl:types>
	<wsdl:message name="LoginSoapIn">
		<wsdl:part name="parameters" element="tns:Login"/>
	</wsdl:message>
	<wsdl:message name="LoginSoapOut">
		<wsdl:part name="parameters" element="tns:LoginResponse"/>
	</wsdl:message>
	<wsdl:portType name="ServiceSoap">
		<wsdl:operation name="Login">
			<wsdl:input message="tns:LoginSoapIn"/>
			<wsdl:output message="tns:LoginSoapOut"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="Login">
			<soap:operation soapAction="Login" style="document"/>
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="Service">
		<wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
			<soap:address location="http://212.99.123.146/LocproBin/locpro.dll"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
Message envoyé par C# :
Code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <LoginSoapIn>
      <USER>RG</USER><PASSWORD/>
    </LoginSoapIn>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Message renvoyé par mon Service Web :
Code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SOAP-ENV:Body>
    <LoginResponse>
      <LoginResult>
        <COOKIE_F903KY>100038179</COOKIE_F903KY>
      </LoginResult>
    </LoginResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>