Java 在Weblogic 10.3上调用WebService时未实现方法

Java 在Weblogic 10.3上调用WebService时未实现方法,java,web-services,weblogic-10.x,Java,Web Services,Weblogic 10.x,我开发了一个Web服务客户端,用于连接部署在WebLogic10.3上的Web服务。当尝试实例化客户机对象时,总是会得到相同的异常 java.lang.UnsupportedOperationException: Method not implemented. at java.net.URLStreamHandler.openConnection(URLStreamHandler.java:80) at java.net.URL.openConnection(URL.java:9

我开发了一个Web服务客户端,用于连接部署在WebLogic10.3上的Web服务。当尝试实例化客户机对象时,总是会得到相同的异常

java.lang.UnsupportedOperationException: Method not implemented.
    at java.net.URLStreamHandler.openConnection(URLStreamHandler.java:80)
    at java.net.URL.openConnection(URL.java:992)
从URLStreamHandler查看方法实现时,我发现它只是抛出了异常

protected URLConnection openConnection(URL u, Proxy p) throws IOException {
throw new UnsupportedOperationException("Method not implemented.");
}

我假设WebLogic需要您传递一个库,其中包含一个子类UrlStreamHandler,该子类提供openConnection实现,但不确定它应该是哪一个。

您项目中的其他库可能已注册了一个UrlStreamHandler实现,该实现未使用代理实现openConnection方法参数

默认的URLStreamHandler类是位于rt.jar中的sun.net.www.protocol.http.Handler

在我的例子中,我使用了jcifs库,它注册了自己的http处理程序,但没有实现openConnection(URL,Proxy)方法

因此,您应该提供一个带有openConnection(URL、代理)实现的处理程序,或者如果可能,您应该使用默认处理程序


注意:在我的例子中,url.openConnection方法是从com.sun.xml.internal.ws.api.EndpointAddress(rt.jar)调用的。在Java6中,这会引发UnsupportedOperationException。在java 7中,此异常在EndpointAddress类中捕获,然后在不使用代理的情况下调用url.openConnection。因此,更新到java 7也应该可以解决这个问题。

我在使用未覆盖openConnection(URL u,Proxy p)的旧WL客户端时遇到了这个异常,有时会先加载weblogic处理程序。解决方案是升级到更新的WL版本,并覆盖该方法