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.

Reply via email to