Как вернуть результат JSON из веб-службы Java-мыла - PullRequest
0 голосов
/ 04 марта 2019

Хорошо, ребята, я придумала свой тестовый код, как вы и предложили.Я искал в интернете, и я получил Gson, что облегчает задачу.я проверил это, напечатав результаты на консоль, как это, и он возвращает ожидаемый json результат

public String printJson()
{
    ProductBLL productBLL = new ProductBLL();
    List<String> catList = productBLL.getProductCatagories();

    Gson gson = new Gson();
    String jsonCatList = gson.toJson(testList);
    System.out.println("Category List: " + jsonCatList);

}

Выход Category List: ["Book","Music","Movies"]

но когда я пробую его в своем веб-сервисе java, он не работает, что означает, что веб-сервис все еще возвращает xml.

это метод веб-службы, использующий Gson

@WebMethod
public String getCategories()
{
    List<String> catList = ppBll.getProductCatagories();

    Gson gson = new Gson();
    String jsonCatagoryList = gson.toJson(catList);

    return jsonCatagoryList ;
}

вывод

<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<S:Body>
    <ns2:getCategoriesResponse xmlns:ns2="http://aman.org/">
        <return>Book</return>
        <return>Music</return>
        <return>Movies</return>
    </ns2:getCategoriesResponse>
</S:Body>

но мне нужно, чтобы он возвратил json.Где его нужно изменить, чтобы он работал в веб-сервисе?

1 Ответ

0 голосов
/ 04 марта 2019

Веб-сервис SOAP всегда будет возвращать XML, возможно, вы можете создать другой веб-сервис REST, который будет внутренне вызывать SOAP WS и создавать JSON.с помощью вашего REST вы можете легко это сделать.

, поэтому шаг 1:

создайте REST WS, который создает JSON

шаг 2:

вызов SOAP WSиз этого REST WS и преобразуйте вывод в нужный формат.

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