在 Java 中编译基本 Web 服务客户端时出错

Error when compiling a basic web service client in Java

几天来我一直在尝试 运行 以下 java EE 网络服务客户端:

package servclient;

import tuto.helloserv.HelloService;
import javax.xml.ws.WebServiceRef;

public class ServClient {

    @WebServiceRef(wsdlLocation = "http://localhost:1991/HelloService/HelloService?wsdl")
    public static HelloService helloServ;

    public static void main(String[] args) {
        System.out.println(webCall("world"));
    }

    private static String webCall(java.lang.String arg0) {
        tuto.helloserv.Hello port = helloServ.getHelloPort();
        return port.webCall(arg0);
    }
}

但我在 netbeans 上收到以下错误,即使网络服务 url 为真;

Exception in thread "main" java.lang.NullPointerException
    at servclient.ServClient.webCall(ServClient.java:25)
    at servclient.ServClient.main(ServClient.java:21)
C:\Users\DevShop\Documents\wapps\ServClient\nbproject\build-impl.xml:1329: The following error occurred while executing this line:
C:\Users\DevShop\Documents\wapps\ServClient\nbproject\build-impl.xml:981: Java returned: 1
BUILD FAILED (total time: 1 second)

我 运行 java 1.8.0_261 在我的机器上,我在任何已知的论坛上都找不到任何明确的解决方案。

注释 @WebServiceRef 用于 java EE 而不是 SE

因此,为了使用来自 java SE 的服务,您需要为来自 wsdl

的服务生成客户端

请参阅有关 wsimport 的教程:Java Brains wsimport tool 这个也有帮助:Calling the service from generated client