Intereting Posts
Добавить панель инструментов поиска по карте google, например, в приложении для родных Android. Как использовать пользовательские разрешения в Android? Как изучить интернет-игру Google Play в другой стране? Как открыть URL-адрес в браузере Android из моего приложения? Ползунок на моем экране предпочтений Удаление заголовка панели Android Отправьте параметры формы с urlencoded в почтовый запрос андроид-залп Как запустить устройство Genymotion с командой оболочки? Ионный: как отображать ионный элемент на нескольких линиях? Обновления OTA для приложения Android владельца устройства (режим киоска) Статическое одиночное время жизни в Android Пользовательский словарь для Tesseract Разрешенные версии для приложения (22.0.0) и тестового приложения (21.0.3) отличаются Android MediaPlayer получает объем Используйте адаптер массива с большим количеством просмотров в строке в списке

Java Restful Web Service работает только с Android 4.4 Mobile не другим

Я создаю Java Restfull Web Service, который вызывается ионными приложениями, работающими на устройствах Android Mobil.

Код успешно работает на Android 4.4 Mobile .

Но не работает на каких-либо других мобильных устройствах Android с os: android lollipop, marshmallow .

Webservices web.xml

 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>test</display-name> <servlet> <servlet-name>Jersey REST Service</servlet-name> <!-- <servlet-class>com.sun.jersey.server.impl.container.servlet.ServletAdaptor</servlet-class> --> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>test</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey REST Service</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> 

Код останова webservice

 package test; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; @Path("/test") public class test_Services { @POST @Consumes("application/x-www-form-urlencoded") @Path("/insertTest") public String InsertTest(String json) { System.out.println("POST JSON>>>>>>>>>>>>>"+json); return json.toString(); } } 

Зарезервировать зависимостей webservice

Введите описание изображения здесь

Вот приложение Hybride, использующее ионный и угловой код

 $http({ method: 'POST', url: 'http://mapps.testlab.local:8080/test/test/insertTest', data: data, headers: { "Content-Type": "application/x-www-form-urlencoded" } }).then(function successCallback(res) { }, function errorCallback(err) { deferred.reject(res.err); }); 

Когда я отлаживаю то, что с помощью chrome на Android-леденец и зефир это дает мне следующую ошибку:

 Failed to load resource: net::ERR_NAME_NOT_RESOLVED 

Пожалуйста, помогите мне решить эту проблему. Я использую JAVA, используя Eclipse Mars.1

Solutions Collecting From Web of "Java Restful Web Service работает только с Android 4.4 Mobile не другим"

Когда я вызываю ping mapps.testlab.local на моем компьютере, я получаю unknown host error означающую, что нет DNS-сервера, который знает, как перевести «mapps.testlab.local» на ip-адрес. У всех ваших Android-устройств есть доступ к dns-серверу через wlan-intranet, которые знают «mapps.testlab.local»? Или неработающие устройства, подключенные к Интернету, которые не знают «mapps.testlab.local»?

Вы должны делать что-то неправильно. Поскольку метод POST вызов на сервер, вы не можете попасть в restService с помощью простого браузера, и вы должны использовать некоторое расширение браузера, например POSTMAN в Google Chrome. Сначала установите расширение, затем вызовите webUrl, используя POSTMAN. Если у вас есть ответ, ваш апи вызван. Теперь вам нужно вызвать правильный api и отладить api, он работает нормально или нет. Это может решить вашу проблему.

Как вы уже говорили, вы пытаетесь ударить по Weburl с устройства Android, но код, предоставленный вами, совсем не является источником для Android.