You can specify the timestamp for integrity using an XPath expression
when you configure the consumer security constraints for either the response
consumer or the request consumer. The response consumer is configured for
the client, and the request consumer is configured for the server.
Before you begin
Prior to completing this task, you must import your application into
an assembly tool.
For information on how to import
your application, see Importing
enterprise applications.
The following information
explains the difference between using an XPath expression and using keywords
to specify which part of the message to sign:
- XPath expression
- Specify any part of the message using an XPath expression. XPath is a
language that is used to address parts of an XML document. You can find information
on XPath syntax at the following Web site: http://www.w3.org/TR/1999/REC-xpath-19991116.
- Keywords
- Specify only elements within the message using predefined keywords.
About this task
This task is to specify that a timestamp is expected to be added
in an element of the SOAP message that is specified by the XPath language
syntax. The element is expected to be signed with the message part that is
specified in the Required Integrity Dialog window.
Complete the following
steps. You must configure either the client-side extensions in step 2 or the
server-side extensions in step 3.
Procedure
- Start the assembly tool.
- Switch to the Java 2 Platform, Enterprise Edition (J2EE) perspective.
Click Window > Open Perspective > J2EE.
- Optional: Locate the client-side extensions using the
Project Explorer window. The Client Deployment Descriptor window
is displayed. This Web service contains the extensions that you need to configure.
- Expand the Web Services > Client section and double-click the
name of the Web service.
- Click the WS Extension tab and expand the Response Consumer
Configuration section.
- Optional: Locate the server-side extensions using the
Project Explorer window. The Web Services Editor window is displayed.
This Web service contains the extensions that you need to configure.
- Expand the Web Services > Services section and double-click
the name of the Web service.
- Click the Extensions tab and expand the Request Consumer
Service Configuration Details section.
- Expand the Required Integrity section. Integrity refers
to digital signature while confidentiality refers to encryption. Integrity
decreases the risk of data modification when you transmit data across a network.
For more information on digitally signing Simple Object Access Protocol (SOAP)
messages, see XML digital signature
.
- Click Add to specify a timestamp for integrity. The
Required Integrity Dialog window is displayed.
- Specify a name for the integrity element in the Required Integrity
Name field.
- Specify a usage type in the Usage type field. This
field specifies the requirement for the integrity element. The value of this
attribute is either Required or Optional.
- Click Add in the Timestamp section of the Required Integrity
Dialog window.
- Select the Timestamp dialect from the Timestamp section.
The XML Path Language (XPath) dialect specifies the message
part to which the timestamp is added and signed using the XPath expression.
- Select the message part in the Timestamp keyword field to which
the timestamp is added and signed using an XPath expression. For
example, to specify that the timestamp is added to the body and is signed,
you might specify the following expression for the Timestamp keyword:
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/'
and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/
soap/envelope/' and local-name()='Body']
Important: Verify
that your XPath expression syntax is correct.
- If you have not previously defined a message part in the Required
Integrity Dialog window, click Add under the Message Parts section
and define a message part.
- In the Message Parts section, select the message parts keyword.
- Click OK to save the configuration changes.
Note: These
configurations for the consumer and the generator must match.
In
addition to the timestamp, you can specify that the nonce is signed. For more
information, see the following articles:
Important: You must define one message part in the required
integrity if you want to use the timestamp feature for required integrity.