[JBoss JIRA] (JBWS-3911) Validate value of wsdl-path-rewrite-rule when setting it
by Alessio Soldano (JIRA)
[ https://issues.jboss.org/browse/JBWS-3911?page=com.atlassian.jira.plugin.... ]
Alessio Soldano updated JBWS-3911:
----------------------------------
Fix Version/s: jbossws-cxf-5.1
> Validate value of wsdl-path-rewrite-rule when setting it
> --------------------------------------------------------
>
> Key: JBWS-3911
> URL: https://issues.jboss.org/browse/JBWS-3911
> Project: JBoss Web Services
> Issue Type: Bug
> Components: jbossws-integration
> Affects Versions: jbossws-cxf-5.0.0.Final
> Reporter: Jan Blizňák
> Assignee: Alessio Soldano
> Fix For: jbossws-cxf-5.1
>
>
> There should be some validation when setting value of {{wsdl-path-rewrite-rule}}.
> Possible solution is to call org.jboss.wsf.stack.cxf.addressRewrite.SEDProcessor#newInstance and check for exception.
> Also documentation (and description in management model) could mention both (and the only ones) allowed formats: for substitution s/x/y/ and transliteration y/abc/bca/.
> Example of failing scenario with typo in SED command:
> CLI:
> {code}
> [standalone@localhost:9990 /] /subsystem=webservices:write-attribute(name=wsdl-path-rewrite-rule, value="ss/replace/me/g")
> {"outcome" => "success"}
> [standalone@localhost:9990 /] deploy /home/dev/ws/stack-cxf/modules/testsuite/cxf-tests/target/test-libs/jaxws-samples-wsdd.war
> {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment \"jaxws-samples-wsdd.war\"
> Caused by: java.lang.IllegalArgumentException: invalid script for sed command: ss/replace/me/g"}}}}
> {code}
> SERVER log:
> {code}
> 16:46:38,272 INFO [org.jboss.as.repository] (management-handler-thread - 4) WFLYDR0001: Content added at location /home/dev/ws/wildfly-9.0.0.CR1-SNAPSHOT/standalone/data/content/22/3b58818f8424a1bc34020aa14a9e44c9abdeae/content
> 16:46:38,277 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "jaxws-samples-wsdd.war" (runtime-name: "jaxws-samples-wsdd.war")
> 16:46:38,331 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.unit."jaxws-samples-wsdd.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."jaxws-samples-wsdd.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "jaxws-samples-wsdd.war"
> at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
> 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)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalArgumentException: invalid script for sed command: ss/replace/me/g
> at org.jboss.wsf.stack.cxf.addressRewrite.SEDProcessor.deriveArgs(SEDProcessor.java:126)
> at org.jboss.wsf.stack.cxf.addressRewrite.SEDProcessor.<init>(SEDProcessor.java:46)
> at org.jboss.wsf.stack.cxf.addressRewrite.SEDProcessor.newInstance(SEDProcessor.java:426)
> at org.jboss.wsf.stack.cxf.addressRewrite.SoapAddressRewriteHelper.getRewrittenPublishedEndpointUrl(SoapAddressRewriteHelper.java:92)
> at org.jboss.wsf.stack.cxf.metadata.MetadataBuilder.processAddressRewrite(MetadataBuilder.java:316)
> at org.jboss.wsf.stack.cxf.metadata.MetadataBuilder.build(MetadataBuilder.java:91)
> at org.jboss.wsf.stack.cxf.deployment.aspect.DescriptorDeploymentAspect.generateMetadataFromDeployment(DescriptorDeploymentAspect.java:129)
> at org.jboss.wsf.stack.cxf.deployment.aspect.DescriptorDeploymentAspect.start(DescriptorDeploymentAspect.java:65)
> at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:73)
> at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
> ... 5 more
> 16:46:38,332 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("deploy") failed - address: ({"deployment" => "jaxws-samples-wsdd.war"}) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment \"jaxws-samples-wsdd.war\"
> Caused by: java.lang.IllegalArgumentException: invalid script for sed command: ss/replace/me/g"}}
> 16:46:38,333 ERROR [org.jboss.as.server] (management-handler-thread - 4) WFLYSRV0021: Deploy of deployment "jaxws-samples-wsdd.war" was rolled back with the following failure message:
> {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"jaxws-samples-wsdd.war\".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment \"jaxws-samples-wsdd.war\"
> Caused by: java.lang.IllegalArgumentException: invalid script for sed command: ss/replace/me/g"}}
> 16:46:38,339 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028: Stopped deployment jaxws-samples-wsdd.war (runtime-name: jaxws-samples-wsdd.war) in 5ms
> 16:46:38,339 INFO [org.jboss.as.controller] (management-handler-thread - 4) WFLYCTL0183: Service status report
> WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."jaxws-samples-wsdd.war".INSTALL
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)