cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rebecca Searls (JIRA)" <>
Subject [jira] [Commented] (CXF-5792) WSDLGetUtils Customization
Date Mon, 09 Jun 2014 15:26:02 GMT


Rebecca Searls commented on CXF-5792:

The provided patch is a refactoring of org.apache.cxf.frontend.WSDLGetInterceptor 
and org.apache.cxf.frontend.WSDLGetUtils in order to support this feature.

WSDLGetInterceptor has been minimally touched.  Interface WSDLGetInterceptorExtension
has been created to allow a customized WSDLGetUtil class to be provided.

The existing WSDLGetInterceptor.getDocument creats a new instance of WSDLGetUtils
each time it is called.  The new method getWsdlGetUtil supports this behavior for 
a custom WSDLGetUtils class.  This is an undesirable practice.  It is unclear if 
this behavior is still required?

The WSDLGetUtils.getDocument method has been heavily refactored, but the other
methods have been relatively untouched.  The original WSDLGetUtils.getDocument method
was performing both wsdl file write and read and xsd file read.  These functions
have been refactored into methods, writeWSDLDocument and readXSDDocument respectively. 
The code that determines which of these task to preform has been refactored as well.
Interface WSDLDocumentUtils has been created to allow customization of WSDLGetUtils. 

There are now 2 getDocument methods.  One to support legacy code which has an 
obsolete input parameter, ctxUri.  This method is now just a wrapper method to one 
without this parameter.

I have concerns about methods getWSDLIds and getSchemaLocations because they each 
are creating an new instance of this class to process a wsdl file.  This is an 
undesirable practice.  If 3rd parties are using these methods and they have 
customized this class then they would also need to be aware that they would want 
to override these methods with their customized class.  It is unclear if this 
behavior is still required by these 2 methods?    

> WSDLGetUtils Customization
> --------------------------
>                 Key: CXF-5792
>                 URL:
>             Project: CXF
>          Issue Type: New Feature
>          Components: Simple Frontend
>            Reporter: Rebecca Searls
>         Attachments: jbossws.patch
> JbossWS requests the ability to customize the published URL of the soap:address
> location written to the wsdl file.
> We propose doing this by replacing the existing WSDLGetUtils in WSDLGetInterceptor
> in the following manner.
>     for (Endpoint ep : getService().getEndpoints().values()) {
>       final List<Interceptor<? extends Message>> inList = ep.getInInterceptors();
>         for (Interceptor<? extends Message> in : inList) {
>           if (in instanceof WSDLGetInterceptor) {
>             ((WSDLGetInterceptor)in).setWsdlGetUtil(new WSDLSoapAddressRewriteUtils());
>           }
>         }
>     }

This message was sent by Atlassian JIRA

View raw message