2011-05-24 88 views
0

我需要发布这个json到服务器,有没有人有解决这个问题?Http发布Json到Restful web服务没有成功

Var req = 
     { 
     getItInputTO = 
      { 
      “zipCode”:”(value)” 
      "financingOption":"(value)", 
      “make":"(value)”, 
       "baseAmountFinanced":"(value)", 
       "modelYear":"(value)", 
       "trimCode":"(value)", 
       "totalMSRP":"(value)", 
       “aprRate”: "(value)" ( 
    } 
     } 

我已经使用这个代码,但到目前为止,我似乎无法得到回应:

try{ 
     JSONStringer vehicle = new JSONStringer() 
     .object() 
      .key("getItInputTO") 
       .object() 
        .key("zipCode").value("90505") 
        .key("financingOption").value("B") 
        .key("make").value("Scion") 
        .key("baseAmountFinanced").value("12000") 
        .key("modelYear").value("2010") 
        .key("trimCode").value("6221") 
        .key("totalMSRP").value("15000") 
        .key("aprRate").value("") 
       .endObject() 
      .endObject(); 
    URL url = new URL("http://origin.staging.scion.com/PE/service/rest?_wadl&_type=xml/getit"); 
    URLConnection urlConn = url.openConnection(); 

    if (!(urlConn instanceof HttpURLConnection)) { 
     throw new IOException ("URL is not an Http URL"); 
    } 
    Map<String, String> kvPairs = new HashMap<String, String>(); 
kvPairs.put("req", vehicle.toString()); 

    HttpURLConnection httpConn = (HttpURLConnection)urlConn; 
    //httpConn.setRequestMethod(""); 
    httpConn.setAllowUserInteraction(false); 
httpConn.setInstanceFollowRedirects(true); 
httpConn.setRequestMethod("POST"); 
httpConn.setDoInput(true); 
httpConn.addRequestProperty("user-agent", "Yoda"); 
httpConn.addRequestProperty("Accept","application/json"); 
httpConn.addRequestProperty("Content-type", "application/x-www-form-urlencoded"); 
httpConn.connect(); 


Toast.makeText(getApplicationContext(),kvPairs.toString(), Toast.LENGTH_LONG).show(); 


resCode = httpConn.getResponseCode(); 
Toast.makeText(getApplicationContext(),httpConn.getResponseCode()+"", Toast.LENGTH_LONG).show(); 
if (resCode == HttpURLConnection.HTTP_OK) { 
    in = httpConn.getInputStream();         
} 

请指教。

+1

,你得到什么错误或异常?请求是否到达服务器端代码? – 2011-05-24 18:34:29

+0

在这个实例中,我收到错误500. – 2011-05-24 18:47:03

+0

@ MR Mido您在Java代码中构建的JSON对象似乎与您发布的代码片段(已无效的JSON)相匹配。 – 2011-05-24 18:51:41

回答

0

的问题是JSON对象不是构建在这里是一个示例证明:

JSONStringer vehicle = new JSONStringer() 
      .object() 
       .key("getItInputTO") 
        .object() 
         .key("zipCode").value("90505") 
         .key("financingOption").value("B") 
         .key("make").value("Scion") 
         .key("baseAmountFinanced").value("12000") 
         .key("modelYear").value("2010") 
         .key("trimCode").value("6221") 
         .key("totalMSRP").value("15000") 
         .key("aprRate").value("") 
        .endObject() 
       .endObject();