2009-10-31 5 views
0

J'utilise ksoap/ksoap2 api pour appeler un webservice php de j2me.API kSoap pour J2ME

Pour ksoap:

SoapObject client = new SoapObject(NAMESPACE, "ns2221:save_record"); 
     client.addProperty("cc", "1234560789"); 

     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     XmlWriter xw = new XmlWriter(new OutputStreamWriter(bos)); 

     SoapEnvelope envelope = new SoapEnvelope(new ClassMap(Soap.VER11)); 
     envelope.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/"); 
     envelope.setBody(client); 
     envelope.write(xw); 
     xw.flush(); 
     bos.write('\r'); 
     bos.write('\n'); 

     byte[] requestData = bos.toByteArray(); 
     String requestSOAPmesg = new String(requestData); 
     System.out.println("request Soap Message: " + requestSOAPmesg); 

     HttpTransport ht = new HttpTransport(); 
     ht.setUrl(url); 
     ht.setSoapAction(NAMESPACE); 
     SoapObject o = (SoapObject) ht.call(client); 

ont utilisé ..

et ksoap2

SoapObject client = new SoapObject("http://192.168.0.205:82/imageuploader/save_record.php#save_record", "ns8862:save_record"); 
     client.addProperty("cc", "1234560789"); 

     //Create Envelope for 
     Object so=soapMsg; 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.dotNet=false; 
     envelope.bodyOut=client; 
     System.out.println("Before Envelope"); 


     HttpTransport ht = new HttpTransport(url); 
     ht.call("http://192.168.0.205:82/imageuploader/save_record.php#save_record", envelope); 
     SoapObject o=(SoapObject) envelope.getResponse(); 

ont utilisé ..

il me retourne

faute chaîne:

faultstring: ns8862 'Opération ': save_record' est pas défini dans le WSDL pour ce service' faultactor: détail '': [email protected]

dans le service Web le premier tag ns8862: save_record change chaque fois qu'une requête est passée pour les 4 nombres.

Une solution?

Répondre

1

Vérifiez le service Web pour les lettres majuscules. L'erreur indique que "save_record" n'est pas défini. Peut-être que c'est "Save_Record", ou "saveRecord". Assurez-vous que vous respectez le modèle.