我正在部署一个Web应用程序,它通过WebLogic容器中的jax-ws访问某些远程Web服务。在进行Web服务调用之前,我在WebLogic控制台上看到了这些消息
Aug 30, 2011 6:48:21 PM weblogic.wsee.jaxws.framework.policy.advertisementimpl.AdvertisementHelperImplregisterExtension WARNING: Registering oracle.j2ee.ws.wsdl.extensions.addressing.AddressingExtensionRegistry extension failed; java.lang.ClassNotFoundException: oracle.j2ee.ws.wsdl.extensions.addressing.AddressingExtensionRegistry
Aug 30, 2011 6:48:21 PM weblogic.wsee.jaxws.spi.WLSServiceDelegate addWsdlDefinitionFeature SEVERE: Failed to create WsdlDefinitionFeature for wsdl location: http://192.168.192.80:19100/acme/ws/FooBarService?wsdl, error: com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException, message: 2 counts of InaccessibleWSDLException.
这让我觉得Web服务客户端代码存在问题,但是尽管存在错误,但web服务仍能正常运行。我正在使用此代码创建Web服务客户端
FooBarService service = new FooBarService(
new URL("http://192.168.192.80:19100/acme/ws/FooBarService?wsdl"),
new QName("http://www.acme.com/acmews", "FooBarService"));
FooBarServiceSoap port = service.getFooBarServiceSoap();
这些错误消息意味着什么,我应该担心它们吗?
答案 0 :(得分:1)
在WEB-INF中创建文件夹类,因此在类中创建文件夹META-INF。 结构将是:WEB-INF / classes / META-INF。
将文件jax-ws-catalog.xml放入META-INF。
将文件file.wsdl放入META-INF。
文件jax-ws-catalog.xml必须包含:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system"><system systemId="http://localhost/wsdl/file.wsdl" uri="file.wsdl"/></catalog>
现在,您必须将地址更改为服务类中的http://localhost/wsdl/file.wsdl。
当系统在http://localhost/wsdl/file.wsdl查找wsdl时,它将被重定向到本地文件。