org.hpccsystems.ws.client.gen.README.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wsclient Show documentation
Show all versions of wsclient Show documentation
This project allows a user to interact with ESP services in a controlled manner. The API calls available under org.hpccsystems.ws.client.platform allow for a user to target ESP's across multiple environments running a range of hpccsystems-platform versions. There is no guarantee that if a user utilizes org.hpccsystems.ws.client.gen generated stub code from wsdl, that the calls will be backwards compatible with older hpccsystems-platform versions.
Generated WS Client code based on HPCC ESP WSDL
=======================
This directory contains versioned stub code generated from WSDLs representing several HPCC ESP services.
This code is not intended to be user consumption. The WsClient classes (org.hpccsystems.ws.client) provide higher level abstraction
into the HPCC web services functionality.
These classes are generated by the axis2-wsdl2code-maven-plugin tool (see wsclient pom)
### High level steps to generate
- Fetch appropriate WSDL file from ESP web service by postpending the "wsdl" url parameter on the target url
- For example http://localhost:8010/WsTopology?wsdl would return the latest WSDL definition for the WsTopology service
- Store WSDLs in the src/main/resources/WSDLs directory
- Update axis2-wsdl2code-maven-plugin section in wsclient pom file
- Example execution section to generate stub from WSDL
```xml
generate-wsclient-stub
org.apache.axis2
axis2-wsdl2code-maven-plugin
${axis2.version}
mydescriptiveid
process-resources
wsdl2code
src/main/java
true
true
adb
org.hpccsystems.ws.client.gen.axis2.myservicename.v1_00
src/main/resources/WSDLs/MyServicename-100.wsdl
sync
1.00
urn:hpccsystems:ws:wsattributes
org.hpccsystems.ws.client.gen.axis2.myservicename.v1_00
...
```
- Kick off maven build targeting the generate-wsclient-stub profile in order to trigger the axis2-wsdl2code-maven-plugin executions
- Generate user consumable wrappers
- A tool is provided to generate wrapper classes for all stub classes generated from previous step
- Use org.hpccsystems.ws.client.utils.Axis2ADBStubWrapperMaker to generate wrappers like the ones found in org.hpccsystems.ws.client.wrappers.gen.*
- Sample Axis2ADBStubWrapperMaker parameters:
```
targetpackage=org.hpccsystems.ws.client.gen.axis2.myservicename.v1_00
outputdir=C:\myprojects\HPCC4J\wsclient\src\main\java
outputpackage=org.hpccsystems.ws.client.wrappers.gen
servicename=myservicename
```