2012-01-29 9 views
0

Я работаю над Android-приложением, которое подключается к веб-службам .NET. Я использую Apache HttpClient для подключения с использованием метода HttpGet. Метод, который делает фактический вызов имеет следующий код:HttpGet - Параметры подключения в кавычках

public static String httpGet(String methodName, List<NameValuePair> params) { 

    String methodURL = BASE_URL + "/"+methodName; 
    HttpGet httpGet = new HttpGet(methodURL+"?"+URLEncodedUtils.format(params, "UTF-8")); 

Так я взять List<NameValuePair> объект и сделать все ПОЛУЧИТЬ URL из него. По какой-то причине вебсервис не принимает значения параметров, если они не заключены в кавычки.

Есть ли способ получить параметры, заключенные в кавычки, без необходимости вручную добавлять "\"" к каждому параметру в вызовах ...?

+0

Являются ли веб-сервисы .NET услугами WSDL/SOAP? В этом случае я предлагаю использовать java-библиотеку KSOAP2 для Android вместо использования непосредственно Apache 'HttpClient' – thermz

+0

Nah ... Я использую Json. Хотя SOAP также поддерживается. Я полагаю, что перенос между типами сервисов вызвал это странное требование. Может быть, они изначально были SOAP, и они добавили Json, но не полностью конвертировали все это или что-то в этом роде. В любом случае, я просто пойду с помощью вспомогательного метода. Спасибо за помощь. –

ответ

0

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

0

Просто измените NVP, которые у вас уже есть - это несколько строк кода. Нет возможности сделать это автоматически, так как это относительно необычное требование.