User Tools

Site Tools


EASA Web Service Client

An EASA Web Service Client implementation is a computer program that creates requests and receives responses from the EASA Web Service. Interacting with an EASAP via these messages takes the place of the more traditional interaction where a human User modifies inputs and receives output via a web browser. The format of these messages is specified in EASA's WSDL file.

A Web Service Description Language (WSDL) file is an XML-based interface definition which outlines the functionality offered to a web service client implementation. This file describes the service name, message names, parameter inputs, operations, and the structure of returned data.


EASA's Web Service

  • EASA's WSDL file is available on a running EASA Server via,
    • http://hostname:portnumber/easa-ws/service?wsdl

While an implementation of a Web Service Client for an EASAP may be done in any language, EASA provides two reference implementations in Java. These include,

  • .java reference code for two different web service clients
  • javadoc description of the methods
  • .jar file which contains the package com.easa.ws.client.stub

To use either Java reference implementation, download the WSDL file from the server and use a zip archive manager to save it as service.wsdl into the folder below inside the easa-common.jar package,

  • easa-common.jar
    • com\easa\ws\client\stub
  • For the Plate2d.jar example,
    • Publish the examples/tutorial_cant_plate EASAP (The directory varies according to EASA version)

If the server name or ip address changes, download and save the new WSDL file to update hostname and port therein.

  • Using a Java IDE like Eclipse,
    • Create a new Project→A Java Application with a name other than Plate2D
    • Under the project's Libraries add easa-common.jar
    • Open the default java file that is created replace the file contents with the contents of Plate2D.java
      • Edit the URL,
        • EasaService.setUrl("file:///c:/EASA/service.wsdl")
      • Add a username/password pair
        • ((BindingProvider) easap).getRequestContext().put(
          • BindingProvider.USERNAME_PROPERTY, “user1” );
        • ((BindingProvider) easap).getRequestContext().put(
          • BindingProvider.PASSWORD_PROPERTY, “password1” );

Alternative 'Web Service' implementations

Alternatively, if a customer wishes to implement a client in another high-level language such as C, C++, VBA, a SOAP reference implementation may be helpful.

SoapUI (https://www.soapui.org/) is a free tool that will create a SOAP implementation and a reference client or a test client automatically from a WSDL file. The resulting file contains XML SOAP messages for the EASA Web Service and may be useful to a developer.


Configure the 'easaws' User

Regardless of the particular implementation, the EASA Server will need to be configured to accept a Web Service Client as a valid User .

  • Go to the page below and create the easaws user,
    • EASA→Administrator→Configure→Users
      • Login→easaws
      • Password→easaws

Obtain a license from EASA Technical Services that specifically activates the Web Service Client as a valid User (support@easasoftware.com).


Configure HTTP/tomcat authentication

Finally, configure HTTP authentication records in the two files below.

  • Add a <security constraint/> and <security role/> for easaws to the file,
    • <EASAROOT>\webapps\easa-ws\WEB-INF\web.xml
<webapp ...
  <security-constraint>
    ...
  </security-constraint>
  ...
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Tomcat</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>easaws</role-name>
    </auth-constraint>
    <user-data-constraint>
      <!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
      <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
  </security-constraint>
  <security-role>
    <role-name>easaws</role-name>
  </security-role>
...
</webapp>

  • Add a <role/> for easaws and assign a username/password pair to it,
    • <EASAROOT>\tomcat\conf\tomcat-users.xml
<tomcat-users>
...
  <role rolename="easaws"/>
  <user username="user1" password="password1" roles="easaws"/>
...
</tomcat-users>

Page Tools