IntelliJ IDEA 2017.3 Help

Preparing to Develop a Web Service

This feature is only supported in the Ultimate edition.

On this page:

Before you start

Make sure the Web and JavaEE: WebServices (JAX-WS) bundled plugins are enabled. The plugins are activated by default. If the plugins are disabled, enable them on the Plugins settings page as described in Enabling and Disabling Plugins.


To develop a Web service in IntelliJ IDEA, the corresponding module must be relevantly configured and supplied with all the required libraries and servlet references. This section describes the most common ways to meet these requirements.

Enabling Web Services Development Support through a Dedicated Facet

This approach is applicable if you are going to develop a Web service of the type GlassFish/JAXWS2.X RI/Netro 1.X/JWSDP2.0 or Apache Axis.

Integration with Struts is enabled through the Web and Web Services facets. These dedicated facets contain settings, configuration file paths, and validation rules. This information determines the structure of a module so IntelliJ IDEA detects how to treat the module contents.

A Web Services facet can be only added as a child of a Web facet. Note that only one Web Services facet is allowed in a module.

You can create a new module with the dedicated facets or add the facets to an existing module. In either case, IntelliJ IDEA downloads the predefined WS engine implementation version.

To create a module with a Web Services facet:

  1. Do one of the following:
    • If you are going to create a new project: click Create New Project on the Welcome screen or select File | New | Project.

      As a result, the New Project wizard opens.

    • If you are going to add a module to an existing project: open the project you want to add a module to, and select File | New | Module.

      As a result, the New Module wizard opens.

  2. On the first page of the wizard, in the left-hand pane, select Java. In the right-hand part of the page, specify the JDK that you are going to use.
  3. Under Additional Libraries and Frameworks, select the Web Application checkbox.

    Select the version of the Servlet specification to be supported from the Versions list.

    If you want the deployment descriptor web.xml file to be created, select the Create web.xml checkbox.

  4. Select the WebServices checkbox.
  5. Select the desired WS engine implementation from the Version list.
  6. You'll need a library that implements the selected WS engine. You can choose to use an existing library, create and use a new one, download the library files if they are not yet available on your computer, or postpone setting up the library until a later time.
    • Use library. Select the library to be used from the list (if the corresponding library is already defined in IntelliJ IDEA).

      Create. If the corresponding library files (.jar) are already available on your computer, you can arrange those files in a library and use that new library. To do that, click Create and select the necessary files in the dialog that opens. (Use the Ctrl key for multiple selections.)

      Optionally, click Configure to edit the selected library. (For an existing library the Edit Library dialog will open, for the library that you have just created - the Create Library dialog.)

    • Download. Select this option to download the WS engine implementation. (The downloaded files will be arranged in a library.)

      Optionally, click Configure to edit the library settings and contents. (The Downloading Options dialog will open.)

    • Set up library later. Select this option to postpone setting up the library until a later time.

    Configure. Click this button to edit the settings for the library selected next to Use library or the one that is about to be downloaded.

    Click Next.

  7. Specify the name and location settings. For more information, see Project Name and Location or Module Name and Location.

    Click Finish.

To add a Web Services facet to an existing module:

    Adding the Necessary Libraries to an Existing Modules

    This approach is applicable if the necessary libraries have been previously downloaded.

    1. Open the module settings.
    2. With the desired module selected, click the Dependencies tab.
    3. To enable Web development, click the Add button and select Single-Entry Module Library from the context menu. In the dialog that opens, select the javaee.jar library and click OK.
    4. Click the Add button again, then select Single-Entry Module Library from the context menu. In the dialog that opens, select the javaee.jar library and the required Web service-specific libraries.
      • The location of the javaee.jar library is defined during the installation of IntelliJ IDEA.
      • The location of the Web-service specific libraries is defined during their download.
    5. Click OK when ready.

    Enabling an Extra WS Engine

    Besides most common WS engines, support of which is enabled through dedicated facets, with IntelliJ IDEA you can also use the following ones:

    Moreover, you can use any desired WS engine implementation version instead of restricting yourself to the predefined one.

    To use a custom WS engine:

    1. Download the desired WS engine implementation.
    2. In the Settings/Preferences dialog (Ctrl+Alt+S), click Tools | Web Services in the left pane and specify the path to external web service engines, server name and port, etc. (for details, see Web Services).
    Last modified: 6 March 2018

    See Also