JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS HTTP Binding Component User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

Using the HTTP Binding Component

About the HTTP Binding Component

HTTP/SOAP Binding Architecture

HTTP Binding Component Features

Service Provider Features

Service Consumer Features

Security Features

HTTP Binding Component Example Scenario

Purchase Order Example

SOAP Processing

SOAP 1.1 WSDL Extensibility Elements

SOAP 1.1 Connectivity Element

SOAP 1.1 address Element

SOAP 1.1 Binding Elements

SOAP 1.1 binding Element

SOAP 1.1 operation Element

SOAP 1.1 body Element

SOAP 1.1 fault Element

SOAP 1.1 header and headerfault Elements

SOAP 1.2 WSDL Extensibility Elements

SOAP 1.2 Connectivity Element

SOAP 1.2 address Element

SOAP 1.2 Binding Elements

SOAP 1.2 binding Element

SOAP 1.2 operation Element

SOAP 1.2 body Element

SOAP 1.2 fault Element

SOAP 1.2 header and headerfault Elements

WS-I Basic Profile 1.1

HTTP Processing

HTTP WSDL Extensibility Elements

HTTP Connectivity Element

HTTP address Element

HTTP Binding Elements

HTTP binding Element

HTTP operation Element

HTTP urlEncoded Element

HTTP urlReplacement Element

HTTP GET and POST Processing

XML/HTTP GET Processing

Configuring the HTTP Binding Component for HTTP Get Interactions

Binding Details

http:binding Element

http:address Element

http:operation Element

http:urlEncoded Element

http:urlReplacement

Using the HTTP Binding Component with the HTTP POST Method

Configuring the HTTP Binding Component for HTTP Get Interactions

Binding Details

HTTP POST Treatment of http:urlEncoded and http:urlReplacement

HTTP Binding Component Runtime Properties

HTTP Binding Component Client Endpoint Properties

Accessing the HTTP Binding Component Client Endpoint Properties

HTTP BC Client Endpoint Configuration Properties

Using Normalized Message Properties to Propagate Binding Context Information

Using Normalized Message Properties in a BPEL Process

Using Predefined Normalized Message Properties in a BPEL Process

To use predefined normalized message properties in a BPEL process

Adding Additional Normalized Message Properties to a BPEL Process

To add a Normalized Message Property Shortcut to a BPEL process

To edit an NM Property Shortcut

To delete an NM Property Shortcut

To add a Normalized Message Property to a BPEL process

To delete an NM Property

BPEL Code Generation Using NM Properties

Normalized Message Properties

SOAP HTTP Binding Component Specific Normalized Message Properties

Quality of Service (QOS) Features

Configuring the Quality of Service Properties

Message Throttling: Configuring and Using

Configuring the HTTP Binding Component Endpoint for Throttling

Redelivery: Configuring and Using

Using the Tango Web Service Features with the HTTP Binding Component

Configuring Reliable Message Delivery

Installing the Synchronous BPEL Process sample

Configuring Web Services for a Project from the CASA Editor

Configuring the Tango Web Services Attributes exposed by the HTTP Binding Component

Accessing the Tango (WSIT) Web Service Attribute Configuration

Accessing the WS-Policy Attachment Editor for a Specific Endpoint

Server Configuration--Web Service Attributes

Client Configuration -- Web Service Attributes

HTTP Binding Component Security

Using Basic Authentication with the HTTP Binding Component

Basic Authentication Supported Features

Authentication Mechanisms for Consumer Endpoints

WssTokenCompare Username/Password Authentication

Using the Access Manager for Authentication and Authorization

Installing the Access Manager Add-on

Installing Access Manager with Java Application Platform SDK

Configure the HTTP Binding Component to use Access Manager

Using the OpenSSO Web Services Security (WSS) Agent for Authentication and Authorization

Install OpenSSO Enterprise Server

Configure the HTTP Binding Component to use OpenSSO Web Service Security

Using the GlassFish Realm Security to Authenticate the HTTP Client Credentials

Configuring Security Mechanisms

Username Authentication with Symmetric Key

Mutual Certificates Security

Transport Security (SSL)

Message Authentication over SSL

SAML Authorization over SSL

Endorsing Certificate

SAML Sender Vouches with Certificates

SAML Holder of Key

STS Issued Token

STS Issued Token with Service Certificate

STS Issued Endorsing Token

Using Application Variables to Define Name/Value Pairs

Using Application Variables for password protection

Creating a password Application Variable

Using Application Configuration to Configure Connectivity Parameters

To apply a named Config Extension to the Application Configuration

Enhanced Logging

Statistics Monitoring

Using WS-Transaction

Clustering Support for the HTTP Binding Component

HTTP Load Balancer

Configuring the HTTP Binding Component for Clustering

Understanding the ${HttpDefaultPort} Token

Common User Scenarios

Validating HTTP Extensibility Elements from the WSDL Editor

