wso2 emm mdm-admin Остальные веб-сервисы

Всем добрый день,

У меня проблемы с добавлением Rest Services в mdm-admin

У меня были некоторые проблемы с mdm-android-* Я создал службу и ссылку в файле permission.xml

Создание службы отдыха в mdm-admin имеет sefinitin, как показано ниже.

@GET
@Path("{type}/{id}/logs")
public List<? extends Application> getDeviceLogs(

    @PathParam("type") String type,
    @PathParam("id") String id)
        throws MDMAPIException {

        List<Application> applications;
        ApplicationManagementProviderService appManagerConnector;
        DeviceIdentifier deviceIdentifier = new DeviceIdentifier();

        try {

            deviceIdentifier.setType(type);
            deviceIdentifier.setId(id);
            appManagerConnector = MDMAPIUtils.getAppManagementService();

            applications = appManagerConnector.getApplicationListForDevice(deviceIdentifier);

        } catch (ApplicationManagementException e) {

            String msg = "Error occurred while fetching the apps of the device.";
            log.error(msg, e);
            throw new MDMAPIException(msg, e);
        }
        return applications;
    }
}

Это клон метода получения списка приложений, в котором изменены только путь и имя функции.

Когда я его разверну. мое веб-приложение возвращает код ошибки 404. когда я пытаюсь вызвать функцию

Чтобы воспроизвести это, загрузите v2.0.1 Open with Netbeans, измените WSO2 MDM - Mobile Device Management Admin Services Скопируйте и вставьте одну из остальных функций, переименуйте функцию Deploy и вызовите эту новую функцию.

Как я могу решить эту проблему?


person user2955481    schedule 09.06.2016    source источник
comment
какой путь вы назвали?   -  person lakshman    schedule 09.06.2016
comment
{actionMethod: GET, actionUrl:/mdm-admin/operations/android/353007060012943/logs, actionPayload: null}   -  person user2955481    schedule 09.06.2016
comment
какую ветку вы используете? Мастер или тег? так как в основной ветке ведется активная разработка, это может измениться. Я проверю и дам вам знать. Извините за задержку.   -  person lakshman    schedule 10.06.2016
comment
Я не использую мастер, я использую версию 2.0.1. и все в порядке, просто я на коротком поводке, чтобы заставить его работать   -  person user2955481    schedule 10.06.2016
comment
Ваш код работает правильно для меня без каких-либо проблем. Не могли бы вы опубликовать команду curl, которую вы использовали, и запись разрешения в файле permission.xml?   -  person lakshman    schedule 10.06.2016
comment
проблема в записи разрешения, я не знаю, как добавить разрешение администратора mdm с помощью PathParams, скопируйте свой раздел и покажите мне, пожалуйста   -  person user2955481    schedule 10.06.2016
comment
добавил это как ответ   -  person lakshman    schedule 10.06.2016


Ответы (2)


Ваш фрагмент кода работает для меня без каких-либо проблем. Чтобы это работало, вам нужно добавить запись о разрешении в файлразрешение.xmlследующим образом.

<Permission>
    <name>log device</name>
    <path>/device-mgt/emm-admin/devices/logs</path>
    <url>/operations/*/*/logs</url>
    <method>GET</method>
</Permission>

Команда curl, которую я использовал, приведена ниже. не забудьте добавить тип контента как application/json.

curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 3c28103c1992c9e57d7091fb9f38732e" -k -v https://localhost:9443/mdm-admin/operations/android/000000000000000/logs
person lakshman    schedule 10.06.2016
comment
Лакшман. Я изменил функцию, чтобы она выглядела так @GET @Path("{type}/{id}/logs") public String getLogs(@PathParam("id") String id) throws MDMAPIException{ return "[{\"id\":11,\"log\":\"No logs\"}]"; } при запуске. Я получаю это в своей консоли. Uncaught SyntaxError: Unexpected end of JSON input - person user2955481; 15.06.2016
comment
какова полная ошибка в журнале и ответ, который вы получили? - person lakshman; 16.06.2016

Вы получаете 404, так как вы должны включить для пользователя разрешение nely added rest API.

Включите соответствующее разрешение для одной из ролей пользователя и повторите попытку.

Дополнительные сведения см. в документации.

person Kamidu    schedule 10.06.2016