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.