A LEXS 5.0 sample implementation that shows how to send LEXS messages using SOAP where LEXS metadata is kept in the LEXS message.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
sample-messages
src
README.md
pom.xml

README.md

About

The lexs-ws-5.0-flex project provides a starting point for implementers looking to develop Java based LEXS 5.0 SOAP web service endpoints that follow the LEXS 5.0 SSPs. It uses JAXB to generate Java object bindings and JAXWS to implement the web service.

The JAXB bindings are generated using subset of the LEXS 5.0 schemas modified to only contain the top level message elements. Unlike the official LEXS 5.0 schemas, these schemas are modified so the top level LEXS 5.0 message elements contain content placeholders(xsd:any) as their child element rather than specific LEXS 5.0 elements. This design decision provides great flexibility in the use of the Java binding objects.

The SOAP web service endpoints are generated by JAXWS using WSDL files that follow the LEXS 5.0 metadata SSPs. The WSDL files use the modified LEXS 5.0 schemas, mentioned above, to build the Java binding objects.

This project only provides endpoints that look for LEXS metadata in the LEXS message contained in the body of the SOAP Message.

The application provides skeleton code for endpoints to handle a subset of the LEXS 5.0 messages. The following table shows the LEXS 5.0 requests accepted by the application and the responses it returns.

Request Response
domainRequest domainResponse
doPublishAcknowledgedRequest doPublishAcknowledgedResponse
doStructuredSearchRequest doSearchResponse
doTextSearchRequest doSearchResponse
RenewRequest RenewResponse

The endpoints for the accepted requests will always return the same response. The goal of this implementation is to provide an example of how to generate endpoints that follow the LEXS 5.0 SSPs, and show how to access the LEXS metadata in the incoming message. It is not meant to show how to process the incoming LEXS message. Processing of the incoming SOAP message is left as an exercise for the implementer.

Techologies Used

  • JAVA 1.8
  • JAXB 2.2.7
  • JAXWS 2.2.7
  • Maven 3

Configuration

To work with Java 8 you will need to add jaxp.properties file in the <JAVA_HOME>/jre/lib directory. In that file add the following: javax.xml.accessExternalSchema = all

To Build

Use maven to build the project

mvn clean install

The target directory will contain the file lexs-ws-jaxws-service.war that you can deploy on your web application server.

How to view WSDLs on the Webserver

  • http://SERVER_NAME:8080/lexs-ws-jaxws-service/services/de?wsdl
  • http://SERVER_NAME:8080/lexs-ws-jaxws-service/services/pd?wsdl
  • http://SERVER_NAME:8080/lexs-ws-jaxws-service/services/sr?wsdl
  • http://SERVER_NAME:8080/lexs-ws-jaxws-service/services/snsm?wsdl

To Test

Deploy war file to web application server Use SoapUI project to tests /src/test/resources/LEXS-5-0-Flex-soapui-project.xml