我正在尝试在此处调用Web服务:http : //publicbetawebservices.hotel.de/V2_8/FreeHotelSearchWebService.svc?WSDL
我已经使用wsimport和JDK1.6.0_29生成了代理类。我的wsimport命令行是:
wsimport.exe" -keep -B-XautoNameResolution -d E:\mapov\mapov-dev\shared\hotel_info\ http://publicbetawebservices.hotel.de/V2_8/FreeHotelSearchWebService.svc?WSDL
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码尝试调用该服务:
QName qName = new QName("http://webservices.hotel.de/V2_8", "FreeHotelSearchWebService");
FreeHotelSearchWebService service = new FreeHotelSearchWebService(new URL("http://publicbetawebservices.hotel.de/V2_8/FreeHotelSearchWebService.svc"), qName);
IFreeHotelSearchWebService sws = service.getBasicHttpBindingIFreeHotelSearchWebService();
String version = sws.getWebservicesVersion();
System.out.println("Hotel.info web service version: " + version);
Run Code Online (Sandbox Code Playgroud)
但是我得到以下异常:
线程“主”中的异常javax.xml.ws.WebServiceException:不支持的端点地址:在com.sun.xml.ws上的com.sun.xml.ws.api.pipe.TransportTubeFactory.create(TransportTubeFactory.java:148)上。 com.sun.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:641)的com.sun.xml.ws.api.pipe.Fiber的transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:134) com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)的_doRun(Fiber.java:600)com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber。 com.sun.xml.ws.client.Stub.process(Stub.java:323)处com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:161)处的java:482) com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)上的.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:113)。xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144)在$ Proxy42.getWebservicesVersion(未知源)
在大多数示例中,我已经看到生成的代码包含getPort()方法,但尚未为此类生成此代码。我的代码错误还是我需要以其他方式运行wsimport?我还尝试了调用FreeHotelWebService构造函数而没有产生相同异常的参数。