wlw-manifest.xml Configuration File

The wlw-manifest.xml file provides information about the server resources referenced in an EAR file built with the wlwBuild command. Server administrators should examine the wlw-manifest.xml file to determine the resources necessary for successful deployment. For detailed information about using the wlw-manifest.xml file in deployment, see How Do I: Deploy a WebLogic Workshop Application to a Production Server?

Note: When you use iterative builds, the builds do not include a clean step. To ensure an accurate wlw-manifest.xml file, make sure your final build includes a clean step. Otherwise, the contents of the wlw-manifest.xml may not be correct.

General Structure

<wlw-manifest>
    <project>
        <async-request-queue>
        <async-request-error-queue>
        <top-level-component>
            <conversation-state-table>
                <column>
                    <column-name>
                    <column-type>
            <external-callbacks>
                <control>
                    <role-name>
            <roles-allowed>
                <role-name>
            <roles-referenced>
                <role-name>
            <topic-subscription-table>

<wlw-manifest>

The root level element of the wlw-manifest.xml file.

<wlw-manifest>
    <project>

Syntax

<wlw-manifest>
<!--
Child elements specifying the individual projects within the application EAR.
-->
</wlw-manifest>

Attributes

none.

Hierarchy

Parents: none.

Children: <project>.

<project>

Defines an individual project within the EAR file.

<wlw-manifest>
    <project>
        <async-request-queue>
        <async-request-error-queue>
        <top-level-component>

Syntax

<project
    name="stringName"     >
<!--
Child elements defining the JMS queues and EJBs (the compiled products of web services) within the project.
-->
</project>

Attributes

Attribute Description

name

Required string.

Hierarchy

Parents: <wlw-manifest>.

Children: <async-request-queue>, <async-request-error-queue>, <top-level-component>.

<async-request-queue>

Defines the JMS queue where asynchronous requests to web services and business processes are queued.

<wlw-manifest>
    <project>
        <async-request-queue>

Syntax

<async-request-queue> queueNameString </async-request-queue>

Attributes

none.

Hierarchy

Parents: <project>.

Children: none.

<async-request-error-queue>

Defines the JMS queue where errors associated with asynchronous requests to web services and business processes are queued.

<wlw-manifest>
    <project>
        <async-request-queue>

Syntax

<async-request-queue> queueNameString </async-request-queue>

Attributes

none.

Hierarchy

Parents: <project>.

Children: none.

<top-level-component>

Defines resources for a top-level component (JWS, JPD or control) of the project.

<wlw-manifest>
    <project>
        <top-level-component>
            <conversation-state-table>
            <external-callbacks>
            <roles-allowed>
            <roles-referenced>
Syntax

<top-level-component
    class-name="classString"
    component-type="[ JWS | JPD | Control ]"
    run-as-role="roleString"
>
<!--
Child elements defining the resources and security configuration for the top-level component.
-->
</top-level-component>

Attributes

Attribute Description

class-name

Required string. The class name of the EJB

component-type Required string. Possible values are JWS, JPD, or Control.
run-as-principal Optional string. A security principal. This class runs with the permissions equivalent to the specified principal.
run-as-role Optional string. A security role. This class runs with permissions equivalent to the specified role.

Hierarchy

Parents: <project>.

Children: <conversation-state-table>, <external-callbacks>, <roles-allowed>, <roles-referenced>.

<conversation-state-table>

Defines a database table to hold conversation state data for a web service or business process. Administrators must create these tables on the server where the component resides.

<wlw-manifest>
    <project>
        <top-level-component>
            <conversation-state-table>

Syntax

<conversation-state-table
    table-name="nameString"
>
<!-- Child elements defining the table's columns.
-->
</conversation-state-table>

Attributes

Attribute Description

table-name

Required string. Defines the name of the conversational state table.

Hierarchy

Parents: <top-level-component>.

Children: <column>.

<column>

Defines column information for a single column of a conversation state data table.

<wlw-manifest>
    <project>
        <top-level-component>
            <conversation-state-table>
                <column>

Syntax

<column>
<!--
Child elements defining column information.
-->
</column>

Attributes

none.

Hierarchy

Parents: <conversation-state-table>.

Children: <column-name>, <column-type>.

<column-name>

Defines the name of a single column of a conversation state data table.

<wlw-manifest>
    <project>
        <top-level-component>
            <conversation-state-table>
                <column>
                    <column-name>

Syntax

<column-name> stringColumnName </column-name>

Attributes

none.

Hierarchy

Parents: <column>.

Children: none.

<column-type>

Defines the data type of a single column of a conversation state data table.

<wlw-manifest>
    <project>
        <top-level-component>
            <conversation-state-table>
                <column>
                    <column-type>

Syntax

<column-type> dataTypeString </column-type>

Attributes

none.

Hierarchy

Parents: <column>.

Children: none.

<external-callbacks>

Defines information pertaining to call backs directed at this component.

