Hi guys !!! First... i'm sorry for my english... i am spanish, sorry.
I have a strange problem with my comunications. I send a complex type from android to my service and i have anything problem. All OK. My service wcf recived the object, but... the properties is empty !! however, my service update the properties and return to the client which recived correctly the object with the values properties OK. Please... can you help me?? My client code is this: ************************* METHOD ACTIVITY WHICH CALL WEBSERVICE ************************* private class LaunchWebService extends AsyncTask<String, String, Integer> { @Override protected Integer doInBackground(String... params) { try { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //*** OBJECT *** CompositeType objComposite = new CompositeType(); objComposite.setProperty(0, true); //This arrive false. objComposite.setProperty(1, "this arrive null"); //*** ADD NEW PROPERTY TO ENVELOPE WITH THE OBJECT *** PropertyInfo objParameter = new PropertyInfo(); objParameter.setName("http://schemas.xmlsoap.org/soap/ envelope/"); objParameter.setName("composite"); objParameter.setValue(objComposite); objParameter.setType(CompositeType.class); request.addProperty(objParameter); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); envelope.addMapping(NAMESPACE_CONTRACT, "CompositeType", CompositeType.class); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.call(SOAP_ACTION, envelope); SoapObject response = (SoapObject)envelope.getResponse(); String txt = response.getProperty("StringValue").toString(); publishProgress(txt); return 1; } catch(SoapFault exSoap) { exSoap.printStackTrace(); publishProgress(exSoap.getMessage()); return -1; } catch(Exception ex) { ex.printStackTrace(); publishProgress(ex.getMessage()); return -1; } } ************************* COMPLEX TYPE DEFINITION ************************* public class CompositeType implements KvmSerializable{ public static final int STRING_VALUE = 1; public static final int BOOLEAN_VALUE = 0; public String StringValue; public Boolean BoolValue; public CompositeType() { } @Override public String toString() { return "StringValue = " + StringValue + ", BoolValue = " + BoolValue.toString(); } @Override public Object getProperty(int arg0) { switch(arg0) { case STRING_VALUE: return StringValue; case BOOLEAN_VALUE: return BoolValue; } return null; } @Override public int getPropertyCount() { return 2; } @Override public void getPropertyInfo(int index, @SuppressWarnings("rawtypes") Hashtable arg1, PropertyInfo info) { switch(index) { case STRING_VALUE: info.type = PropertyInfo.STRING_CLASS; info.name = "StringValue"; break; case BOOLEAN_VALUE: info.type = PropertyInfo.BOOLEAN_CLASS; info.name = "BoolValue"; break; default:break; } } @Override public void setProperty(int index, Object value) { switch(index) { case STRING_VALUE: StringValue = value.toString(); break; case BOOLEAN_VALUE: BoolValue = Boolean.parseBoolean(value.toString()); break; default: break; } } } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en