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.
- JAVA 1.8
- JAXB 2.2.7
- JAXWS 2.2.7
- Maven 3
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
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.
- 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
Deploy war file to web application server Use SoapUI project to tests /src/test/resources/LEXS-5-0-Flex-soapui-project.xml