# 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