Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is not a valid service exception in JAX-WS

Tags:

java

soap

jax-ws

I am taking reference from http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/

This is my HelloWorldClient class

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"));

    }

}

When running this class i am getting error from below line of code

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

The error is

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)

In the reference example in HelloWorldClient class it has

    QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");

In my case i have replaced it with

    QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");

I could not figure out where i have made mistake .When i run http://localhost:8099/dummy1/dummy2?wsdl it is working fine.But ,when i access from client i am getting above mentioned exception.Any help please ?

like image 394
abishkar bhattarai Avatar asked Jan 13 '23 02:01

abishkar bhattarai


1 Answers

Try to replace

QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");

with

QName qname = new QName("http://WebService/", "HelloWorldImplService");
like image 113
Paolo Avatar answered Jan 21 '23 17:01

Paolo