Http Post Json на веб-сервис Restful не удается - PullRequest
0 голосов
/ 24 мая 2011

Мне нужно отправить этот JSON на сервер, у кого-нибудь есть решение для этого?

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 Ответ

0 голосов
/ 25 мая 2011

Проблема в том, что объект 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...