Проблемы с отправкой XML на URL, в котором у субдомена есть дефис - PullRequest
0 голосов
/ 27 февраля 2012

У меня реальные проблемы с публикацией в веб-сервисе, и кажется, что проблема заключается в URL-адресе - в поддомене есть дефис.URL, приведенный ниже, НЕ является реальным, но вы должны понять.

Я получаю эту ошибку при передаче URL с дефисом в:

02-27 10: 33: 45.992: E / AndroidRuntime (2226): java.lang.IllegalArgumentException: имя хоста можетnot be null

И если дефис пропущен, то по крайней мере он будет искать URL.

Пожалуйста, помогите!

    HttpClient httpclient = new DefaultHttpClient();

    try {
        HttpPost httppost = new HttpPost("http://mbhh.one-dev.co.uk/HandsetService.asmx?op=Opp");

        StringEntity se = new StringEntity( getUploadXml ().toString(), HTTP.UTF_8);
        se.setContentType("text/xml");
        httppost.setEntity(se);

        HttpResponse httpresponse = httpclient.execute(httppost);
        HttpEntity resEntity = httpresponse.getEntity();
        String result = EntityUtils.toString(resEntity);
        Log.d(TAG, "writer = "+result);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

1 Ответ

1 голос
/ 27 февраля 2012

Вы можете использовать URI конструктор , который автоматически экранирует недопустимые символы:

URL url = new URI("http", "//mbhh.one-dev.co.uk/HandsetService.asmx?op=Opp", null).toURL();
...