[AIDE] KSOAP2 : unrecognized operation
Bonjour,
je rencontre un problème lors de l'utilisation d'un WebService.
Le WSDL :
Code:
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:
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:
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 .... :cry: