[ http://issues.apache.org/jira/browse/AXIS2-965?page=all ]
Lori VanGulick updated AXIS2-965: --------------------------------- Attachment: AXIS2-965patch.txt I have created a patch with the implementation described in the initial comments. I have also added a testcase to test both WSDL11ToAllAxisServicesBuilder and WSDL20ToAllAxisServicesBuilder. > Need a way to build AxisServices for all ports/services in a wsld. > ------------------------------------------------------------------ > > Key: AXIS2-965 > URL: http://issues.apache.org/jira/browse/AXIS2-965 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Improvement > Components: core > Reporter: Lori VanGulick > Attachments: AXIS2-965patch.txt > > > WSDL 11 allows multiple services per wsdl file, and multiple ports per > service. Currently unless a service and port name are specified, > WSDL11ToAxisServiceBuilder will only return the first port on the first > service. > I would like to provide an extension to WSDL11ToAxisServiceBuilder that would > take a wsdl file and return a List of AxisService objects, one for each port > in the wsdl. > To make this more efficient I will need to make some minor changes to > org.apache.axis2.description.WSDL11ToAxisServiceBuilder.java, i.e. > - restructuring in the populateService method so that all the processing > that is not specific to an AxisService is only done one time. Move this code > to a new method, setup(). Setup code will include reading in the wsdl file, > processing policies, imports, etc. > - make some methods and fields protected instead of private so they can > be accessed by subclasses. > The new extension is proposed to be > org.appache.axis2.description.WSDL11ToAllAxisServicesBuilder. It has a > public method, popluateAllServices() which operates as follows > - calls the setup() method on the parent. > - iterates through all the services and all the ports in the wsdl, setting > serviceName and portName on the parent. > - calls up to populateService() on the parent. This will return an > AxisService specific to the service and port name specified. > - changes the name on the AxisService to the port name instead of the > service name, so it can be uniquely identified. > - returns the List of AxisService objects, one for each port in the wsdl > I will also make corresponding changes for WSDL 2.0 in > org.apache.axis2.description.WSDL20ToAxisServiceBuilder.java and create > WSDL20ToAllAxisServicesBuilder.java. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]