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.
<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>
The root level element of the wlw-manifest.xml file.
<wlw-manifest>
<project>
<wlw-manifest>
<!--
Child elements specifying the individual projects within the application EAR.
-->
</wlw-manifest>
Parents: none.
Children: <project>.
Defines an individual project within the EAR file.
<wlw-manifest>
<project>
<async-request-queue>
<async-request-error-queue>
<top-level-component>
<project
name="stringName" >
<!--
Child elements defining the JMS queues and EJBs (the compiled products of web services) within the project.
-->
</project>
Attribute | Description |
---|---|
name |
Required string. |
Parents: <wlw-manifest>.
Children: <async-request-queue>, <async-request-error-queue>, <top-level-component>.
Defines the JMS queue where asynchronous requests to web services and business processes are queued.
<wlw-manifest>
<project>
<async-request-queue>
<async-request-queue> queueNameString </async-request-queue>
Parents: <project>.
Children: none.
Defines the JMS queue where errors associated with asynchronous requests to web services and business processes are queued.
<wlw-manifest>
<project>
<async-request-queue>
<async-request-queue> queueNameString </async-request-queue>
Parents: <project>.
Children: none.
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>
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. |
Parents: <project>.
Children: <conversation-state-table>, <external-callbacks>, <roles-allowed>, <roles-referenced>.
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>
<conversation-state-table
table-name="nameString"
>
<!-- Child elements defining the table's columns.
-->
</conversation-state-table>
Attribute | Description |
---|---|
table-name |
Required string. Defines the name of the conversational state table. |
Parents: <top-level-component>.
Children: <column>.
Defines column information for a single column of a conversation state data table.
<wlw-manifest>
<project>
<top-level-component>
<conversation-state-table>
<column>
<column>
<!--
Child elements defining column information.
-->
</column>
Parents: <conversation-state-table>.
Children: <column-name>, <column-type>.
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>
<column-name> stringColumnName </column-name>
Parents: <column>.
Children: none.
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>
<column-type> dataTypeString </column-type>
none.
Parents: <column>.
Children: none.
Defines information pertaining to call backs directed at this component.
<wlw-manifest>
<project>
<top-level-component>
<external-callbacks>
<control>
<role-name>
<external-callbacks>
<!--
Child elements defining the control that handles callbacks and the roles required for callback access.
-->
</external-callbacks>
none.
Parents: <top-level-component>.
Children: <control>.
Defines the control that handles callbacks for a top-level component.
<wlw-manifest>
<project>
<top-level-component>
<external-callbacks>
<control>
<role-name>
<control
control-path="pathString"
>
<!--
Child element defining the roles neccessary for calling back the component.
-->
</control>
Attribute | Description |
---|---|
control-path |
Required string. Path to the control. |
Parents: <external-callbacks>.
Children: <role-name>.
Defines a role necessary to callback the top-level component.
<wlw-manifest>
<project>
<top-level-component>
<external-callbacks>
<control>
<role-name>
<role-name> roleString </role-name>
Parents: <control>.
Children: none.
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>
<roles-allowed>
<!--
Child elements listing the roles required to invoke the top-level component.
-->
</roles-allowed>
Parents: <top-level-component>.
Children: <role-name>.
A single role required to access a top-level component.
<wlw-manifest>
<project>
<top-level-component>
<roles-allowed>
<role-name>
<role-name> roleString </role-name>
Parents: <roles-allowed>.
Children: none.
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>
<roles-referenced>
<!--
Child elements listing the roles referenced.
-->
</roles-referenced>
none.
Parents: <top-level-component>.
Children: <role-name>.
Defines one role referenced by the top-level component.
<wlw-manifest>
<project>
<top-level-component>
<roles-referenced>
<role-name>
<role-name> roleString </role-name>
Parents: <roles-referenced>.
Children: none.
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>
<topic-subscription-table table-name="table_name_string"/>
Attribute | Description |
---|---|
table-name |
Required string. The database table name. |
Parents: <top-level-component>.
Children: none.
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>