【问题标题】:Jax-ws endpoint not asking to create wrapper classesJax-ws 端点不要求创建包装类
【发布时间】:2023-04-02 02:07:01
【问题描述】:

我正在学习这个简单的教程: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 web service not giving error message 有人可以解释他的答案吗?不需要创建这两个类吗?

【问题讨论】:

    标签: java eclipse web-services soap jax-ws


    【解决方案1】:

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

    【讨论】:

    • 我更喜欢使用 Jax-WS(最好使用文档文字方法)。此外,如果您知道有哪些方法可以访问 Soap Web 服务中的现有 Rest 服务,但向 Soap Web 服务提供响应和请求。(您可以使用 Soap 将其称为围绕 RestService 的包装器)。最后,我相信旧教程本身没有问题。我看到的最大问题是由于某种原因没有生成这两个 .class 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多