проблема вызова веб-службы? - PullRequest
       5

проблема вызова веб-службы?

0 голосов
/ 09 сентября 2010

Когда я звоню в веб-сервис, данные поступают неправильно. В некоторых блоках есть строка, целое число, символы там - это смешанные данные в формате json.

1) Когда я использую этот подход для преобразования данных ...

        StringBuffer sb = new StringBuffer();            
        byte[] buf = new byte[256];
        int n = 0;                 

        while ((n = StrReader.read(buf)) > 0)
            {
                sb.append(new String(buf,0,n));
            }
            String returnContent = sb.toString();
            System.out.println(new String(returnContent));
            StrReader.close();

        }

вывод ...

        text/htmlj
~"115.252.128.200", "roles": { "1": "anonymous user" }, "session": "", "cache": 0 } } }
No stack trace

2) и когда я использую этот подход для преобразования данных ...

 dis = new DataInputStream(hc.openInputStream());

        byte[] data1 = new byte[20];
        int len = 0;
        StringBuffer strBuffer = new StringBuffer();
        while ( -1 != (len = dis.read(data1)) )
        {
            received = new String(data1, 0, len);                                
            System.out.println(received);

        }

ВЫХОД ....

        text/html
j
~Salse, "#data": { "se
ssid": "fef51cf48aca
46e3b3aedafc02860f25
", "user": { "uid":
0, "hostname": "115.
252.128.200", "roles
": { "1": "anonymous
 user" }, "session":
 "", "cache": 0 } }
}
Outer---->>>}
No stack trace

ПРИМЕЧАНИЕ .... переменная «полученный» теряет наши данные, когда они выходят из цикла ...

1 Ответ

1 голос
/ 09 сентября 2010

Вопрос, как представляется, заключается в следующем: почему локальная переменная «полученный» имеет только фрагмент текста, который выводится на консоль. Это связано с тем, что переменной присваивается новая строка для каждого пакета байтов, которые считываются из DataInputStream.

Этот код, по-видимому, не дает краткого представления о работе - зачем, например, использовать DataInputStream - поэтому, возможно, вопрос о более крупной задаче будет более полезным.

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