Configuring Security Using NetBeans IDE

This section contains the following topics:

Securing the Service

To use the IDE to configure security for a web service and/or a web service operation, perform the following tasks:

  1. Create or open your web service.
  2. If you need an example of how to create a web service, refer to Chapter 2, WSIT Example Using a Web Container and NetBeans.

    NOTE: When creating an application using the wizards in NetBeans and running on GlassFish, the Java EE Version defaults to Java EE 5. This results in an application compliant with JSR-109, Implementing Enterprise Web Services, which can be read at http://jcp.org/en/jsr/detail?id=109. If you select a value other than the default, for example, J2EE 1.4, the application that is created is not JSR-109 compliant, which means that the application is not JAX-WS, but is JAX-RPC.

  3. In the Projects window, expand the Web Services node.
  4. Right-click the node for the web service you want to secure.
  5. Select Edit Web Service Attributes.
  6. When the Web Service Attributes Editor is opened, the WSIT Configuration options display (see Figure 6-1).



Figure 6-1 Web Service Attributes Editor Page

  1. Select Secure Service. This option enables WSIT security for all of the operations of a web service.
  2. For information on how to secure selected operations, refer to Securing an Operation.

  3. Select a Security Mechanism from the list.
  4. Most of the mechanisms are fully functional without further configuration, however, if you'd like to customize the mechanism, click Configure to specify the configuration for that mechanism.

    Options in the Configure dialog are discussed in Security Mechanism Configuration Options

  5. Specify Keystore, Truststore, STS, SSL, and/or user information as required for the selected security mechanism.
  6. Refer to the entry for the selected security mechanism in Table 6-1 for further information. This table summarizes the information that need to be set up for each of the security mechanisms.

  7. Click OK to save your changes.
  8. Run the web application by right-clicking the project node and selecting Run Project.
  9. Verify the URL of the WSDL file before proceeding with the creation of the web service client:
  10. The client will be created from this WSDL file, and will get the service's security policies through the web service reference URL when the client is built or refreshed.

The WSIT Configuration file that is used when the web service is deployed can be viewed by expanding the Web PagesRight ArrowWEB-INF elements of the application in the tree, and then double-clicking the wsit-<package>.<service>.xml file to open it in the editor. The full contents of an example service-side WSIT configuration file can be viewed at Service-Side WSIT Configuration Files.

Steps for configuring an example application are provided for several of the mechanisms. Please see the following sections for a complete example of how to configure a web service and a web service client to use these security mechanisms:

Securing the Client

All of the steps in Securing the Service need to be completed before you create your web service client. The service's security policies are defined in its WSDL. You specify this WSDL file when you create the client application so that the client is configured to work with the service's security mechanism through the web service reference URL when the client is built or refreshed.

To use the IDE to configure security for a web service client, perform the following tasks:

  1. Create a client for your web service.
  2. If you need an example of how to do this, see Creating a Client to Consume a WSIT-Enabled Web Service.

    If you are creating a client for a mechanism that will use SSL, specify the secure port for running the client when completing the New Web Service Client step. To do this, enter https://<fully_qualified_hostname>:8181/<rest_of_url> in the WSDL URL field of the New Web Service Client wizard. For the example, this is the way to specify the secure URL for CalculatorWS web service:
    https://<fully_qualified_hostname>:8181/CalculatorApplication/CalculatorWSService?wsdl

    NOTE: If you prefer to use localhost in place of the fully-qualified hostname when specifying the URL for the service WSDL, you must follow the workaround described in Transport Security (SSL) Workaround.

  3. In the Projects window, expand the client node.
  4. Expand the Web Service References node.
  5. Right-click the node for the web service reference you want to secure.
  6. Select Edit Web Service Attributes.
  7. When the Web Service References Attributes Editor is opened, select the WSIT tab to display the WSIT options (see Figure 6-2).



Figure 6-2 Web Service References Attributes Editor Page for Web Service Clients

  1. Refer to Table 6-2 for a summary of what options are required on the client side. The configuration requirements for the client are dependent upon which security mechanism is specified on the server side.
  2. Click OK to save your changes.
  3. The WSIT configuration information is saved in two files under Source PackagesRight ArrowMETA-INF.

To view the WSIT configuration files, in the tree, drill down from the project to Source PackagesRight ArrowMETA-INF. Double-click on <service>Service.xml or wsit-client.xml to view the contents. The full contents of example client WSIT configuration files can be viewed at Client-Side WSIT Configuration Files.