Metadata Service (v12.2.5)
The metadata services are used to retrieve metadata from a web service connector. The response from a GetMetadata request determines the possible mapping options within an OPM project which use a that web service connector via one of the Hub's configured connections. Another method, CheckAlive, simply allows the Hub to verify that a connection's configuration is valid and that the service is responding.
WSDL
Download the Current Version of the Web Service Connector WSDL
Namespace
http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types
Actions
Headers
CheckAlive
This action allows Intelligent Advisor Hub to check whether the web service connector is online and responding satisfactorily to the credentials that the web service connection has been configured with.
The web service will receive a SOAPAction of CheckAlive with a Security header (if the connection was configured with a username and password), and the body will contain an empty element named check-alive-request with the namespace http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types.
The web service receiving the request should parse the request and verify the credentials within the security header. If the credentials do not pass, the response should be an error such as HTTP 401 Unauthorized. The response is expected to be an HTTP 200 OK with the body containing an empty element named check-alive-response if the service accepts the username and password supplied. Alternately if the SOAP Body is empty, or if it contains a GetMetadata Response this will also be accepted, this gives the flexibility to use a RESTful web service. Otherwise Intelligent Advisor Hub will interpret the response, or lack of response, as an offline web service connection and will display the connection as Failing on the Connections page in Intelligent Advisor Hub.
The CheckAlive method provides a means for a Hub to establish that a web service connector is running.
Request
A CheckAlive request contains a mandatory check-alive-request node, without any child elements.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:typ="http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types">
<s:Header>
<wsse:Security s:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>serviceuser</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">servicepassword</wsse:Password>
</wsse:UsernameToken>
<wsu:Timestamp>
<wsu:Created>2015-02-11T00:14:25Z</wsu:Created>
<wsu:Expires>2015-02-11T00:19:25Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body>
<typ:check-alive-request/>
</s:Body>
</s:Envelope>
Response
A CheckAlive response contains a mandatory check-alive-response node, without any child elements.
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<check-alive-response xmlns="http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types"/>
</S:Body>
</S:Envelope>
Errors
If the response to a CheckAlive request from a configured web service is not as described above, the Hub will display the status of the service as 'Failed' under the Connections page.
GetMetadata
The metadata action will have a SOAPAction of GetMetadata. The Security header will be included if the web service connection was configured in Intelligent Advisor Hub with a username and password, and must be understood by the web service. The body of the request will contain an empty element named languageCode with the namespace http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types. The only information supplied in the request is the language used in the project, which may be utilized by the web service connector to include descriptions of metadata elements in that language. The response must contain all of the metadata which is available for Policy Modeling to map attributes, tables and relationships to.
Request
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:typ="http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types">
<s:Header>
<wsse:Security s:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>serviceuser</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">servicepassword</wsse:Password>
</wsse:UsernameToken>
<wsu:Timestamp>
<wsu:Created>2015-02-11T00:48:07Z</wsu:Created>
<wsu:Expires>2015-02-11T00:53:07Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body>
<typ:get-metadata-request language="en-US"/>
</s:Body>
</s:Envelope>
| Parameter | Type | Description |
|---|---|---|
| language | xsd:string
|
The language of the project is included so that a web service connector is able to return a contextual response using descriptions in the language specified. |
Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:get-metadata-response xmlns:ns2="http://xmlns.oracle.com/policyautomation/hub/12.2.5/metadata/types">
<ns2:Table name="Catalog" can-be-input="true" can-be-output="false" accepts-attachments="false">
<ns2:Link name="Cameras" target="Camera" cardinality="C_1M"/>
<ns2:Link name="Loaded Phone Types" target="Phone Type" cardinality="C_1M"/>
</ns2:Table>
<ns2:Table name="Camera" can-be-input="false" can-be-output="false" accepts-attachments="false">
<ns2:Field name="camera_model" type="STRING" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="price" type="DECIMAL" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="has_flash" type="BOOLEAN" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="has_portrait" type="BOOLEAN" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="has_redeye" type="BOOLEAN" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="has_timer" type="BOOLEAN" can-be-input="true" can-be-output="false" is-required="false"/>
<ns2:Field name="color_code" type="STRING" can-be-input="true" can-be-output="false" is-required="false"/>
</ns2:Table>
<ns2:Table name="Customer Request" can-be-input="false" can-be-output="true" accepts-attachments="true">
<ns2:Field name="request_ID" type="DECIMAL" can-be-input="true" can-be-output="false" is-required="true"/>
<ns2:Field name="request_date" type="DATE" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Field name="first_name" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Field name="last_name" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Field name="email" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Field name="comment" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Link name="Customer's Phone Numbers" target="Customer's Phone Number" cardinality="C_1M"/>
<ns2:Link name="Chosen cameras" target="Camera" cardinality="C_1M"/>
</ns2:Table>
<ns2:Table name="Customer's Phone Number" can-be-input="false" can-be-output="false" accepts-attachments="false">
<ns2:Field name="phone_number" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Field name="is_preferred" type="BOOLEAN" can-be-input="false" can-be-output="true" is-required="true"/>
<ns2:Link name="Customer's phone number type" target="Phone Type" cardinality="C_M1"/>
</ns2:Table>
<ns2:Table name="Phone Type" can-be-input="false" can-be-output="false" accepts-attachments="false">
<ns2:Field name="type_desc" type="STRING" can-be-input="true" can-be-output="false" is-required="true"/>
</ns2:Table>
</ns2:get-metadata-response>
</S:Body>
</S:Envelope>
| Parameter | Type | Description |
|---|---|---|
| MetadataEnumerations | MetaEnumList | Describes the set of enumerated data types provided by this metadata service. |
| supports-checkpoints | xsd:boolean
|
When true, indicates that the web service will support SetCheckpoint and GetCheckpoint. |
| Table | MetaTable | Describes a table which can be used for mapping purposes in an OPM project. |