Adding a SOAP Template to a WSDL Document

Adding an HTTP Template to a WSDL Document

Web Service Client Calling an Operation Using HTTP Basic Authentication

Web Service Implementing an Operation Protected by HTTP Basic Authentication

Web Service Client Calling an Operation Using SSL Authentication

Web Service Implements an Operation Protected by SSL Authentication

Using Normalized Message Properties to Propagate Binding Context Information

Normalized Message properties are commonly used to specify metadata that is associated with message content. javax.jbi.security.subject and javax.jbi.message.protocol.type are two examples of standard normalized Message properties defined in the JBI Specification.

Normalized Message properties are used to provide additional capabilities in Open ESB, such as:

Some of the use cases mentioned above require protocol/binding specific properties, typically used by a particular binding component. Other properties are considered common or general purpose properties that all participating JBI components make use of, for example, the message ID property, which can be utilized to uniquely identify or track a given message in the integration.

Using Normalized Message Properties in a BPEL Process

The Normalized Message properties are accessed from the BPEL Designer Mapper view. When you expand a variable's Properties folder it exposes the variable's predefined NM properties, as well as the regular BPEL specific WSDL properties used in correlation sets, assigns, and to build expressions . If the specific NM property you need is not currently listed, additional NM properties can be added.

Using Predefined Normalized Message Properties in a BPEL Process

Predefined Normalized Message properties are ready for use, from a variable's Properties file.

To use predefined normalized message properties in a BPEL process

  1. From the Design View diagram, select the activity with the process you want to edit.
  2. Click Mapper to switch to the Mapper view of the BPEL process.
  3. From the Output pane, expand the Variable you want to edit and its Properties file.

    The Properties file contains the predefined Normalized Message (NM) properties.


    image:Image shows the BPEL Designer Mapper view as described in context
  4. To use a predefined NM Property, select the property and use it to build an expression or an assign.

Adding Additional Normalized Message Properties to a BPEL Process

If the specific NM Property you want is not listed, you can add additional NM properties.

There are two options available when adding NM Properties:

