Ampliación de mashups utilizando la extensibilidad diferencial
Puede ampliar un mashup mediante la extensibilidad diferencial.
Procedimiento
- Cree un archivo XML de mashup con entradas del archivo de mashup que se va a sustituir. Este archivo puede tener cualquier nombre y no necesita replicar la estructura de directorios relativa del archivo XML que contiene el mashup que se va a ampliar.
- Copie el archivo XML en el directorio INSTALL_DIR/extensions/app_dir/webpages . Como esta vía de acceso de directorio no forma parte de la instalación proporcionada por la aplicación, créela en el directorio INSTALL_DIR/extensions . El archivo XML de mashup original está presente en el directorio INSTALL_DIR/repository/eardata/app_dir/war/mashupxmls/app_dir .
Cree una clase de servlet
initpara registrar el archivo XML de mashup. Utilice el métodoloadIncrementalMashupXmlen la claseSCUIMashupHelper. El contenido del archivo XML se añade a los mashups respectivos en la pantalla base que se basa enmashup id.Ponga por ejemplo el siguiente mashup suministrado por la aplicación.
Para utilizar la extensibilidad diferencial para el mashup proporcionado por la aplicación, cree un mashup incremental o diferencial con el mismo ID de mashup proporcionado en el siguiente archivo override_mashup.xml que está presente en la carpeta /myapps/override.<mashups> <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList" mashuptype="XAPI" transactional="true"> <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>name="com.ibm.isccs.common.mashups.SCCSBaseMashup"/> <API Name="getOrganizationList"> <Input> <Organization DisplayLocalizedFieldInLocale="xml:CurrentUser:/user/@Localecode" MaximumRecords=""> <OrgRoleList> <OrgRole RoleKey="ENTERPRISE"/> </OrgRoleList> <DataAccessFilter UserId="xml:CurrentUser:/user/@Loginid"/> <OrderBy> <Attribute Desc="N" Name="OrganizationName"/> </OrderBy> </Organization> </Input> <Template> <OrganizationList> <Organization CustomerMasterOrganizationCode="" LocaleCode="" OrganizationCode="" OrganizationName=""> <BillingPersonInfo City="" Country="" ZipCode=""/> </Organization> </OrganizationList> </Template> </API> <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/> <AlternateResourceIds> <AlternateResourceId altResourceId="ISCCSSYS002"/> <AlternateResourceId altResourceId="ISCCRTORD0001"/> <AlternateResourceId altResourceId="ISCORD0001"/> </AlternateResourceIds><AlternateResourceIds> <AlternateResourceId altResourceId="WSCSYS00001"/> <AlternateResourceId altResourceId="WSC000001"/> </AlternateResourceIds> </mashup> </mashups><mashups> <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList" mashuptype="XAPI" transactional="true"> <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>name="com.ibm.isccs.common.mashups.SCCSBaseMashup"/> <API FlowName="MyService"> <Input> <Organization DisplayLocalizedFieldInLocale="xml:CurrentUser:/user/@Localecode" MaximumRecords=""> <OrgRoleList> <OrgRole RoleKey="ENTERPRISE"/> </OrgRoleList> <DataAccessFilter UserId="xml:CurrentUser:/user/@Loginid"/> <OrderBy> <Attribute Desc="N" Name="OrganizationName"/> </OrderBy> </Organization> </Input> <Template> <OrganizationList> <Organization CustomerMasterOrganizationCode="" LocaleCode="" OrganizationCode="" OrganizationName=""> <BillingPersonInfo City="" Country="" ZipCode=""/> </Organization> </OrganizationList> </Template> </API> <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/> <AlternateResourceIds> <AlternateResourceId altResourceId="ISCCSSYS002"/> <AlternateResourceId altResourceId="ISCCRTORD0001"/> <AlternateResourceId altResourceId="ISCORD0001"/> </AlternateResourceIds><AlternateResourceIds> <AlternateResourceId altResourceId="WSCSYS00001"/> <AlternateResourceId altResourceId="WSC000001"/> </AlternateResourceIds> </mashup> </mashups>Si utiliza el método de carga incrementalloadIncrementalMashupXml(/myapps/override/override_mashup.xml, ...), los elementos internos del archivo override_mashup.xml se fusionan en el mashup original y se comporta como si el mashup estuviera codificado de la forma siguiente:<mashups> <mashup id="sample_getOrganizationList"> <API> <Input> </Input> <Template> <OrganizationList> <Organization IsEnterprise ="" OrganizationKey =""/> </Organization> </OrganizationList> </Template> </API> </mashup> </mashups>