Adding configurable parameter for Metadata Exchange
---------------------------------------------------

                 Key: AXIS2-2281
                 URL: https://issues.apache.org/jira/browse/AXIS2-2281
             Project: Axis 2.0 (Axis2)
          Issue Type: Improvement
          Components: modules
    Affects Versions: 1.2
            Reporter: Gee Chia
             Fix For: 1.2



This JIRA is to add configrable parameter for Metadata Exchange function. 
Following are the two 
configuration requirements that currently identified:

a. Once "metadataExchange" module is engaged globally in axis2.xml, we need a 
way
   to disable GetMetadata request for a service. 

b. When a GetMetadata request is issued, the /mex:Metadata element returns 
multiple 
   /mex:MetadataSection units. A MetadatSection could be either the embedded 
XML (inline),
   an endpoint reference to a Metadata Resource i.e. MetadataReference, 
   or a URL i.e. Location element. The WS-MEX spec does not define what output 
forms: inline, Location
   or MetadataReference should be returned for a GetMetadata request. 
Currently, MexMessageReceiver
   just default to generating Metadata Sections for all the 3 possible output 
forms as stated 
   in the spec. We need a way to configure the Metadata Section content to 
return for a GetMetadata 
   request. For example, if there is large amount of data, large amount of 
inline xml might not be
   desirable. The <outputform> allows to configure only GetMetadata response 
with Metadata Sections
   of Metadata Reference and Location instead of actual information. 
   


Solution implemented:

 Adding "metadataExchange" element parameter configuration in axis2.xml and 
services.xml,
 allows to support the above configuration needs as well as future needs.

 Following are the configurables items:                                       
    enable attribute - possible values: "false". This is used to disable
                        MEX support for a service. When disabled,      
                        MexDisabledException will be returned to the    
                        sender of GetMetadata request.                  
    outputform element contains optional "dialect" attribute and    
                 required "forms" attribute. possible values for "forms":      
                 inline,location,reference.If not configured, default is       
                 inline,location, and reference.  
  
 Note that the outputform only avoided unnessary processing in creating 
Metadata sections
 for data format that is not needed.                             
     
  As an example, 
  <parameter name="metadataExchange" locked="false">   
       <outputform dialect="http://schemas.xmlsoap.org/wsdl/";             
                 forms="inline,location" />                             
       <outputform forms="reference,location" /> 
  </parameter>                          
 
  If the above configuration is added to the axis2.xml, this means the 
GetMetadata response
  will contain Metadata Sections of actual WSDL data, and URL for the WSDL 
dialect, and
  for other dialects such as policy, schema, etc., only Metadata Sections with 
  MetadataReference and Location will be included in the response.

 The order of precedence for the output form  will be similar to the data 
locator look-up:
         a. dialect specific at service level i.e. configured in services.xml   
 
         b. service level  i.e. without dialect attribute specified
         c. dialect specific at global level i,e, configured in axis2.xml
         d. service level  i.e. without dialect attribute specified
         e. default output forms to all: inline, location, reference

Summary of code changes:

New class:  org.apache.axis2.mex.MexDisabledException
Modified classes:
  MexConstants - adding constants for configurable items  refere in  
"metadataExchange" parameter
  MexMessageReceiver -  Access the parameter axis configuration and service 
configuration 
                                              Check if MEX is disabled before 
processing
                                               Call 
MexUtil.determineOutputForm(..) instead of default to 
                                                all 3 output forms. 
 MexUtil: Added APIs: determineOutputForm(..), check_MEX_disabled()
                                              


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to