To add a Normalized Message Property Shortcut to a BPEL process

  1. From the Output or Input panes of the BPEL Mapper, expand the node for the variable to which you want to add an NM property. Right-click that variables Properties directory node and select Add NM Property Shortcut from the pop-up menu.

    The Add NM Property Shortcut dialog box appears.

  2. Enter the information for the new NM property into the Add NM Property Shortcut dialog box, as follows:
    1. Property Name: The NM property name (see each binding component's documentation for available NM properties).
    2. Display Name:The display name for the NM property. This is a user-defined name that appears in the Mapper tree. The display name is optional.
      image:Image shows the NM Property Shortcut dialog box
  3. Click OK.

    The new NM property is added to the Mapper tree under the variables Properties directory. The property can now be used in assigns and to build expressions.

To edit an NM Property Shortcut

  1. To edit an existing NM property shortcut, right-click the NM property shortcut in the BPEL Mapper tree and choose Edit NM Property Shortcut in the pop-up menu.

    The Add NM Property Shortcut dialog box appears.

  2. Edit the NM Property Name or Display Name, and click OK.

To delete an NM Property Shortcut

  1. To delete an NM property shortcut, right-click the property in the Mapper tree.
  2. Choose Delete NM Property Shortcut in the pop-up menu.

    The NM Property Shortcut is deleted.

To add a Normalized Message Property to a BPEL process

  1. From the Output or Input panes of the BPEL Mapper, expand the node for the variable to which you want to add an NM property. Right-click that variables Properties directory node and select Add NM Property from the pop-up menu.

    The Add NM Property dialog box appears.

  2. Enter the information for the new NM property in the Add NM Property dialog box, as follows:
    1. Property Name: User-defined property name. This name is displayed in mapper tree and stored in WSDL file.
    2. Type or Element:Displays the property type or element associated with the selected node in the Map Property To tree.
    3. Associate property with message: Specifies with which message type the property is associated.
      • A check mark indicates that the new NM property is associated with all variables of the specified message type. For example, in the image below, the new NM property will be associated with the requestMessage type.

      • Unchecked indicates that the new NM property is associated with all variables of any message type.

    4. Map Property To: The Map Property To tree displays all of the predefined NM properties. This is used to build a query or choose a property type.

      When you select a node within the property tree the Type or Element and Query fields are populated automatically. Valid endpoint nodes are displayed in bold.

    5. New NM Property: Select the New NM Property checkbox to add a specific NM property, and enter the name of the property in the New NM Property field. The new NM property is added to the Map Property To tree.
    6. Sync with tree:When this checkbox is selected, the Query field is automatically synchronized with the selected node in the Map Property To tree.
    7. Query: Displays the query type associated with the selected node in the Map Property To tree.
      image:Image shows the NM Property Shortcut dialog box
  3. Click OK. The new NM property name is added to the tree in the BPEL Mapper, and the NM property is stored in nmPropertiesDefinitions.wsdl as a pair of elements: <vprop:property> and <vprop:propertyAlias>
    image:Image shows the elements of the new NM property in the nmPropertiesDefinitions.wsdl

    The new NM property can now be used in assigns and to build expressions.

To delete an NM Property

  1. To delete a new NM property, right-click the property in the Mapper tree.
  2. Choose Delete NM Property in the pop-up menu.

    The property is deleted.

BPEL Code Generation Using NM Properties

Data copied from an NM property or an NM property shortcut generates code that is similar to the following:

<from variable="inputVar" sxnmp:nmProperty="org.glassfish.openesb.file
.outbound.dcom.username"/>

Data copied from WSDL properties based on NM property generates code that is similar to the following:

<from variable="inputVar" property="ns3:DemoNMProperty"/>

When properties and NM properties are used to build an expression, code similar to the following code is generated:

<from>concat(bpws:getVariableProperty('inputVar', 'ns3:DemoNMProperty'), 
sxnmp:getVariableNMProperty('inputVar','org.glassfish.openesb.file.outbound.dcom.
username'))</from>

An NM property used in a condition generates code that is similar to the following:

<condition>sxnmp:getVariableNMProperty('inputVar', 'my.nmProperty.boolean')</condition>

Normalized Message Properties

Normalized Message properties are either General, available to all participating JBI components, or protocol/binding specific, used by a particular binding component.

Table 19 General Normalized Message Properties

Property Name
Type
Description and Use
org.glassfish.openesb.messaging.groupid
java.lang.String
Uniquely identifies a message with the group to which a message belongs. For example, it applies the RM sequence group number for SOAP messages, or a time stamped file name (where the file record message comes from).

This property is optional.

org.glassfish.openesb.messaging.messageid
java.lang.String
Uniquely identifies a message. For batch processing this might be a record number (for example, a particular record in a file), or a GUID.

This property is mandatory.

org.glassfish.openesb.messaging.lastrecord
java.lang.String
The value is a string representation of boolean ("true" or "false"). This property can be used to signal the last record in a group, e.g. the last record in a RM sequence for SOAP messages, or the last record in a file when multiple record processing is turned on for File BC.

This property is mandatory.

org.glassfish.openesb.exchange.endpointname
java.lang.String
The value a string representation of the endpoint name set on the exchange. This represents the endpoint name of the "owner" of the message, and could be made available by JBI runtime.

SOAP HTTP Binding Component Specific Normalized Message Properties

The following properties are specific to the HTTP (SOAP) Binding Component.

Table 20 SOAP HTTP Binding Component NM Properties

Property Name
Type
Description and Use
org.glassfish.openesb.headers.soap
java.util.Map
The map contains a list of SOAP header elements. The key is the QName of the SOAP header.

The value is a DocumentFragment object. The DocumentFragment has one node in it, the header element itself.

org.glassfish.openesb.inbound.http.headers
java.util.Map
The map contains a list of HTTP headers. The key is the HTTP header name.

The value is the string representation of the HTTP header value.

This property provides all of the HTTP headers that the HTTP BC receives in the incoming message. The map also includes two additional properties that the HTTP Binding Component populates based on the transport context: ClientHostName and ClientPortNumber, which provide the information about the client's host IP address and port number

org.glassfish.openesb.outbound.http.headers
java.util.Map
The map contains a list of HTTP headers. The key being the HTTP header name.

The value is the string representation of the HTTP header value.

This property is used to allow any custom HTTP headers to be propagated to the outgoing service invocations.

org.glassfish.openesb.outbound.custom.properties
java.util.Map
The map contains a list of custom properties*.

The map key is a string.

The map value can be any Object.

org.glassfish.openesb.inbound.address.url
java.lang.String
On the receiving (server) side, this property is populated by the HTTP Binding Component with the server address URL (for example, address URL on soap:address)
org.glassfish.openesb.outbound.address.url
java.lang.String
On the sending (client) side, this property is used to dynamically overwrite the default address defined in the SOAP or HTTP binding WSDL.

The HTTP Binding Component does a basic URL validation on the address set on the property before using it to invoke an external service. If it is an invalid URL, the HTTP BC proceeds with the service invocation using the statically configured address URL.

org.glassfish.openesb.outbound.basicauth.username
java.lang.String
This is a sender (client) side property only.

When set, the user name will be set on the HTTP basic authentication header.

org.glassfish.openesb.outbound.basicauth.password
java.lang.String
This is a sender (client) side property only.

When set, the user name will be set on the HTTP basic authentication header.


Note - The org.glassfish.openesb.custom.properties property is designed to allow custom data to be set on the HTTP/SOAP binding message context. The custom properties on the binding message context can then be made available in the security CallbackHandlers. For example, you can allow custom SAML assertion headers to be set in the SAML CallbackHandler based on the user credentials (application data) set on the binding message context.