不是 JAX-WS 中的有效服务异常

abi*_*rai 4 java soap jax-ws

我正在参考http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/

这是我的 HelloWorldClient

package WebService;


import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;



public class HelloWorldClient{

    public static void main(String[] args) throws Exception {

    URL url = new URL("http://localhost:8099/dummy1/dummy2?wsdl");

        //1st argument service URI, refer to wsdl document above
    //2nd argument is service name, refer to wsdl document above
        QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");


        Service service = Service.create(url, qname);

        HelloWorld hello = service.getPort(HelloWorld.class);

        System.out.println(hello.getHelloWorldAsString("mkyong"));

    }

}
Run Code Online (Sandbox Code Playgroud)

运行这个类时,我从下面的代码行收到错误

Service service = Service.create(url, qname);
Run Code Online (Sandbox Code Playgroud)

错误是

Exception in thread "main" javax.xml.ws.WebServiceException: {http://localhost:8099/dummy1/dummy2?wsdl}HelloWorldImplService is not a valid service. Valid services are: {http://WebService/}HelloWorldImplService
    at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:220)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165)
    at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93)
    at javax.xml.ws.Service.<init>(Service.java:56)
    at javax.xml.ws.Service.create(Service.java:680)
    at WebService.HelloWorldClient.main(HelloWorldClient.java:19)
Run Code Online (Sandbox Code Playgroud)

在 HelloWorldClient 类的参考示例中,它具有

    QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");
Run Code Online (Sandbox Code Playgroud)

就我而言,我已将其替换为

    QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");
Run Code Online (Sandbox Code Playgroud)

我不知道我在哪里犯了错误。当我运行时 http://localhost:8099/dummy1/dummy2?wsdl它工作正常。但是,当我从客户端访问时,我遇到了上面提到的异常。请问有什么帮助吗?

Pao*_*olo 6

尝试更换

QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");
Run Code Online (Sandbox Code Playgroud)

QName qname = new QName("http://WebService/", "HelloWorldImplService");
Run Code Online (Sandbox Code Playgroud)