title: ParseException: Unparseable date With Ksoap Parsing
body: <p>I am developing an app in which i nee dto parse "date" in KSOAP base webservices,i need to Pass Date at server with formate of "MM/dd/yyyy" so i have use SimepldateFormate and pass Date string to that <code>date</code>   class but here something is wrong that getting me error like </p>
  
  <p><strong>Error:</strong> </p>
  
  <pre><code>08-13 14:45:20.031: ERROR/KsoapDemoActivity(562): Exception=&gt;java.text.ParseException: Unparseable date: "08/01/2011"
  </code></pre>
  
  <p>i have also rend request with Date Class in <code>KSoap</code> like <code>pi1.setType(Date.class);</code> but not getting solve.I have also tried with make Class <code>MarshalDate mdouble = new MarshalDate();</code> but not getting solution</p>
  
  <p>can you please help  me out this</p>
  
  <p><strong>Here is my code</strong></p>
  
  <pre><code>private void InsertClientDetailForMobApp() {
      // TODO Auto-generated method stub
      try {
          String NAMESPACE = "urn:MobileApplicationIntf-IMobileApplication";// "http://tempuri.org/";
          String METHOD_NAME = "InsertClientDetailForMobApp";
          String SOAP_ACTION = "urn:MobileApplicationIntf-IMobileApplication#InsertClientDetailForMobApp";
          String URL = ("URL");// 
  
          SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
  
  
          PropertyInfo pi1 = new PropertyInfo();
          pi1.setName("asfirstname");
          pi1.setValue("Nikunj");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi2 = new PropertyInfo();
          pi1.setName("asLastName");
          pi1.setValue("patel");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi3 = new PropertyInfo();
          pi1.setName("asNationalID");
          pi1.setValue("25125514");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi4 = new PropertyInfo();
          pi1.setName("asCountryissued");
          pi1.setValue("asdasdasd");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi5 = new PropertyInfo();
          pi1.setName("asLicenceNo");
          pi1.setValue("asdasd");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi6 = new PropertyInfo();
          pi1.setName("asPassportNo");
          pi1.setValue("12512513221321");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi7 = new PropertyInfo();
          pi1.setName("asGender");
          pi1.setValue("M");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi8 = new PropertyInfo();
          pi1.setName("asAddress1");
          pi1.setValue("Indasdas asd as aia");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi9 = new PropertyInfo();
          pi1.setName("asAddress2");
          pi1.setValue("asdas asd asdasdas ");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi10 = new PropertyInfo();
          pi1.setName("asCountry");
          pi1.setValue("India");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi11 = new PropertyInfo();
          pi1.setName("asCity");
          pi1.setValue("Ahmedabad");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi12 = new PropertyInfo();
          pi1.setName("asProvince");
          pi1.setValue("Gujarat");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi13 = new PropertyInfo();
          pi1.setName("asZip");
          pi1.setValue("356256");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi14 = new PropertyInfo();
          pi1.setName("asDayTelephone");
          pi1.setValue("15165165565456");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          PropertyInfo pi15 = new PropertyInfo();
          pi1.setName("asEveTelephone");
          pi1.setValue("5545654654");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi16 = new PropertyInfo();
          pi1.setName("asFAX");
          pi1.setValue("54145615");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi17 = new PropertyInfo();
          pi1.setName("asEmail");
          pi1.setValue("nkpatel@asd-infotech.com");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi18 = new PropertyInfo();
          pi1.setName("asUserName");
          pi1.setValue("Nik123");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi19 = new PropertyInfo();
          pi1.setName("asPassword");
          pi1.setValue("India");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi20 = new PropertyInfo();
          pi1.setName("asLanguege");
          pi1.setValue("English");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi21 = new PropertyInfo();
          pi1.setName("asQuestion1");
          pi1.setValue("Question1");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi22 = new PropertyInfo();
          pi1.setName("asAnswer1");
          pi1.setValue("Nothing1");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi23 = new PropertyInfo();
          pi1.setName("asQuestion2");
          pi1.setValue("what1");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi24 = new PropertyInfo();
          pi1.setName("asSSN");
          pi1.setValue("123456");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi25 = new PropertyInfo();
          pi1.setName("asAnswer2");
          pi1.setValue("Nothing2");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi26 = new PropertyInfo();
          pi1.setName("asPrimaryCurrency");
          pi1.setValue("INR");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi27 = new PropertyInfo();
          pi1.setName("asSecondaryCurrency");
          pi1.setValue("USD");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi28 = new PropertyInfo();
          pi1.setName("asAgentID");
          pi1.setValue("456");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
          PropertyInfo pi29 = new PropertyInfo();
          pi1.setName("asBranchCode");
          pi1.setValue("Tcom India");
          pi1.setType(String.class);
          Request.addProperty(pi1);
  
  
          String str_date = "08/01/2011";
          // yyyy-MM-dd'T'HH:mm:ss
          DateFormat formatter;
          Date date;
          //formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
          formatter = new SimpleDateFormat("MM-dd-yyyy");
          date = (Date) formatter.parse(str_date);
  
  
          PropertyInfo pi30 = new PropertyInfo();
          pi1.setName("dtDOB");
          pi1.setValue(date);
          pi1.setType(Date.class);
          Request.addProperty(pi1);
  
  
  
  
  
  
          /*
           * Call the web service and retrieve result ... how luvly &lt;3
           */
  
  
  
  
  
          SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                  SoapEnvelope.VER11);
          envelope.dotNet = true;
          envelope.setOutputSoapObject(Request);
  
          AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
                  URL);
  
          MarshalDate mdouble = new MarshalDate();
          mdouble.register(envelope);
  
  
  
          androidHttpTransport.call(SOAP_ACTION, envelope);
          Log.i("TAG", "soapResponse=&gt;" + envelope.getResponse());
         } catch (Exception e) {
             soapResponseObject = null;
             Log.e(TAG, "niraliwebservice() Exception=&gt;" + e);
         }
  }
  </code></pre>
  
  <p><strong>MarshalDate</strong></p>
  
  <pre><code>package com.KsoapDemo;
  
  import java.io.IOException;
  import java.text.ParseException;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import org.kobjects.isodate.IsoDate;
  import org.ksoap2.serialization.Marshal;
  import org.ksoap2.serialization.PropertyInfo;
  import org.ksoap2.serialization.SoapSerializationEnvelope;
  import org.xmlpull.v1.XmlPullParser;
  import org.xmlpull.v1.XmlPullParserException;
  import org.xmlpull.v1.XmlSerializer;
  
  
  public class MarshalDate implements Marshal
  {
  
          public Object readInstance(XmlPullParser parser, String namespace, String name, 
                  PropertyInfo expected) throws IOException, XmlPullParserException {
  
              return IsoDate.stringToDate(parser.nextText(), IsoDate.DATE_TIME);
  
  
          }
  
  
          public void register(SoapSerializationEnvelope cm) {
               cm.addMapping(cm.xsd, "DateTime", Date.class, this);
  
          }
  
  
          public void writeInstance(XmlSerializer writer, Object obj) throws IOException {
               writer.text(IsoDate.dateToString((Date) obj, IsoDate.DATE_TIME));
              }
  
  }
  </code></pre>
  
  <p><strong>UPDATE:</strong></p>
  
  <p>I have Change "08-01-2012" to "08/01/2012"
  but now it raise me error</p>
  
  <blockquote>
    <p>SoapFault - faultcode: 'SOAP-ENV:Server' faultstring: 'Access violation at address 00405818 in module 'MobileApp.exe'. Read of address 69570A03' faultactor: '' detail: null</p>
  </blockquote>