[
https://issues.apache.org/jira/browse/CXF-5792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14025284#comment-14025284
]
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: https://issues.apache.org/jira/browse/CXF-5792
> 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
(v6.2#6252)