У меня очень странная проблема.
Моя компания использует централизованный веб-сервис регистрации пользователей для наших различных свойств.Обычно мы отправляем запрос в веб-сервис через HttpURLConnection с методом запроса GET, устанавливая параметры через qs.В прошлом это работало нормально.
Для другого свойства, которое мы недавно приобрели и подключили к нашему веб-сервису регистрации, HttpURLConnection, похоже, дублирует параметры при отправке.Ожидаемое значение параметра - paramName=value
, но вместо этого мы получаем paramName=value, value
.Вот как это выглядит в наших журналах:
Примечание: удаление информации, относящейся к моему работодателю и нашим системам.
01-26 15:21:54 [TP-Processor17] INFO com].[/] - parameter=userName=nameValue65, nameValue65
01-26 15:21:54 [TP-Processor17] INFO com].[/] - parameter=policyAccepted=true, true
Это, конечно,вызвал ошибку проверки конечной точки и отключил регистрацию пользователя.
Вот представление кода, использованного для создания соединения:
URL url = new URL("http://account-ws.domain.tld/register.action?responseType=json&userName=nameValue65&age=24&country=US&password1=Passw3rt&emailAddress=name@domain.tld&tosAccepted=true&policyAccepted=true");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestMethod("GET");
urlc.setDoOutput(true);
urlc.setAllowUserInteraction(false);
PrintStream ps = new PrintStream(urlc.getOutputStream());
ps.print(restEndPoint);
ps.close();
Возможно (?) полезная информация:
- Форма регистрации отправляется сама себе с помощью POST, после чего мы проверяем ее с помощью форм Struts и отправляем запрос в веб-службу, используя значения, возвращаемые классом проверки формы Struts.(Эти значения проверяются на точность еще раз перед отправкой.)
- Отладочные сообщения Wireshark и log4j указывают, что URL-адрес, отправленный веб-службе, является правильным / что мы ожидаем, с отдельными значениями для каждого параметра.
- Почтовые поля исходной формы именуются идентично ключам запроса, отправленным вместе с запросом веб-службы.
Пожалуйста, запросите дополнительную информацию, если вы обнаружите, что здесь недостаточно.
Заранее спасибо!:)