[ 
https://issues.apache.org/activemq/browse/CAMEL-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58247#action_58247
 ] 

Donal Arundel commented on CAMEL-2311:
--------------------------------------

Thanks willem, 
I would have thought it was possible to do this in a backwardly compatible way, 
essentially you would just be promoting the visibility of a specific type to a 
globally declaration level.
I think It would still be possible to support exisisting users spring config 
files, i.e. the new schema would superset of the config of the old schema.

However I confess to not realising that CXf itself currenlty has the same 
limitation, so it does seem "unfair" to raise this JIRA against CAMEL CXF 
without also addressing it in CXF core :-)

As an aside when folks are developing spring based schemas for CXF or other 
products they probably want to take into account that folks will want to 
support refactoring of config and declare the types concerned at a level that 
supports it.
Glancing through some CXF schemas this issue seems pervasive, and as a result a 
lot of the flexability that spring  config can give is lost, which will make 
administration more difficult.

Anyway, I am happy to leave this for now. I might reopen this issue when/if the 
CXF schema is adjusted to support this.

Regards,
    Donal

> Allow CAMEL cxfEndpoint sub-elements to be factored out 
> --------------------------------------------------------
>
>                 Key: CAMEL-2311
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2311
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-cxf
>    Affects Versions: Future
>            Reporter: Donal Arundel
>            Assignee: Willem Jiang
>            Priority: Minor
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> The objective is to be able to factor out cxfEndoint sub-elements  (such as 
> features ) in order that they can be shared via bean references with other 
> camel CXF endpoints.
> e.g. via <bean ref="someid">
> A camel cxf  schema snippet is below.
> The features element (for example)  cannot be declared outside of the 
> cxfEndoint scope without violating the schema.
> Global types should be defined for each sub-element  to allow adressability 
> e.g. rather than the features element being declared directly as 
> "xsd:anyType",
> it could be declared as a distinct  featuresType which is defined globally 
> and can be refernced via <bean ref=someid"> for various cxfEndpoint elements 
> as required.
>  
> My intial requriement was to have this for features, which is probably the 
> most useful  - but It probably would make sense to address this for all 
> approrpiate cxfEndpoint sub-elements at the same time.
> - <xsd:element name="cxfEndpoint">
> - <xsd:complexType>
> - <xsd:complexContent>
> - <xsd:extension base="beans:identifiedType">
> - <xsd:all>
>   <xsd:element name="binding" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="features" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0" 
> /> 
>   <xsd:element name="handlers" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="properties" type="beans:mapType" minOccurs="0" /> 
>   <xsd:element name="schemaLocations" type="schemasType" minOccurs="0" /> 
>   <xsd:element name="serviceBean" type="xsd:anyType" minOccurs="0" /> 
>   <xsd:element name="serviceFactory" type="xsd:anyType" minOccurs="0" /> 
>   </xsd:all>
>   <xsd:attributeGroup ref="cxf-beans:beanAttributes" /> 
>   <xsd:attribute name="address" type="xsd:string" /> 
>   <xsd:attribute name="bindingId" type="xsd:string" /> 
>   <xsd:attribute name="bus" type="xsd:string" /> 
>   <xsd:attribute name="serviceClass" type="xsd:string" /> 
>   <xsd:attribute name="transportId" type="xsd:string" /> 
>   <xsd:attribute name="wsdlURL" type="xsd:string" /> 
>   <xsd:attribute name="endpointName" type="xsd:QName" /> 
>   <xsd:attribute name="serviceName" type="xsd:QName" /> 
>   </xsd:extension>
>   </xsd:complexContent>
>   </xsd:complexType>

-- 
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