Конечная точка Jax-w не просит создавать классы-оболочки - PullRequest
0 голосов
/ 21 мая 2019

Я следую этому простому учебнику: https://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example-document-style/?fbclid=IwAR0vxhYrj9MKy1Q28h6luFVJoSxDP4KWBOLEu_v_Ss4uQztmB-9JuYsS4RI и на шаге 3 упоминается, что я должен получить ошибку:

Wrapper class com.mkyong.ws.jaxws.GetHelloWorldAsString is not found. 
Have you run APT to generate them?

Однако я не получаю такую ​​ошибку (нет ошибкина все) и я беспокоюсь, что это не работает, как ожидалось.Мои занятия:

Интерфейс:

package com.soap3sk.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
import javax.jws.soap.SOAPBinding.Use;

// Service Endpoint Interface
@WebService
@SOAPBinding(style= Style.DOCUMENT, use= Use.LITERAL) // optional
public interface NoteEndpoint {
    //@WebMethod ArrayList<ToDoNote> getNotes();
    @WebMethod String getHelloWorldAsString(String name);
}

Реализация:

package com.soap3sk.ws;

import javax.jws.WebService;

@WebService(endpointInterface = "com.soap3sk.ws.NoteEndpoint")
public class NoteEndpointImpl implements NoteEndpoint {

    @Override
    public String getHelloWorldAsString(String name) {
        return "Hello World JAX-WS " + name;
    }


}

Издатель:

package com.soap3sk.endpoint;

import javax.xml.ws.Endpoint;

import com.soap3sk.ws.NoteEndpointImpl;



public class NoteEndpointPublisher {
    public static void main (String[] args) {
    Endpoint.publish("http://localhost:5000/ws/hello", new NoteEndpointImpl());
}
}

Структура проекта: https://imagizer.imageshack.com/img924/3514/BAuOcl.png

Что я также заметил, что эти 2 файла .class (asString и Response, которые упоминаются в руководстве) также нигде не генерируются.Я использую Eclipse и создал проект Maven с быстрым началом архетипа.Запуск его как стандартного Java-приложения.

Я могу получить доступ к wsdl-файлу, находящемуся здесь: http://localhost:5000/ws/hello?wsdl, и я могу увидеть там getHelloWorldAsString и getHelloWorldAsStringResponse, но их нигде нет в моем проекте ине выдается никакой ошибки, что они не могут быть найдены, как указано в руководстве, что он должен.

Я также попытался загрузить пример проекта и удалить файлы .java, которые должны быть необходимы, но это все равно (без ошибок, не прося создавать эти классы).

Буду очень признателен, если кто-нибудь сможет помочь.Спасибо.

РЕДАКТИРОВАТЬ Я нашел похожий вопрос здесь: Веб-сервис Java не выдает сообщение об ошибке Может кто-нибудь объяснить свой ответ?Нет ли необходимости в создании этих двух классов?

1 Ответ

0 голосов
/ 21 мая 2019

вы пытаетесь повторить ситуацию, о которой сообщалось почти 10 лет назад. Не хотите попробовать новый учебник, подобный следующему:

...