<wlw-manifest>
    <project>
        <top-level-component>
            <external-callbacks>
                <control>
                    <role-name>

Syntax

<external-callbacks>
<!--
Child elements defining the control that handles callbacks and the roles required for callback access.
-->
</external-callbacks>

Attributes

none.

Hierarchy

Parents: <top-level-component>.

Children: <control>.

<control>

Defines the control that handles callbacks for a top-level component.

<wlw-manifest>
    <project>
        <top-level-component>
            <external-callbacks>
                <control>
                    <role-name>

Syntax

<control
    control-path="pathString"
>
<!--
Child element defining the roles neccessary for calling back the component.
-->
</control>

Attributes

Attribute Description

control-path

Required string. Path to the control.

Hierarchy

Parents: <external-callbacks>.

Children: <role-name>.

<role-name>

Defines a role necessary to callback the top-level component.

<wlw-manifest>
    <project>
        <top-level-component>
            <external-callbacks>
                <control>
                    <role-name>

Syntax

<role-name> roleString </role-name>

Attributes

none.

Hierarchy

Parents: <control>.

Children: none.

<roles-allowed>

Defines a role necessary to invoke the top-level component. The roles defined here do not need to be identical to the roles required to callback the component.

<wlw-manifest>
    <project>
        <top-level-component>
            <roles-allowed>
                <role-name>

Syntax

<roles-allowed>
<!--
Child elements listing the roles required to invoke the top-level component.
-->
</roles-allowed>

Attributes

none.

Hierarchy

Parents: <top-level-component>.

Children: <role-name>.

<role-name>

A single role required to access a top-level component.

<wlw-manifest>
    <project>
        <top-level-component>
            <roles-allowed>
                <role-name>

Syntax

<role-name> roleString </role-name>

Attributes

none.

Hierarchy

Parents: <roles-allowed>.

Children: none.

<roles-referenced>

The top-level component may access other resources using the credentials of the role names specified.

<wlw-manifest>
    <project>
        <top-level-component>
            <roles-referenced>
                <role-name>

Syntax

<roles-referenced>
<!--
Child elements listing the roles referenced.
-->
</roles-referenced>

Attributes

none.

Hierarchy

Parents: <top-level-component>.

Children: <role-name>.

<role-name>

Defines one role referenced by the top-level component.

<wlw-manifest>
    <project>
        <top-level-component>
            <roles-referenced>
                <role-name>

Syntax

<role-name> roleString </role-name>

Attributes

none.

Hierarchy

Parents: <roles-referenced>.

Children: none.

<topic-subscription-table>

When the application includes a JMS topic, this table keeps track of which conversation ID's are subscribed to which topic.

<wlw-manifest>
    <project>
        <top-level-component>
            <topic-subscription-table>

Syntax

<topic-subscription-table table-name="table_name_string"/>

Attributes

Attribute Description

table-name

Required string. The database table name.

Hierarchy

Parents: <top-level-component>.

Children: none.

Example

The following example is the wlw-manifest.xml file generated when selected web services from the project SamplesApp/WebServices are compiled into an EAR file.

<?xml version="1.0" encoding="UTF-8"?>
<con:wlw-manifest xmlns:con="http://www.bea.com/2003/03/wlw/config/">
    <con:project name="WebServices">
        <con:async-request-queue>WebServices.queue.AsyncDispatcher</con:async-request-queue>
        <con:async-request-error-queue>WebServices.queue.AsyncDispatcher_error</con:async-request-error-queue>
        <con:top-level-component class-name="async.Buffer" component-type="JWS">
            <con:conversation-state-table table-name="JWS_WEBSERVICES_ASYNC_BUFFER"/>
            <con:external-callbacks/>
            <con:security-roles>
                <con:role-name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            </con:security-roles>
        </con:top-level-component>
        <con:top-level-component class-name="async.Conversation" component-type="JWS">
            <con:conversation-state-table table-name="JWS_ERVICES_ASYNC_CONVERSATION"/>
            <con:external-callbacks>
                <con:control control-path="helloAsync$callback"/>
            </con:external-callbacks>
            <con:security-roles>
                <con:role-name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            </con:security-roles>
        </con:top-level-component>
        <con:top-level-component run-as-principal="weblogic" run-as-role="Administrators" class-name="security.roleBased.createUser.createUser" component-type="JWS">
            <con:external-callbacks/>
            <con:security-roles>
                <con:role-name>Administrators</con:role-name>
            </con:security-roles>
        </con:top-level-component>
        <con:top-level-component class-name="security.roleBased.VeriCheck" component-type="JWS">
            <con:conversation-state-table table-name="JWS_CURITY_ROLEBASED_VERICHECK"/>
            <con:external-callbacks>
                <con:control control-path="bankControl$callback"/>
            </con:external-callbacks>
            <con:security-roles>
                <con:role-name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            </con:security-roles>
        </con:top-level-component>
    </con:project>
</con:wlw-manifest>

Related Topics

wlwBuild Command

wlw-config.xml Configuration File