glassfish
  1. glassfish
  2. GLASSFISH-16299

ServerRtException: exception during WSDL parsing, WSDL Path Incorrect

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1_b43
    • Fix Version/s: 3.1.2_b02
    • Component/s: web_services
    • Labels:
      None

      Description

      Switched from 3.0.1 to 3.1-b43. Target platform is Solaris x64.

      This is an EAR based application with a web service based EJB. At deployment the WSDL cannot be found. The path is wrong but I don't understand why or how this is happening.

      This is the path invalid path to the wsdl:

      /opt/gfish/glassfish3/glassfish/domains/BootGatewayDomainBIGBOY/applications/boot-gateway-ear-1.0.0.6-SNAPSHOT/boot-gateway-ejb-1_0_0_6-SNAPSHOT_jar/META-INF/wsdl/BootGateway_1_0_0.wsdl

      The path is largely correct except the EJB filename should be "boot-gateway-ejb-1.0.0.6-SNAPSHOT_jar". For some reason it has underscores in it, and yet the EAR is correct with dots in the filename.

      [#|2011-04-01T00:06:03.124+0000|SEVERE|glassfish3.1|javax.enterprise.webservices.org.glassfish.webservices|_ThreadID=132;_ThreadName=Thread-1;|Cannot initialize endpoint : error is :
      com.sun.xml.ws.server.ServerRtException: exception during WSDL parsing: file:/opt/gfish/glassfish3/glassfish/domains/BootGatewayDomainBIGBOY/applications/boot-gateway-ear-1.0.0.6-SNAPSHOT/boot-gateway-ejb-1_0_0_6-SNAPSHOT_jar/META-INF/wsdl/BootGateway_1_0_0.wsdl
      at com.sun.xml.ws.server.SDDocumentImpl.create(SDDocumentImpl.java:197)
      at com.sun.xml.ws.server.EndpointFactory.verifyPrimaryWSDL(EndpointFactory.java:470)
      at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:159)
      at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:513)
      at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:568)
      at org.glassfish.webservices.EjbRuntimeEndpointInfo.prepareInvocation(EjbRuntimeEndpointInfo.java:296)
      at org.glassfish.webservices.EjbRuntimeEndpointInfo.initRuntimeInfo(EjbRuntimeEndpointInfo.java:376)
      at org.glassfish.webservices.WebServiceEjbEndpointRegistry.registerEndpoint(WebServiceEjbEndpointRegistry.java:142)
      at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1172)
      at com.sun.ejb.containers.AbstractSingletonContainer.initializeHome(AbstractSingletonContainer.java:239)
      at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
      at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)
      at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
      at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
      at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
      at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
      at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
      at org.glassfish.admingui.common.util.LocalDeploymentFacility$LocalDFCommandRunner.run(LocalDeploymentFacility.java:143)
      at org.glassfish.deployment.client.AbstractDeploymentFacility.deploy(AbstractDeploymentFacility.java:406)
      at org.glassfish.admingui.common.util.DeployUtil.invokeDeploymentFacility(DeployUtil.java:100)
      at org.glassfish.admingui.common.util.DeployUtil.deploy(DeployUtil.java:76)
      at org.glassfish.admingui.common.handlers.DeploymentHandler.deploy(DeploymentHandler.java:191)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
      at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
      at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
      at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
      at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
      at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
      at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
      at javax.faces.component.UICommand.broadcast(UICommand.java:300)
      at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:166)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
      at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
      at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:223)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
      at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
      at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
      at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
      at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: java.io.FileNotFoundException: /opt/gfish/glassfish3/glassfish/domains/BootGatewayDomainBIGBOY/applications/boot-gateway-ear-1.0.0.6-SNAPSHOT/boot-gateway-ejb-1_0_0_6-SNAPSHOT_jar/META-INF/wsdl/BootGateway_1_0_0.wsdl (No such file or directory)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.<init>(FileInputStream.java:106)
      at java.io.FileInputStream.<init>(FileInputStream.java:66)
      at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
      at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
      at java.net.URL.openStream(URL.java:1010)
      at com.sun.xml.ws.api.server.SDDocumentSource$1.read(SDDocumentSource.java:118)
      at com.sun.xml.ws.server.SDDocumentImpl.create(SDDocumentImpl.java:124)
      ... 78 more

      #]

        Activity

        Hide
        spraguep added a comment -

        This is the content of the unpacked EAR

        drwxr-xr-x 3 rml other 512 Mar 31 20:05 META-INF
        drwxr-xr-x 2 rml other 1024 Mar 31 20:05 lib
        rw-rr- 1 rml other 232151 Mar 31 20:05 boot-gateway-ejb-1.0.0.6-SNAPSHOT.jar
        drwxr-xr-x 4 rml other 512 Mar 31 20:05 boot-gateway-ejb-1.0.0.6-SNAPSHOT_jar
        rw-rr- 1 rml other 3298 Mar 31 20:05 boot-gateway-web-1.0.0.6-SNAPSHOT.war
        drwxr-xr-x 4 rml other 512 Mar 31 20:05 boot-gateway-web-1.0.0.6-SNAPSHOT_war

        I assume the introduction of the _ is to keep the name unqiue as the jar is unpacked. Some other process is just replacing all '.' with '_' instead of the last one?

        Show
        spraguep added a comment - This is the content of the unpacked EAR drwxr-xr-x 3 rml other 512 Mar 31 20:05 META-INF drwxr-xr-x 2 rml other 1024 Mar 31 20:05 lib rw-r r - 1 rml other 232151 Mar 31 20:05 boot-gateway-ejb-1.0.0.6-SNAPSHOT.jar drwxr-xr-x 4 rml other 512 Mar 31 20:05 boot-gateway-ejb-1.0.0.6-SNAPSHOT_jar rw-r r - 1 rml other 3298 Mar 31 20:05 boot-gateway-web-1.0.0.6-SNAPSHOT.war drwxr-xr-x 4 rml other 512 Mar 31 20:05 boot-gateway-web-1.0.0.6-SNAPSHOT_war I assume the introduction of the _ is to keep the name unqiue as the jar is unpacked. Some other process is just replacing all '.' with '_' instead of the last one?
        Hide
        spraguep added a comment -

        Workaround is to remove all '.' from module names when the ear is being packaged.

        Using Maven EAR plugin just set bundleFileName for each module.

        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.4</version>
        <configuration>
        <version>6</version>
        <defaultJavaBundleDir>lib</defaultJavaBundleDir>
        <archive>
        <manifest>
        <addClasspath>true</addClasspath>
        <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        </manifest>
        </archive>
        <modules>
        <ejbModule>
        <groupId>mygroup</groupId>
        <artifactId>myartifact1</artifactId>
        <bundleFileName>boot-gateway-ejb.jar</bundleFileName>
        </ejbModule>
        <webModule>
        <groupId>mygroup</groupId>
        <artifactId>myartifact2</artifactId>
        <bundleFileName>boot-gateway-web.jar</bundleFileName>
        </webModule>
        </modules>
        </configuration>
        </plugin>

        Show
        spraguep added a comment - Workaround is to remove all '.' from module names when the ear is being packaged. Using Maven EAR plugin just set bundleFileName for each module. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>2.4</version> <configuration> <version>6</version> <defaultJavaBundleDir>lib</defaultJavaBundleDir> <archive> <manifest> <addClasspath>true</addClasspath> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> <modules> <ejbModule> <groupId>mygroup</groupId> <artifactId>myartifact1</artifactId> <bundleFileName>boot-gateway-ejb.jar</bundleFileName> </ejbModule> <webModule> <groupId>mygroup</groupId> <artifactId>myartifact2</artifactId> <bundleFileName>boot-gateway-web.jar</bundleFileName> </webModule> </modules> </configuration> </plugin>
        Hide
        Bhakti Mehta added a comment -

        This should be fixed in 3.2 trunk and 3.1.1 branch with svn rev 45455. Please try with latest GF and confirm

        Show
        Bhakti Mehta added a comment - This should be fixed in 3.2 trunk and 3.1.1 branch with svn rev 45455. Please try with latest GF and confirm
        Hide
        Bhakti Mehta added a comment -

        Fixed in 3.1.2

        Show
        Bhakti Mehta added a comment - Fixed in 3.1.2

          People

          • Assignee:
            Bhakti Mehta
            Reporter:
            spraguep
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: