Designer 10.5 | webMethods Service Development Help | Working with Document Types | Working with Publishable Document Types | Making a Document Type Publishable
 
Making a Document Type Publishable
 
About the Associated Provider Definition
About the Envelope Field
About the Properties Field
About Adapter Notifications and Publishable Document Types
Keep the following points in mind when making a document type publishable:
*You can only make an IS document type publishable if you own the lock on the IS document type (or you have it checked out) and you have write permission to the IS document type.
*If you want to publish instances of the document type to a webMethods messaging provider (Broker or Universal Messaging), make sure that a messaging connection alias exists for the provider. If no messaging connection alias exists, all publishable document types will be publishable locally only.
Note:webMethods Broker is deprecated.
*Instances of a publishable document type that uses Universal Messaging the messaging provider cannot be published locally.
*If an IS document type contains a field named _env, you need to delete that field before you can make the IS document type publishable. For more information about the _env field, see About the Envelope Field.
*Broker prohibits the use of certain field names, for example, Java keywords, @, *, and names containing white spaces or punctuation. If you make a document type publishable and it contains a field name that is not valid on the Broker, you cannot access and view the field via any Broker tool. Additionally, Broker cannot apply a filter to the contents of the field. However, the Broker transports the contents of the field, which means that any other Integration Server connected to that Broker has access to the field as it was displayed and implemented on the original Integration Server. Use field names that are acceptable to the Broker. See Administering webMethods Broker for information on naming conventions for Broker elements.
*The protocol buffers encoding type, which can be used with publishable document types that work with Universal Messaging, does not support certain field names or data types. These fields cannot be represented in protocol buffers and will be passed through to Universal Messaging . Universal Messaging cannot filter on the contents of these fields. However, subscribing triggers that receive the document will decode the field and include it in the pipeline. For more information about protocol buffers and supported field names and data types. see Using Protocol Buffers as the Encoding Type.
*An IS document type that contains a Document Reference field or Document Reference list field named “group” cannot become a publishable document type with an encoding type of protocol buffers. The document type can only use the IData encoding type. The name “group” is a reserved name for protocol buffers.
*If a document type contains a _properties field at the top-level and the associated messaging provider is Universal Messaging, Integration Server and Universal Messaging treat the contents of _properties as custom header fields in the published document. For more information about the _properties field, see About the Properties Field.
*Designer makes an IS document type generated from an e-form template a publishable document type automatically.
*You can make a document type publishable when the Linked to source property is set to true. When a document type is linked to its source, you cannot change the structure or contents of the document type. However, Designer does not consider the addition of the _env field to be a structural change that breaks the association with the source file.
*To make a document type publishable
1. In the Package Navigator view of the Service Development perspective, double-click the document type that you want to make publishable.
The document type opens in the Document Type Editor window.
2. In the Properties view, set the Publishable property to True.
3. Next to Connection alias name, do one of the following:
*Select the name of the messaging connection alias with which instances of this document type will be published.
*Select DEFAULT (defaultAliasName) to use the default messaging connection alias.
*Leave the Connection alias name property blank to use the default messaging connection alias.
*To publishable instances of this document locally only, select IS_LOCAL_CONNECTION.
Note:
You can publish a document associated with a Broker connection alias locally by setting the local input parameter of the publishing service to true.
4. If you selected a Universal Messaging connection alias for the Connection alias name property or you selected DEFAULT and the default messaging connection alias is a Universal Messaging connection alias, next to Encoding type, select one of the following to indicate the format used to encode and decode instances of this publishable document type.
Select...
To encode and decode published documents as...
IData
A serialized IData object. An IData object is the universal container that Integration Server uses to receive input and deliver output. An IData object contains an ordered collection of key/value pairs.
When a document is encoded as IData, triggers that subscribe to the document type can specify provider filters for the _properties header only.
Protocol buffers
A protocol buffer. Protocol buffers is an approach to encoding and decoding structured data developed by Google. This is the default.
When a document is encoded as a protocol buffer, triggers that subscribe to the document type can specify provider filters for the body of the message only. Note that the body of the message includes the headers as well.
For more information about setting the encoding type, see About the Encoding Type for a Publishable Document Type.
5. Next to the Discard property, select one of the following to indicate how long instances of this publishable document type remain on the provider before the messaging provider discards them.
Select...
To...
False
Specify that the messaging provider should never discard instances of this publishable document type.
True
Specify that the messaging provider should discard instances of this publishable document type after the specified time elapses.
In the fields next to Time to live specify the time-to-live value and time units.
6. Next to the Storage type property, select the storage method to use for instances of this publishable document type.
Select...
To...
Volatile
Specify that instances of this publishable document type are volatile. Volatile documents are stored in memory.
Guaranteed
Specify that instances of this publishable document type are guaranteed. Guaranteed documents are stored on disk.
For more information about selecting a storage type, see Setting the Document Storage Type for a Publishable Document Type.
7. Select File > Save. Designer displays beside the document type name in the Package Navigator to indicate it is a publishable document type.
8. If you selected protocol buffers as the encoding type and a field in the publishable document type cannot be represented in protocol buffers, Designer displays a warning message to that effect. Click OK to dismiss the message.
Notes:
*In the Connection alias type property, Designer displays Broker or Universal Messaging to indicate which messaging provider is used by the selected alias.
*In the Properties view, the Provider definition property displays the name of the corresponding object created on the messaging provider.
*Universal Messaging creates a channel that corresponds to the document type. The channel name uses the following naming convention: wm/is/folderName/subFolderName/documentTypeName. If a channel with that name already exists, Integration Server does not create a new channel.
Note:
When the Universal Messaging server is in a cluster, Universal Messaging creates the channel on all of the servers in the cluster.
*Broker has a Broker document type that corresponds to the publishable document type. The Broker document type uses the following naming convention: wm::is::folderName::documentTypeName. If a document type with this name already exists on the Broker, Integration Server appends “_1” to the Broker document type name.
*If the messaging connection alias specified in the Connection alias name property is not enabled at the time you make the document type publishable, one of the following occurs:
*If the Connection alias type is Broker, the publishable document type can be used only in local publishes. The Provider definition property displays “Publishable Locally Only”. Later, when the messaging connection alias is enabled, you can create a corresponding Broker document type by pushing the document type to the Broker during synchronization.
*If the Connection alias type is Universal Messaging, the Provider definition property displays the name of the channel. However, the channel may not exist on Universal Messaging. Later, when the messaging connection alias is enabled, you can create a channel by pushing the document type to Universal Messaging during synchronization.
*When you make a document type publishable, the Integration Server adds an envelope field (_env) to the document type automatically. When a document is published, Integration Server and/or the messaging provider populate this field with metadata about the document. For more information about this field, see About the Envelope Field.
*If you selected protocol buffers as the encoding type, Integration Server creates a message descriptor for the publishable document type. For more information about using protocol buffers as the encoding type, see Using Protocol Buffers as the Encoding Type.
*Once a publishable document type corresponds to an associated provider definition, you need to make sure that the document type and provider definition remain in sync. You can update one with changes in the other by synchronizing them. For information about synchronizing document types, see About Synchronizing Publishable Document Types
*If you change messaging connection alias assigned to a publishable document type, you might need to synchronize the publishable document type with its associated provider definition.
*Once a document type is publishable, any changes to the content, structure, or properties can impact the corresponding provider definition, subscribing triggers, or publishing services. For more information about editing a publishable document type, see Important Considerations When Modifying Publishable Document Types.