<< Click to Display Table of Contents >> Navigation: Webservices > Access |
This section explains how DTS Webservice functionality is accessed.
All operation URLs for DTS Webservices will have the following form:
[APP_SERVER_URL]/[WEBSERVICE_NAME]/[MAIN_ELEMENT]/[OPERATION_ELEMENTS]
APP_SERVER_URL |
The URL where the Application Server has its Webservice root |
WEBSERVICE_NAME |
The name given to the generated Webservice WAR e.g.: prj1_coolservice_DEV_v3 |
MAIN_ELEMENT |
A required imbrication element that is specified in the Webservice Details Dialog before deployment e.g.: app This element is required by the CXF platform and cannot be omitted, only customized
|
OPERATION_ELEMENTS |
A sequence of URL path elements that points to the specific method of the specific asset to access and which also sets any necessary in-line parameters. The Asset Elements can be customized using the controls in the Webservice Asset Details Drawer |
Asset elements vary by the service and operation types, and we will detail them here.
A DTS SOAP service uses a single endpoint, and therefore a single URL to access all of its functionality. Details regarding operations and parameters will be included in the SOAP Request Body.
As such, the OPERATION_ELEMENTS part of the URL for SOAP services is not present, the endpoint URL resolving to simply:
[APP_SERVER_URL]/[WEBSERVICE_NAME]/[MAIN_ELEMENT]
Example:
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/app
REST services identify operations through their specific URLs, which can also codify parameter values in the case of GET requests. We will look at each request type separately.
The OPERATION_ELEMENTS part of a REST Remote Routine Call URL is fully customizable from the Webservice Routine Details Drawer.
By default, it is [CONNECTOR_NAME]/[NATIVE_ROUTINE_NAME]
If all of the routine's inputs are supported as Query Parameters, this will be a GET request and the inputs can be fed inline.
Example:
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/app/postgres/a_complicated_proc?arg1=something&arg2=something_else
The OPERATION_ELEMENTS for these operations are split into two parts, both customizable in the Webservice Stream Operations Drawer.
[URL_PREFIX]/[METHOD_NAME]
URL_PREFIX will apply to the URLs for all operations on a given collection. Its default is [CONNECTOR_NAME]/[NATIVE_COLLECTION_NAME]
Example (up to and including URL_PREFIX):
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/app/postgres/nice_table
METHOD_NAME identifies the specific operation to be executed:
Operation |
Default |
Example |
Open Stream with Inline Parameters |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table?lastname=Smith |
|
Open Stream with Predicate |
stream-with-pred |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table/stream-with-pred |
Get Records from Stream |
stream-get |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table/stream-get? stream_id=569caeaf-5445-4912-9047-add75e80c20f &dts__size=30 |
Get Records with Inline Parameters |
records |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table/records?lastname=Smith& dts__size=15 |
Get Records with Predicate |
records-with-pred |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table/records-with-pred |
Get Record for Key |
{key} |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/postgres/nice_table/11223344 |
The OPERATION_ELEMENTS for these operations are split into two parts, both customizable in the Webservice Topic Operations Drawer.
[URL_PREFIX]/[METHOD_NAME]
URL_PREFIX will apply to the URLs for all operations on a given collection. Its default is [CONNECTOR_NAME]/[NATIVE_TOPIC_NAME]
Example (up to and including URL_PREFIX):
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/app/kafka/some_topic
METHOD_NAME identifies the specific operation to be executed:
Operation |
Default |
Example |
Subscribe |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/kafka/some_topic?group_id=some_group |
|
Subscribe with Properties |
subscribe-props |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/kafka/some_topic/subscribe-props |
Poll |
poll |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/kafka/some_topic/poll? stream_id=569caeaf-5445-4912-9047-add75e80c20f |
Push |
push |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/kafka/some_topic/push?key=some_key&msg=some_msg |
Push Many |
push-many |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/kafka/some_topic/push-many |
Stream closing and querying whether a stream has more records are operations which are independent of the specific collection the stream is opened on, as they only require the stream_id .
As a result, they do not use the COLLECTION_PATH_PREFIX above and are derived from the base service URL instead.
Operation |
Default |
Example |
Stream Has More |
stream-has-more |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/stream-has-more? stream_id=569caeaf-5445-4912-9047-add75e80c20f |
Close Stream |
stream-with-pred |
http://my.tomcat.srv:8080/prj1_coolservice_DEV_v3/ app/stream-close? stream_id=569caeaf-5445-4912-9047-add75e80c20f |