Build SOAP SOEs using IntelliJ
This topic describes how to create, build, and deploy a SOAP server object extension (SOE) under the Maven framework using IntelliJ.
The SOE that you will create in this topic is also provided as a sample, named Simple SOAP SOE in the ArcGIS Enterprise SDK(..\Enterprise
).
Create the SOAP SOE project
To create a SOAP SOE using IntelliJ, complete the following steps:
Ensure that ArcGIS Enterprise SDK, Java, and Maven are all installed on your development environment. See more details in the Installation section.
Launch IntelliJ and choose Create New Project. The New Project wizard appears.
Choose Maven on the left menu. Check the Create from archetype checkbox.
If the
soap-soe-archetype
has already been added, skip this step.Otherwise, click the Add Archetype button on the right, type the following values in the Add Archetype wizard, and then click OK:
GroupId:
com.esri.arcgis.enterprise.sdk
ArtifactId:
soap-soe-archetype
Version:
10.9.1
(use10.9.0
for 10.9 SDK and10.8.1
for 10.8.1 SDK)
Other SOE and SOI archetypes will also be automatically picked up and show up next time when you choose Create from archetype.
The
soap-soe-archetype
is now added. Select this archetype and click Next.Note: Ensure that Project SDK is set to use the supported JDK before you proceed.
Enter the information in the parameters below and click Next:
- Name — simplesoapsoe
- GroupId — entsdksamples.soe
- ArtifactId — simplesoapsoe
Click the + button on the right. Add a Maven property soeName with the value
Java
. Click OK.Simple SOAPSOE Note: You must add the soeName property, which is a required property used for the SOE's class name, otherwise the SOE project can't be built.
Ensure Maven home directory is set to use the supported Maven and the soeName property is added. Click Finish.
A new SOE project is created. You should see
Build Success
on the right of the bottom Run Tool Window.If you see any warnings, you can ignore them for now as long as the project successfully builds (
Build Success
) and generates theentsdksamples.soe
package andJava
class andSimple SOAPSOE IJava
interface under theSimple SOAPSOE src\main\java
folder. You will address those warnings during project build. Continue to build the SOAP SOE project now.
Build the SOAP SOE project
Building an SOE project will package the project's classes, dependencies, and resources into a .soe
file, which can be deployed to ArcGIS Server. Since it's a Maven project, the Maven build lifecycle must be followed to build the SOAP SOE. Read more about project build.
You can build the SOE project in either the Maven tool window or the Terminal tool window.
Because the project is created from soap-soe-archetype
, it automatically loads the boilerplate code that implements a ready-to-use SOE. For now, you can customize the display
and description
of the SOE and leave the rest of the code as is.
Open the SOE class
Java
, located in theSimplesoap SOE src\main\java
folder (see A in the example above).Set the
display
andName description
toJava Simple SOAP SOE
(see B).Now follow these steps to build the project.
To build the project in the Maven tool window, do the following:
a. Click the Maven tab on the right side of IntelliJ (see C).
b. Expand
simplesoapsoe
. You should see Lifecycle, Plugins and Dependencies listed.c. If you don't see Dependencies, click the Reimport All Maven Projects button (see D) on the far left of the tool bar in the Maven tool window.
d. Now you should see Dependencies, and com.esri.arcgis.enterprise.sdk:arcgis-enterprise-sdk:version is listed as one of the dependencies.
e. Expand Lifecycle and click install. You can also click clean and click install for a clean build of the project.
f. The project is built successfully with detailed log messages in the Run tool window (see E).
Alternatively, to build the project in the Terminal tool window, do the following:
a. Click the Terminal tab at the bottom of IntelliJ (see F).
b. Ensure the directory is pointing to the project's root directory.
c. Type
mvn clean install
. This command does a clean build of the project, and you should seeBuild Success
.
Once the build finishes, a new folder named
target
appears in the project's base directory, and you can find the SOE filesimplesoapsoe.soe
and the generated WSDL fileJava
in this folder (see G).Simple SOAPSOE.wsdl
If you would like to add third-party libraries as dependencies, you can add them to the project's pom.xml
(see H). The POM contains project configuration information, such as the Java compiler (JDK) used, plug-ins used, project's dependencies, and project's version. Learn more about POM dependency management.
Note: If the SOAP SOE references classes from a third-party dependency as the SOAP method's parameters or return values, the dependency must be included under both the project's
dependencies
and thesdk-plugin
'sdependencies
in the POM. Learn more details in the Enterprise SDK Maven plugin section.
Deploy the SOE to ArcGIS Server
The SOE you created must be deployed to ArcGIS Server and enabled on a map service. To learn how to deploy an SOE, see the Deploy extensions topic in the ArcGIS Enterprise SDK help. Note that the term “deploy” is used here to mean uploading the .soe file to ArcGIS Server and registering it as an extension to map services. To learn how to enable an SOE on a map service, see the Enable extensions topic of the ArcGIS Enterprise SDK help.