You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ben Reif (JIRA)" <ji...@apache.org> on 2009/06/02 13:58:07 UTC

[jira] Created: (AXIS2-4362) If WSDL has multiple services, WarBasedAxisConfigurator uses incorrect one

If WSDL has multiple services, WarBasedAxisConfigurator uses incorrect one
--------------------------------------------------------------------------

                 Key: AXIS2-4362
                 URL: https://issues.apache.org/jira/browse/AXIS2-4362
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: deployment
    Affects Versions: 1.4
            Reporter: Ben Reif


We have a WSDL file that defines multiple services. Each service is deployed within a war as a seperate *.aar file, but they share the same WSDL file. 

In WarBasedAxisConfigurator.populateService(), it calls:
 
WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.

It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.

The  WarBasedAxisConfigurator should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AXIS2-4362) If WSDL has multiple services, DeploymentEngine uses incorrect one

Posted by "Ben Reif (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ben Reif updated AXIS2-4362:
----------------------------

    Description: 
We have a WSDL file that defines multiple services. Each service is deployed within a War as a seperate *.aar file, but they share the same WSDL file. 

In DeploymentEngine.populateService(), it calls:
 
WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.

It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.

The  DeploymentEngine should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

  was:
We have a WSDL file that defines multiple services. Each service is deployed within a war as a seperate *.aar file, but they share the same WSDL file. 

In WarBasedAxisConfigurator.populateService(), it calls:
 
WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.

It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.

The  WarBasedAxisConfigurator should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

        Summary: If WSDL has multiple services, DeploymentEngine uses incorrect one  (was: If WSDL has multiple services, WarBasedAxisConfigurator uses incorrect one)

> If WSDL has multiple services, DeploymentEngine uses incorrect one
> ------------------------------------------------------------------
>
>                 Key: AXIS2-4362
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4362
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.4
>            Reporter: Ben Reif
>
> We have a WSDL file that defines multiple services. Each service is deployed within a War as a seperate *.aar file, but they share the same WSDL file. 
> In DeploymentEngine.populateService(), it calls:
>  
> WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.
> It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.
> The  DeploymentEngine should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4362) If WSDL has multiple services, DeploymentEngine uses incorrect one

Posted by "Ben Reif (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717229#action_12717229 ] 

Ben Reif commented on AXIS2-4362:
---------------------------------

They do match. That's what I mean, it's not looking at the service name in the WSDL or the services.xml. Since DeploymentEngine is not setting the 'serviceName' variable in WSDL11ToAxisServiceBuilder, then when it gets into WSDL11ToAxisServiceBuilder.populateService() it calls the findService(Definition) method. Since 'serviceName', is null it just grabs the first service from the WSDL with a Port, which is not the right one.

> If WSDL has multiple services, DeploymentEngine uses incorrect one
> ------------------------------------------------------------------
>
>                 Key: AXIS2-4362
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4362
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.4
>            Reporter: Ben Reif
>
> We have a WSDL file that defines multiple services. Each service is deployed within a War as a seperate *.aar file, but they share the same WSDL file. 
> In DeploymentEngine.populateService(), it calls:
>  
> WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.
> It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.
> The  DeploymentEngine should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4362) If WSDL has multiple services, DeploymentEngine uses incorrect one

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717067#action_12717067 ] 

Deepal Jayasinghe commented on AXIS2-4362:
------------------------------------------

Well, if the wsdl service name and your service name (in the services.xml) match then the right thing happen.

Thanks,
Deepal

> If WSDL has multiple services, DeploymentEngine uses incorrect one
> ------------------------------------------------------------------
>
>                 Key: AXIS2-4362
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4362
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.4
>            Reporter: Ben Reif
>
> We have a WSDL file that defines multiple services. Each service is deployed within a War as a seperate *.aar file, but they share the same WSDL file. 
> In DeploymentEngine.populateService(), it calls:
>  
> WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new WSDL11ToAxisServiceBuilder(wsdlStream, null, null);.
> It passes in null for the service QName, even though it has the value of serviceName and it could get the target namespace from the services.xml or the WSDL definition. If you pass in null, this causes the WSDL11ToAxisServiceBuilder.findService() to just pick the first <wsdl:service> that has a Port. If you have multiple services defined in your WSDL file, this results in the incorrect AxisService objects being put into the AxisConfiguration since it's always just using the information from the first one that it finds with a port.
> The  DeploymentEngine should determine the correct service QName in this case and pass that into the WSDL11ToAxisServiceBuilder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.