Как отправить данные на сервер через XML, и получить ответ в Android - PullRequest
0 голосов
/ 13 июля 2011

Я отправляю некоторый запрос на сервер, используя файл XML. И я должен получить ответ соответственно. Но я получаю исключение файла не найдено в URL. Мой код здесь.

public InputStream testPost(String xmlString,URL url)
{
    try
    {
        httpClient = new DefaultHttpClient();
        connection = (HttpURLConnection)url.openConnection();
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type", "text/xml");
        DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
        outputStream.writeBytes(xmlString);
        outputStream.flush();
        isResponse = (InputStream) connection.getInputStream();
    }
    catch(UnknownHostException e)
    {
        Log.e("Failure","Network Failure"+e.toString());
    }       
    catch(SocketException e)
    {
        Log.e("Failure--","Network Failure"+e.toString());
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return isResponse;
}



public void addLocation()
{
    try
    {
        String strAddLocation = "<useraccount>" +
        "<id>"+1+"</id>" +"<location>"+
        "<geocode>"+77.254188+","+28.692365+"</geocode>" +
        "<address>3523 16th street</address>" +
        "<city>Hyd</city>" +
        "<state>NY</state>" +
        "<zip>"+11006+"</zip>" +
        "<country>USA</country>" +
        "<is_primary>"+false+"</is_primary>" +
        "</location>"+"</useraccount>";

        Log.i("this", strAddLocation);

        urlPost = new UrlPost();

        addLocationInputStream= urlPost.testPost(strAddLocation, new URL(AppConstants.HOST_URL+AppConstants.ADD_LOCATION+1));
       if(addLocationInputStream!= null)
       {
           Log.i("the output is coming hare", "add location");
       }
         InputStreamReader reader = new InputStreamReader(addLocationInputStream );
         StringBuilder buf = new StringBuilder();
         char[] cbuf = new char[ 2048 ];
         int num;
         while ( -1 != (num=reader.read( cbuf )))
         {
             buf.append( cbuf, 0, num );
         }
         String result = buf.toString();
            System.err.println( "\nResponse from server after delete = " + result );
         reader.close();
            Log.i("reponce","\nResponse from server after delete = " + result);
    }

        catch(Exception ee)
        {
        Log.i("the error is here", ee.toString());
        }

}

1 Ответ

0 голосов
/ 13 июля 2011

Вы добавили

<uses-permission android:name="android.permission.INTERNET" />

внутри тегов манифеста и вне тега приложения в файле AndroidMainfest.xml?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...