1 Reply Latest reply on Aug 4, 2009 5:15 PM by Bruno Santos

    jax-ws-catalog.xml fails on Linux

    Bruno Santos Newbie

      Hi all!

      We've created an end-point under MS windows. When deploying it on Linux we get the following error:


      Caused by: javax.xml.ws.WebServiceException: Failed to access the WSDL at: file:/C:/path/to/client//META-INF/wsdl/Webservice.wsdl. It failed with:
      /C:/path/to/client//META-INF/wsdl/Webservice.wsdl.


      The same error appear on MS Windows platform but the addition of the jax-ws-catalog.xml was enough to fix it and everything works just fine on this platform.

      Here is the META-INF/jax-ws-catalog.xml data:

      
      <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
       <system systemId="file:/C:/path/to/client//META-INF/wsdl/Webservice.wsdl" uri="wsdl/Webservice.wsdl"/>
      </catalog>
      
      



      We are running JBoss 4.2.3 GA with METRO 3.1.1 GA WS stack.

      Is there any work around for this? Am I missing anything?

      Thanks,
      Bruno

        • 1. Re: jax-ws-catalog.xml fails on Linux
          Bruno Santos Newbie

          Just for prosperity... a possible workaround.

          As it seems there might be some issues handling the "file:/" URL. The workaround solution is to have ANT or wsimport "wsdlLocation" parameter point to a fake 'http://' URL and then have it mapped in the catalog.

          For example, if we set the wsdlLocation from in the ANT script to "http://my.fake.address/to/interface.wsdl" then the catalog will look like:

          
          <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
           <system systemId="http://my.fake.address/to/interface.wsdl" uri="wsdl/Webservice.wsdl"/>
          </catalog>
          
          


          Another possible workaround is to have the jars exploded and the wsdlLocation set to relative path... but its a wii bit messed up.