JAX-WS端点不要求创建包装器类



我正在关注此简单教程:https://www.mkyong.com/webservices/jax-ws/jax-ws/jax-ws-hello-world-world-example-document-nocument-style/一下?fbclid = iwar0vxhyrj9mky1q28h6lufvjjosxdp4kwboleu_v_sss4uqztmb-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

我还注意到,这两个.class文件(指南中提到的响应(也未在任何地方生成。我正在使用Eclipse,并使用QuickStart原型创建了一个Maven项目。将其作为标准Java应用程序运行。

我可以访问此处的WSDL文件:http://localhost:5000/ws/hello?wsdl,我可以看到gethellowellodorldasstring和gethelloweroldastastringresponse,但是在我的项目中无处可见,没有错误的抛弃无法如指南中提到的那样找到它们。

我还尝试下载示例项目并删除应该需要的.java文件,但它是相同的(没有错误,不要求创建这些类(。

如果有人能提供帮助,我将非常感谢。谢谢。

编辑我在这里找到了一个类似的问题:Java Web服务不提供错误消息,有人可以解释他的答案吗?这两个类的创建是不需要的吗?

您正在尝试复制大约10年前报告的情况。您不想尝试以下较新教程:

  • https://www.baeldung.com/jax-ws
  • https://spring.io/guides/gs/producing-web-service/

相关内容

  • 没有找到相关文章

最新更新