[
https://issues.jboss.org/browse/JBWS-3809?page=com.atlassian.jira.plugin....
]
Alessio Soldano commented on JBWS-3809:
---------------------------------------
The user who reproduced this is having endpoints declared as follows:
@WebService(name = "QualificationAndAlternativeSynchronizerService", portName =
"QualificationSynchronizerServiceV2Port", serviceName = "dispate2Web",
targetNamespace = "http://ws2.dispate.sync.centerware.mobilexag.de/")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = Use.LITERAL, parameterStyle =
ParameterStyle.WRAPPED)
public class QualificationAndAlternativeSynchronizerServiceBean implements
QualificationAndAlternativeSynchronizerService {
...
@WebService(name = "BasicUpdateTaskService", portName =
"BasicUpdateTaskServicePort", serviceName = "dispate2Web",
targetNamespace = "http://ws2.dispate.sync.centerware.mobilexag.de/")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL,
parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public class BasicUpdateTaskServiceBean implements BasicUpdateTaskService {
...
ejb-jar.xml:
...
<session id="QualificationSynchronizerServiceV2Bean">
<display-name>QualificationSynchronizerServiceV2Bean</display-name>
<ejb-name>QualificationSynchronizerServiceV2Bean</ejb-name>
<business-local>de.mobilexag.product.dispatch.ws2.QualificationAndAlternativeSynchronizerService</business-local>
<ejb-class>de.mobilexag.product.dispatch.ws2.QualificationAndAlternativeSynchronizerServiceBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
...
<session id="BasicUpdateTaskServiceBean">
<display-name>BasicUpdateTaskServiceBean</display-name>
<ejb-name>BasicUpdateTaskServiceBean</ejb-name>
<business-local>de.mobilexag.product.dispatch.ws2.basicupdate.BasicUpdateTaskService</business-local>
<ejb-class>de.mobilexag.product.dispatch.ws2.basicupdate.BasicUpdateTaskServiceBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
AbstractDeployment#addEndpoint's check on urlPattern performed on
wrong data
----------------------------------------------------------------------------
Key: JBWS-3809
URL:
https://issues.jboss.org/browse/JBWS-3809
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-cxf, jbossws-integration
Reporter: Alessio Soldano
Fix For: jbossws-cxf-4.3.1, jbossws-cxf-5.0
We currently have a check on urlPattern uniqueness in a given deployment unit that is
performed in the container integration layer (AbstractDeployment#addEndpoint). The
urlPattern there is not the actual urlPatter that will eventually be used for the
endpoints in case of ejb3 ws deployments (see
WSIntegrationProcessorJAXWS_POJO#processAnnotation which computes the urlPatter using the
@WebService annotation only when no ServletMetadata is found & matched).
If the deployment contains multiple endpoints declaring the same serviceName, the
deployment fails. Attempts to override the urlPattern (by specifying a port-component-uri
in jboss-webservices.xml or by adding @WebContext(urlPattern="...") to the
endpoint) do not work, likely because those are considered only later when running the
URLPatternDeploymentAspect.
{noformat}
2014-06-30 14:00:41,434 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4)
MSC000001: Failed to start service
jboss.deployment.subunit."project-ear-4.0.0-SNAPSHOT-oracle-10g.ear"."product-dispatch-ejb-4.0.0-SNAPSHOT.jar".PARSE:
org.jboss.msc.service.StartException in service
jboss.deployment.subunit."project-ear-4.0.0-SNAPSHOT-oracle-10g.ear"."product-dispatch-ejb-4.0.0-SNAPSHOT.jar".PARSE:
JBAS018733: Failed to process phase PARSE of subdeployment
"product-dispatch-ejb-4.0.0-SNAPSHOT.jar" of deployment
"project-ear-4.0.0-SNAPSHOT-oracle-10g.ear"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166)
[wildfly-server-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_05]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_05]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_05]
Caused by: java.lang.IllegalArgumentException: JBAS015533: Web Service endpoint
de.mobilexag.product.dispatch.ws2.QualificationAndAlternativeSynchronizerServiceBean with
URL pattern /dispate2Web is already registered. Web service endpoint
de.mobilexag.product.dispatch.ws2.basicupdate.BasicUpdateTaskServiceBean is requesting the
same URL pattern.
at
org.jboss.as.webservices.metadata.model.AbstractDeployment.addEndpoint(AbstractDeployment.java:60)
at
org.jboss.as.webservices.metadata.model.JAXWSDeployment.addEndpoint(JAXWSDeployment.java:27)
at
org.jboss.as.webservices.deployers.WSIntegrationProcessorJAXWS_POJO.processAnnotation(WSIntegrationProcessorJAXWS_POJO.java:143)
at
org.jboss.as.webservices.deployers.AbstractIntegrationProcessorJAXWS.deploy(AbstractIntegrationProcessorJAXWS.java:74)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)
[wildfly-server-8.1.0.Final.jar:8.1.0.Final]
... 5 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)