[jbossws-issues] [JBoss JIRA] (JBWS-3532) WSDL published to wrong directory when path contains blank characters

Alessio Soldano (JIRA) jira-events at lists.jboss.org
Fri Aug 3 06:16:09 EDT 2012


     [ https://issues.jboss.org/browse/JBWS-3532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alessio Soldano updated JBWS-3532:
----------------------------------

    Fix Version/s: jbossws-cxf-4.1

    
> WSDL published to wrong directory when path contains blank characters
> ---------------------------------------------------------------------
>
>                 Key: JBWS-3532
>                 URL: https://issues.jboss.org/browse/JBWS-3532
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-cxf
>    Affects Versions: jbossws-cxf-4.0.2
>         Environment: Windows - probably all versions, particularly Windows XP 32 Bit, Windows 2008 Server 32 Bit & 64 Bit
> Java 1.6.0_27 - 1.6.0_33 (at least)
>            Reporter: Hans-Ulrich Schmidt
>             Fix For: jbossws-cxf-4.1
>
>   Original Estimate: 1 day
>  Remaining Estimate: 1 day
>
> We use JBoss at Fujitsu as platform for our ServerView products. Currently we are shifting from JBoss 5.1 to JBoss 7. While we used  the Metro WS stack with JBoss 5.1, we now want to use the CXF stack. After some adaptation works our web services work fine, except when JBoss is installed in a directory whose path name contains blank characters. In this case the following messages appear in the log file:
> 11:18:25,740 INFO  [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (MSC service thread 1-3) Creating Service {http://schemas.fujitsu.com/serverview/security/2008/07/sts}STSService from WSDL: WEB-INF/wsdl/2008-07/sts.wsdl
> 11:18:26,599 INFO  [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-3) Setting the server's publish address to be http://jbossws.undefined.host:3169/cas/sts/service/v2008_07
> 11:18:26,662 INFO  [org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher] (MSC service thread 1-3) WSDL published to: file:/C:/Program%20Files/Fujitsu/ServerView%20Suite/jboss/standalone/data/wsdl/STS.ear/sts-endpoint.war/2008-07/sts.wsdl
> 11:18:26,771 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.subunit."STS.ear"."sts-endpoint.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."STS.ear"."sts-endpoint.war".INSTALL: Failed to process phase INSTALL of subdeployment "sts-endpoint.war" of deployment "STS.ear"
>         at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
>         at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
>         at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_27]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_27]
>         at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_27]
> Caused by: java.lang.RuntimeException: Cannot publish wsdl to: C:\Program Files\Fujitsu\ServerView Suite\jboss\standalone\data\wsdl\STS.ear\sts-endpoint.war\2008-07\sts.wsdl
>         at org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher.publishWsdlFiles(WSDLFilePublisher.java:107)
>         at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.publishContractToFilesystem(EndpointImpl.java:222)
>         at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:93)
>         at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
>         at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)
>         at org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:117)
>         at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:113)
>         at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:66)
>         at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:74)
>         at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
>         ... 5 more
> Caused by: java.io.FileNotFoundException: C:\Program Files\Fujitsu\ServerView Suite\jboss\standalone\data\wsdl\STS.ear\sts-endpoint.war\2008-07\..\Unversioned\fault.wsdl (The system cannot find the path specified)
>         at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_27]
>         at java.io.FileInputStream.<init>(Unknown Source) [rt.jar:1.6.0_27]
>         at java.io.FileInputStream.<init>(Unknown Source) [rt.jar:1.6.0_27]
>         at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source) [rt.jar:1.6.0_27]
>         at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source) [rt.jar:1.6.0_27]
>         at java.net.URL.openStream(Unknown Source) [rt.jar:1.6.0_27]
>         at org.jboss.ws.common.utils.AbstractWSDLFilePublisher.publishWsdlImports(AbstractWSDLFilePublisher.java:172)
>         at org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher.publishWsdlFiles(WSDLFilePublisher.java:91)
>         ... 14 more
> 11:18:27,021 INFO  [org.jboss.as.server] (management-handler-thread - 7) JBAS015870: Deploy of deployment "STS.ear" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.subunit.\"STS.ear\".\"sts-endpoint.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"STS.ear\".\"sts-endpoint.war\".INSTALL: Failed to process phase INSTALL of subdeployment \"sts-endpoint.war\" of deployment \"STS.ear\""}}
> 11:18:27,224 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment cas-acc-ejb.jar in 213ms
> 11:18:27,255 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment sts-srv-ejb.jar in 243ms
> 11:18:27,318 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment sts-audit.jar in 302ms
> 11:18:29,115 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment sts-endpoint.war in 2097ms
> 11:18:29,255 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment STS.ear in 2248ms
> 11:18:29,271 INFO  [org.jboss.as.controller] (management-handler-thread - 7) JBAS014774: Service status report
> JBAS014777:   Services which failed to start:      service jboss.deployment.subunit."STS.ear"."sts-endpoint.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."STS.ear"."sts-endpoint.war".INSTALL: Failed to process phase INSTALL of subdeployment "sts-endpoint.war" of deployment "STS.ear"
> There problem here is that the apparently missing WSDL file "fault.wsdl" is created in the directory
> C:\Program%20Files\Fujitsu\ServerView%20Suite\jboss\standalone\data\wsdl\STS.ear\sts-endpoint.war\Unversioned\fault.wsdl
> rather than in the correct directory 
> C:\Program Files\Fujitsu\ServerView Suite\jboss\standalone\data\wsdl\STS.ear\sts-endpoint.war\Unversioned\fault.wsdl,
> where it is later on searched for.
> I found no other workaround than to correct the problem in line 86 of this source file:
> [jbossws-cxf-server-4.0.2.GA]/src/main/java/org/jboss/wsf/stack/cxf/deployment/WSDLFilePublisher.java
> Original:
>  83          Document doc = getWsdlDocument(bus, def);
>  84          writeDocument(doc, wsdlFile);
>  85
>  86          URL wsdlPublishURL = wsdlFile.toURI().toURL();
>  87          log.info("WSDL published to: " + wsdlPublishURL);
>  88
>  89          // Process the wsdl imports
> Workaround:
>  83          Document doc = getWsdlDocument(bus, def);
>  84          writeDocument(doc, wsdlFile);
>  85
>  86          //URL wsdlPublishURL = wsdlFile.toURI().toURL(); incorrect! Workaround below:
>  87          URL wsdlPublishURL = new URL(URLDecoder.decode(wsdlFile.toURI().toURL().toExternalForm(), "UTF-8"));
>  88          log.info("WSDL published to: " + wsdlPublishURL);
>  89
>  90          // Process the wsdl imports

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossws-issues mailing list