import com.sun.xml.internal.ws.client.ClientTransportException,无法读取此导入

时间:2012-11-29 18:35:05

标签: java import jaxb

我无法解决此问题,我尝试执行 import com.sun.xml.internal.ws.client.ClientTransportException ,但我无法导入它。

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 404: Not Found

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:296)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:245)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.j
ava:203)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122)

at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)

at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626)

at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585)

at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570)

at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467)   

at com.sun.xml.internal.ws.client.Stub.process(Stub.java:308)

at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146)

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)

at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129)

3 个答案:

答案 0 :(得分:7)

您不应该尝试导入“内部”包。它不是设计可用的。

有关详细信息,请参阅此类似问题,以及暂时覆盖缺少导入以进行测试的方法,或者如果您有特殊要求: com.sun.xml.internal.ws.client does not exist

但实际上,您需要使用API​​的公开部分,而不是内部部分。

答案 1 :(得分:1)

您应该检查WSDL url是否有效它意味着,在Web服务客户端类中。见上面的代码。

static {
    URL url = null;
    WebServiceException e = null;
    try {
        url = new 
        URL("http://localhost:8084/SoapServer_test_4/CustomerService?wsdl");
    } catch (MalformedURLException ex) {
        e = new WebServiceException(ex);
    }
    CUSTOMERSERVICE_WSDL_LOCATION = url;
    CUSTOMERSERVICE_EXCEPTION = e;
}

在上面的代码中,检查WSDL url是否有效,或者检查WSDL是否已在该url中托管。如果你的wsdl文件在你的本地电脑上,请检查它如下图you can see the wsdl url in your browser like this when you test the webservice

enter image description here

答案 2 :(得分:0)

您可以使用 jaxws-rt.jar 来实现此目的。 jre系统库中的rt.jar将限制编译器访问它的一些包。