I have lost the whole day and yesterday with this issue... and I still
don't understand what is going on.

What I understand from the stacktrace and the debug I did is that the
DomParser tries to parse thexmldsig-core-schema.xsd:

line 2188 of WSDLReaderImpl: Document doc = builder.parse(inputSource);

and fails to read the DTD (probably the XMLSchema.dtd file referenced in
the xsd) which it tries to retrieve from the remote host:

at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
[rt.jar:1.8.0_31]
[...]
at org.apache.xerces.impl.XMLEntityManager.*startDTDEntity*(Unknown Source)
[xercesImpl-2.9.1-jbossas-2.jar:]


So IF I understand correctly the xsd is picked up locally (probably using
the catalog).

But I still don't understand when and where can the DTD can be picked up
from the catalog since the xerces XMLEntityManager has nothing to do with
the catalog reading which occurs before all this, for example in
the CatalogWSDLLocator of CXF .


Alex



On Thu, Apr 16, 2015 at 11:25 AM, Alx <[email protected]> wrote:

> UPDATE:
>
> Debugging cxf code, I can see that my catalog files are picked (and
> actually in every of the above locations...).
>
> I could not debug any "deeper" because of some issues with my eclipse
> debugger, so I still do not know why CXF (actually the xerces library,
> according to the stacktrace) tries to contact the external host.
>
> Alex
>
> On Thu, Apr 16, 2015 at 9:32 AM, Alx <[email protected]> wrote:
>
>> I also tried the catalog file specified here:
>>
>>
>> http://stackoverflow.com/questions/29148822/how-to-avoid-calling-w3-org-when-creating-an-xsd-schema-validator-in-grails
>>
>> Which mentions exactly my issue.
>>
>> I see nothing different and my main issue is that I do not know how to
>> check if the file is picked up or ignored.
>>
>> Alex
>>
>> On Thu, Apr 16, 2015 at 9:03 AM, Alx <[email protected]> wrote:
>>
>>> I should mention that I tried adding the catalog file:
>>> 1) inside the META-INF of the jar project,
>>> 2) inside the WEB-INF folder of the war project and
>>> 3) inside the META-INF folder of the web project (which probably doesn't
>>> make sense).
>>>
>>>
>>> On Thu, Apr 16, 2015 at 8:55 AM, Alx <[email protected]> wrote:
>>>
>>>> Thank you Dan.
>>>>
>>>> I tried the jax-ws-catalog.xml solution you mentioned but I could not
>>>> make it work.
>>>>
>>>> I have a web application which imports a jar (maven projects). In the
>>>> jar's META-INF folder I have a wsdl folder and inside the wsdl and required
>>>> xsd's. I added inside the META-INF folder the jax-ws-catalog.xml file:
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
>>>> prefer="system">
>>>>
>>>> <rewriteSystem systemIdStartString="http://www.w3.org/";
>>>> rewritePrefix="classpath:META-INF/wsdl/" />
>>>>
>>>> </catalog>
>>>>
>>>> I don't know if the location of the file is correct and also if the
>>>> rewriteSystem element is correct
>>>> (the import that fails is: <xs:import namespace="
>>>> http://www.w3.org/2000/09/xmldsig#";
>>>> schemaLocation="xmldsig-core-schema.xsd" />)
>>>>
>>>> Do you know if there is any way to verify if the catalog file is picked
>>>> up by CXF (i.e. debugging)?
>>>>
>>>> Alex
>>>>
>>>> On Wed, Apr 15, 2015 at 8:27 PM, Daniel Kulp <[email protected]> wrote:
>>>>
>>>>> You will like need to download the various schemas that your wsdl uses
>>>>> including all the included schemas, package them  in your war/jar, and
>>>>> either modify the imports of the schemas to point to your packaged 
>>>>> versions
>>>>> or use a META-INF/jax-ws-catalog.xml file to rewrite the prefixes to point
>>>>> at your location.  For example:
>>>>>
>>>>> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
>>>>> prefer="system">
>>>>>     <rewriteSystem systemIdStartString="
>>>>> http://www.w3.org/2006/03/addressing";
>>>>> rewritePrefix="classpath:/schemas/wsdl"/>
>>>>>     <rewriteSystem systemIdStartString="
>>>>> http://www.w3.org/2005/08/addressing";
>>>>> rewritePrefix="classpath:/schemas/wsdl"/>
>>>>> </catalog>
>>>>>
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>> > On Apr 15, 2015, at 5:50 AM, Alx <[email protected]> wrote:
>>>>> >
>>>>> > My web service works fine on my local machine.
>>>>> >
>>>>> > When I try to deploy to our TEST server (Wildfly) I get the following
>>>>> > exception:
>>>>> >
>>>>> > 12:38:07,090 WARNING
>>>>> > [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (MSC
>>>>> service
>>>>> > thread 1-2) Failed to parse WSDL: javax.wsdl.WSDLException:
>>>>> WSDLException
>>>>> > (at
>>>>> /definitions/import/wsdl:definitions/wsdl:types/xs:schema/xs:schema):
>>>>> > faultCode=PARSER_ERROR: Problem parsing
>>>>> >
>>>>> 'vfs:/C:/dev/wildfly-8.2.0.Final/standalone/deployments/mybank-rs-web.war/WEB-INF/lib/mybank-rs-model-0.0.1-SNAPSHOT.jar/META-INF/wsdl/xmldsig-core-schema.xsd'.:
>>>>> > java.net.UnknownHostException: www.w3.org
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:830)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:864)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:654)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:610)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> >
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:320)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseImport(WSDLReaderImpl.java:470)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> >
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:312)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:261)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:206)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isEmptywsdl(ReflectionServiceFactoryBean.java:2607)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isFromWsdl(ReflectionServiceFactoryBean.java:543)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:547)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
>>>>> > [cxf-rt-core-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:215)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)
>>>>> > [cxf-rt-frontend-simple-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
>>>>> > [cxf-rt-frontend-simple-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:456)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:66)
>>>>> > [jbossws-cxf-server-4.3.2.Final.jar:4.3.2.Final]
>>>>> > at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:539)
>>>>> > [cxf-rt-frontend-jaxws-2.7.13.jar:2.7.13]
>>>>> > at
>>>>> >
>>>>> org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:118)
>>>>> > [jbossws-cxf-server-4.3.2.Final.jar:4.3.2.Final]
>>>>> > at
>>>>> >
>>>>> org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:136)
>>>>> > [jbossws-cxf-server-4.3.2.Final.jar:4.3.2.Final]
>>>>> > at
>>>>> >
>>>>> org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:68)
>>>>> > [jbossws-cxf-server-4.3.2.Final.jar:4.3.2.Final]
>>>>> > at
>>>>> >
>>>>> org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:75)
>>>>> > [wildfly-webservices-server-integration-8.2.0.Final.jar:8.2.0.Final]
>>>>> > at
>>>>> >
>>>>> org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)
>>>>> > at
>>>>> >
>>>>> org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
>>>>> > at
>>>>> >
>>>>> org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
>>>>> > at
>>>>> >
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_31]
>>>>> > Caused by: java.net.UnknownHostException: www.w3.org
>>>>> > at
>>>>> >
>>>>> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at java.net.Socket.connect(Socket.java:589) [rt.jar:1.8.0_31]
>>>>> > at java.net.Socket.connect(Socket.java:538) [rt.jar:1.8.0_31]
>>>>> > at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
>>>>> [rt.jar:1.8.0_31]
>>>>> > at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
>>>>> [rt.jar:1.8.0_31]
>>>>> > at sun.net.www.http.HttpClient.New(HttpClient.java:308)
>>>>> [rt.jar:1.8.0_31]
>>>>> > at sun.net.www.http.HttpClient.New(HttpClient.java:326)
>>>>> [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1168)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:932)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at
>>>>> >
>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
>>>>> > [rt.jar:1.8.0_31]
>>>>> > at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
>>>>> > Source) [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown
>>>>> Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown
>>>>> Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown
>>>>> Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at
>>>>> >
>>>>> org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown
>>>>> > Source) [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at
>>>>> >
>>>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
>>>>> > Source) [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
>>>>> > [xercesImpl-2.9.1-jbossas-2.jar:]
>>>>> > at
>>>>> com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2188)
>>>>> > [wsdl4j-1.6.3.jar:1.6.3]
>>>>> > ... 35 more
>>>>> >
>>>>> >
>>>>> > The web service is then generated without using my WSDL but instead
>>>>> from
>>>>> > the Interface:
>>>>> >
>>>>> > 12:38:07,101 INFO
>>>>> > [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (MSC
>>>>> service
>>>>> > thread 1-2) Creating Service [...] from class [...]
>>>>> RoutingServiceInterface
>>>>> >
>>>>> > Which results in a generated WSDL that is not the original (does not
>>>>> > contain ws-policy elements).
>>>>> >
>>>>> > Any idea how to fix this without internet connection?
>>>>> >
>>>>> > Alex
>>>>>
>>>>> --
>>>>> Daniel Kulp
>>>>> [email protected] - http://dankulp.com/blog
>>>>> Talend Community Coder - http://coders.talend.com
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to