1

我无法解决这个问题,我尝试导入 com.sun.xml.internal.ws.client.ClientTransportException但我无法导入它。

线程“主”com.sun.xml.internal.ws.client.ClientTransportException 中的异常:服务器发送 HTTP 状态代码 404:未找到

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

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

在 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.j
艾娃:203)

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

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

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

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

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

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

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

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

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

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

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

3 回答 3

7

您不应该尝试导入“内部”包。它不是按设计提供的。

有关更多详细信息,以及临时覆盖缺少的导入以进行测试的方法,或者如果您有特殊要求,请参阅这个类似的问题: com.sun.xml.internal.ws.client 不存在

但实际上,您会希望使用 API 的公开可用部分,而不是内部。

于 2012-11-29T18:51:57.490 回答
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 文件在您的本地 PC 中,请检查它是否运行如下图所示,当您测试 Web 服务时,您可以像这样在浏览器中看到 wsdl url

在此处输入图像描述

于 2017-06-30T10:08:22.640 回答
0

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

于 2016-04-27T10:47:38.207 回答