Envelope Editor

The Envelope Editor is a component that can be plugged into the Apache SOAP transports. On the server side, it is embedded into the RPC and MessageRouterServlets. On the client side, it is embedded in the FilterTransport, which implements the SOAPTransport interface. WebSphere Application Server - Express provides a PluggableEnvelopeEditor, which you can use to plug in some editing components such as signature and verification.

Description of the factory class to instantiate Envelope Editors

A factory class creates Envelope Editors at run time. The factory class is called DSigFactory. The DSigFactory class uses an editor configuration file, and creates an instance of Envelope Editor. The factory class and the configuration file are specified in /QIBM/UserData/WebASE/ASE5/instance_name/installedApps/node_name/
earfile_name/soapsec.war/WEB-INF/web.xml, where instance_name is the root directory of your WebSphere Application Server - Express instance.

The factory class is described under the <servlet id="Servlet_17"> and <servlet id="Servlet_2"> elements:

<display-name>Apache-SOAP-SEC</display-name>
<description>SOAP Security Enablement WAR</description>
<servlet id="Servlet_1">
   <servlet-name>rpcrouter</servlet-name>
   <display-name>Apache-SOAP Secure RPC Router</display-name>
   <description>no description</description>
   <servlet-class>com.ibm.soap.server.http.WASRPCRouterServlet</servlet-class>
   <init-param id="InitParam_1">
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
   </init-param>
   <init-param id="InitParam_2">
      <param-name>EnvelopeEditorFactory</param-name>
      <param-value>com.ibm.soap.dsig.dsigfactory.DSigFactory</param-value>
         </init-param>
         <init-param id="InitParam_3">
            <param-name>SOAPEvnelopeEditorConfigFilePath</param-name>
            <param-value>conf/sv-editor-config.xml</param-value>
         </init-param>
</servlet>
<servlet id="Servlet_2">
   <servlet-name>messagerouter</servlet-name>
   <display-name>Apache-SOAP Secure Message Router</display-name>
   <servlet-class>com.ibm.soap.server.http.WASMessageRouterServlet</servlet-class>
   <init-param id="InitParam_5">
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
   </init-param>
   <init-param id="InitParam_6">
      <param-name>EnvelopeEditorFactory</param-name>
      <param-value>com.ibm.soap.dsig.dsigfactory.DSigFactory</param-value>
   </init-param>
   <init-param id="InitParam_7">
      <param-name>SOAPEvnelopeEditorConfigFilePath</param-name>
      <param-value>conf/sv-editor-config.xml</param-value>
  </init-param>
</servlet>

EnvelopeEditorFactory is a factory class. SOAPEnvelopeEditorConfigFilePath is a configuration file for Envelope Editor.

Enabling Envelope Editor

On the client side, the configuration of the Envelope Editor is explicitly programmed. On the server side, the transport hook is enabled automatically in the soapsec.war file when you add the init parameter to the RPC and Message router servlets for the EnvelopeEditorFactory. This entry in the web.xml for the soapsec.war file is added automatically when you enable an application for SOAP and indicate the service is secure.

Configuration file of Envelope Editor

The configuration file, sv-editor-config.xml is located in /QIBM/UserData/WebASE/ASE5/instance_name/installedApps/node_name/
ear_file_name/soapsec.war/conf/sv-editor-config.xml, where earfile_name is the name of your Enterprise Archive (EAR) file. Under the SOAPEnvelopeEditorConfig element, there are two optional elements: incoming and outgoing. The incoming and outgoing element definitions look like this example:

<incoming class="com.ibm.xml.soap.security.dsig.SOAPVerifier">
   <init-param>
      <param-name>filename</param-name>
      <param-value>conf/sv-ver-config.xml</param-value>
   </init-param>
</incoming>
<outgoing class="com.ibm.xml.soap.security.dsig.SOAPSigner">
   <init-param>
      <param-name>filename</param-name>
      <param-value>conf/sv-sig-config.xml</param-value>
   </init-param>
</outgoing>

The incoming element specifies a class that edits incoming messages and a configuration file for the editing class. The outgoing element specifies a class for outgoing message and a configuration file.

Changing the configuration

You do not have a digital signature for response messages if you remove the outgoing element from /QIBM/UserData/WebASE/ASE5/instance_name/installedApps/node_name/
earfile_name/soapsec.war/conf/sv-editor-config.xml and remove the incoming element from /QIBM/UserData/WebASE/ASE5/instance_name/installedApps/node_name/
ear_file_name/soapsec.war/conf/cl-editor- config.xml, where ear_file_name is the name of your Enterprise Archive (EAR) file.

Note: Examples may be wrapped for display purposes.