【发布时间】:2013-10-23 05:58:44
【问题描述】:
我参考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"));
}
}
运行这个类时,我从下面的代码行收到错误
Service service = Service.create(url, qname);
错误是
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)
在 HelloWorldClient 类的参考示例中有
QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");
在我的情况下,我已将其替换为
QName qname = new QName("http://localhost:8099/dummy1/dummy2?wsdl", "HelloWorldImplService");
我无法弄清楚我在哪里犯了错误。当我跑步时
http://localhost:8099/dummy1/dummy2?wsdl 它工作正常。但是,当我从客户端访问时,我得到了上述异常。请帮忙?
【问题讨论】: