Bonjour,

je rencontre un problème lors de l'utilisation d'un WebService.

Le WSDL :

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns0="http://tools/Tools.wsdl/types/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tools/Tools.wsdl" name="tools" targetNamespace="http://tools/Tools.wsdl">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tools/Tools.wsdl/types/" targetNamespace="http://tools/Tools.wsdl/types/" elementFormDefault="qualified">
<complexType name="getInstanceName">
<sequence/>
</complexType>
<complexType name="getInstanceNameResponse">
<sequence>
<element name="result" type="string" nillable="true"/>
</sequence>
</complexType>
<complexType name="getTablespaces">
<sequence/>
</complexType>
<complexType name="getTablespacesResponse">
<sequence>
<element name="result" type="string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="getInstanceNameElement" type="tns:getInstanceName"/>
<element name="getInstanceNameResponseElement" type="tns:getInstanceNameResponse"/>
<element name="getTablespacesElement" type="tns:getTablespaces"/>
<element name="getTablespacesResponseElement" type="tns:getTablespacesResponse"/>
</schema>
</types>
<message name="Tools_getInstanceName">
<part name="parameters" element="tns0:getInstanceNameElement"/>
</message>
<message name="Tools_getInstanceNameResponse">
<part name="parameters" element="tns0:getInstanceNameResponseElement"/>
</message>
<message name="Tools_getTablespaces">
<part name="parameters" element="tns0:getTablespacesElement"/>
</message>
<message name="Tools_getTablespacesResponse">
<part name="parameters" element="tns0:getTablespacesResponseElement"/>
</message>
<portType name="tools">
<operation name="getInstanceName">
<input message="tns:Tools_getInstanceName"/>
<output message="tns:Tools_getInstanceNameResponse"/>
</operation>
<operation name="getTablespaces">
<input message="tns:Tools_getTablespaces"/>
<output message="tns:Tools_getTablespacesResponse"/>
</operation>
</portType>
<binding name="toolsSoapHttp" type="tns:tools">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getInstanceName">
<soap:operation soapAction="http://tools/Tools.wsdl/getInstanceName"/>
<input>
<soap:body use="literal" parts="parameters"/>
</input>
<output>
<soap:body use="literal" parts="parameters"/>
</output>
</operation>
<operation name="getTablespaces">
<soap:operation soapAction="http://tools/Tools.wsdl/getTablespaces"/>
<input>
<soap:body use="literal" parts="parameters"/>
</input>
<output>
<soap:body use="literal" parts="parameters"/>
</output>
</operation>
</binding>
<binding name="toolsSoap12Http" type="tns:tools">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getInstanceName">
<soap12:operation soapAction="http://tools/Tools.wsdl/getInstanceName" soapActionRequired="false"/>
<input>
<soap12:body use="literal" parts="parameters"/>
</input>
<output>
<soap12:body use="literal" parts="parameters"/>
</output>
</operation>
<operation name="getTablespaces">
<soap12:operation soapAction="http://tools/Tools.wsdl/getTablespaces" soapActionRequired="false"/>
<input>
<soap12:body use="literal" parts="parameters"/>
</input>
<output>
<soap12:body use="literal" parts="parameters"/>
</output>
</operation>
</binding>
<service name="tools">
<port name="toolsSoapHttpPort" binding="tns:toolsSoapHttp">
<soap:address location="http://mascart.apaveno.com:7799/TOOLS-tools-context-root/toolsSoapHttpPort"/>
</port>
<port name="toolsSoap12HttpPort" binding="tns:toolsSoap12Http">
<soap12:address location="http://mascart.apaveno.com:7799/TOOLS-tools-context-root/toolsSoap12HttpPort"/>
</port>
</service>
</definitions>
Le code JAVA :
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
package hello.World;
 
import hello.World.AppelService;
 
import java.io.IOException;
 
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
 
 
import android.R.string;
import android.os.Bundle;
import android.util.Log;
 
 
public class AppelTools {
 
 
	  private static final String NAMESPACE = "http://tools/Tools.wsdl/";
	  private static final String URL = "http://mascart.apaveno.com:7799/TOOLS-tools-context-root/toolsSoap12HttpPort?WSDL";
	  private static final String SOAP_ACTION = "http://tools/Tools.wsdl/getInstanceName";
	  private static final String METHOD_NAME = "getInstanceName"; 
 
	  String wsGetInstanceName() {
 
	    String retour = null;
	    //Integer pId = 1;
 
	    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
 
	    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
	    envelope.dotNet = false;
 
	    //Préparation de la requête
		envelope.setOutputSoapObject (request);
 
		HttpTransportSE androidHttpTransport = new HttpTransportSE (URL);
 
		//Ceci est optionnel, on l'utilise pour savoir si nous voulons ou non utiliser 
		//un paquet "sniffer" pour vérifier le message original (androidHttpTransport.requestDump)
		//androidHttpTransport.debug = true; 	    
 
 
	    try {
 
			//Envoi de la requête
			androidHttpTransport.call (SOAP_ACTION, envelope);
			//System.out.println("requestDump : " + androidHttpTransport.requestDump);	
			//System.out.println("responseDump : " + androidHttpTransport.responseDump);	
			//System.out.println("envelope : " + envelope.toString());
 
			//Obtention du résultat
			//Object result = envelope.getResponse();
			SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
 
			retour = result.toString();
			//retour = "OK";
 
	    } catch (SoapFault e) {
	        Log.e("SoadFault", "", e);
	        retour = "KO";
	    } catch (IOException e) {
			// TODO Auto-generated catch block
	    	Log.e("IOException", "", e);
	    	retour = "KO";
		} catch (XmlPullParserException e) {
			// TODO Auto-generated catch block
 
			// AFFICHAGE DU Body Out/In
			System.out.println("body out : " + envelope.bodyOut.toString());
			//System.out.println("body in : " + envelope.bodyIn.toString());	
			System.out.println("requestDump : " + androidHttpTransport.requestDump);	
			System.out.println("responseDump : " + androidHttpTransport.responseDump);	
 
			Log.e("XmlPullParser", "", e);
			retour = "KO";
		}
 
		return retour;
 
 
	    /**
            AppelService pouet = new AppelService();
            retour = pouet.wsStats("SELECT SYSDATE FROM DUAL");
            return retour; */
 
	  }
 
 
	    /** Called when the activity is first created. */
	    public String getTablespaces() {
 
	    	String retour = "test";
 
	    	return retour;
 
	    }
 
 
	}
J'obtiens l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
02-14 17:01:17.340: E/SoadFault(877): Code: env:Sender, Reason: Caught exception while handling request: unrecognized operation: {http://tools/Tools.wsdl/}getInstanceName
J'ai beau chercher je ne trouve pas ce qui ne vas pas ....