Monitor > Deployed Assets > URN Mappings
  

URN Mappings

On the URN Mappings tab , there are system mappings and user-defined mappings.
You see four default mappings if you select a Secure Agent.
The following image shows a sample URN Mappings tab :
The image shows sample URN mappings, their URN, and URL details.
System Mappings
Process Server provides the following default URN Mappings for system services. You may need to manually add a mapping if it wasn't part of your initial configuration.
URN
URL
ae:internal-reporting
http://localhost:8080/activevos/internalreports
Default address of the BIRT reporting engine for a deployed process containing a reporting service.
ae:task-inbox
http://localhost:8080/activevos-central/avc
Default address of Process Central. Be sure to change the host:port to match your installed location, if needed.
jjava:comp/env/jdbc/ActiveVOS
This value is created using your specified JNDI database name
urn:aeHostEnvironmentRuntime
avHostEnvironmentRuntimeAccess
User-Defined Mappings
You can assign a physical address to a universal resource name (URN). The URN is a logical address of a partner link, specified in a deployment resource.
URN mappings provide a flexible and dynamic way to define target endpoint references. Use URN mappings to specify the physical address of a partner link endpoint reference instead of using the address specified in a process deployment descriptor (.pdd) file or WSDL file. By mapping a URN to a URL, you do not have to rely on invoking a statically defined endpoint address. URN mappings give you flexibility, for example, to deploy the same BPR files for testing and production environments.
Also, if you specify a URL, you can replace the URL by mapping it to a different URL.
The following example illustrates one type of URN to URL mapping:
urn:localhost = http://localhost:8080/active-bpel/services/${urn.3}
This mapping might be used when a process is deployed with the following partner link address information:
<partnerLink name="assessor">
   <partnerRole endpointReference="static"
     invokeHandler="default:Address">
      <wsa:EndpointReference xmlns:assessor="http://
       tempuri.org/services/loanassessor">
      <wsa:Address>urn:localhost:AssessRisk</wsa:Address>
      <wsa:ServiceName PortName=
        "SOAPPort">assessor:LoanAssessor</wsa:ServiceName>
   </partnerRole>
</partnerLink>
The Process Server invocation framework resolves the URN as follows:
urn:localhost:AssessRisk = http://localhost:8080/active-bpel/services/AssessRisk
Here are some ways you can map URNs to URLs. Note that each segment of the URN is separated by a colon.
URN
URL
urnSegment1:urnSegment2
http://localhost:8080/active-bpel/services/MyService
http://ServerA:8080/active-bpel/services/MyService
http://ServerB:8081/active-bpel/services/MyService
urn:localhost:service
http://localhost:${AE-NODE1-PORT}/active-bpel/services/${urn.4}
The last example in the table above shows how you can use variable substitution in an URL.
The URL values can optionally contain variables. The variables can be environment variables accessible through java.lang.System.getProperties() or a segment from the URN itself. The Apache Ant style variable declaration of ${property} is used to identify a property within the URL. Segments from the input URN value can be referenced by using a special property naming convention of ${urn.offset} where offset is a one-based offset identifying the segment from the input URN value to use for substitution.
The URL in the third mapping in this table contains two variables. The ${AE-NODE1-PORT} variable pulls the port number from an environment variable. This variable would need to be set as a -D parameter on the Java runtime environment (for example, java -D AE-NODE1-PORT =8080 ...) or populated externally to the Process Server.
The ${urn.4} variable, also in this example, references the fourth segment from the input URN value. Notice that the URN contains only three segments. The URN in the .pdd file should contain at least one other segment. A sample URN might be:
urn:localhost:service:StoreService.
As the value of the fourth segment of this URN is StoreService, the resulting URL is:
http://localhost:8080/active-bpel/services/StoreService/

Managing URN mappings

You can use REST APIs to manage URN mappings in your organization. You can retrieve all the URN mappings, add or update a URN mapping, and delete a URN mapping.
Ensure that you have the following information:

Get URN mappings

You can retrieve all the URN mappings for your organization.
GET request
To retrieve all the URN mappings, use the following URL:
<Informatica Cloud Application Integration URL>/active-bpel/restadmin/urn/<OrgID>
Where OrgID is the organization ID.
Request header
Authorization: Bearer <session_id> Content-Type: application/json
GET response
The API returns all the URN mappings for the specified organization in the JSON format. The following snippet shows the GET response syntax:
{
"urnmapping": [
{
"tenantContextId": "<tenant_context_id>",
"urn": "<urn_identifier>",
"url": "<target_url>"
}
]
}
The following table describes the response fields:
Field
Type
Description
urnmapping
Array
An array of URN mapping objects.
tenantContextId
String
The tenant context identifier. The tenant context determines where the URN mapping can be referenced within your processe
urn
String
The URN identifier.
url
String
The URL associated with the URN.
GET request example
Use the following sample as a reference to retrieve URN mappings:
GET https://dm-us.informaticacloud.com/active-bpel/restadmin/urn/abc123xyz
Request header
Authorization: Bearer a1b2c3d4e5f6g7h8i9j0
Content-Type: application/json
GET response example
The following sample shows a successful response:
{
"urnmapping": [
{
"tenantContextId": "$public",
"urn": "testURNEngine1",
"url": "https://www.informatica.com"
},
{
"tenantContextId": "$public",
"urn": "productionAPI",
"url": "https://api.example.com/v1"
}
]
}

Add or update a URN mapping

You can add a new URN mapping or update an existing URN mapping.
PUT request
To add a URN mapping or update an existing URN mapping, use the following URL:
<Informatica Cloud Application Integration URL>/active-bpel/restadmin/urn/
Request header
Authorization: Bearer <session_id>
Content-Type: application/json
Request body
In the request body, provide the URN mapping information in the JSON format. The following snippet shows the PUT request syntax:
{
"urnmapping": [
{
"tenantContextId": "<tenant_context_id>",
"urn": "<urn_identifier>",
"url": "<target_url>"
}
]
}
The following table describes the request parameters:
Parameter
Type
Required
Description
urnmapping
Array
Yes
An array of URN mapping objects to add or update.
tenantContextId
String
Yes
The tenant context identifier. Use $public for public URN mappings.
urn
String
Yes
The URN identifier.
url
String
Yes
The URL to associate with the URN.
PUT response
The API returns a success confirmation when the URN mapping is added or updated successfully. The following snippet shows the PUT response syntax:
{
"status": "<status>",
"message": "<message>"
}
The following table describes the response status codes:
Status Code
Description
200
The URN mapping was successfully added or updated.
400
Bad request. The request body is invalid or is missing required fields.
401
Unauthorized. Invalid or missing authentication credentials.
500
Internal server error.
PUT request example
Use the following sample as a reference to add a URN mapping:
PUT https://dm-us.informaticacloud.com/active-bpel/restadmin/urn/
Request header
Authorization: Bearer a1b2c3d4e5f6g7h8i9j0
Content-Type: application/json
Request body
{
"urnmapping": [
{
"tenantContextId": "$public",
"urn": "testURNEngine1",
"url": "https://www.informatica.com"
}
]
}
PUT response example
The followingsample shows a successful response:
{
"status": "success",
"message": "URN mapping added/updated successfully"
}

Delete a URN mapping

You can delete one or more URN mappings.
DELETE request
To delete one or more URN mappings, use the following URL:
<Informatica Cloud Application Integration URL>/active-bpel/restadmin/urn/
Request header
Authorization: Bearer <session_id>
Content-Type: application/json
Request body
In the request body, provide the URN identifiers to delete in the JSON format. The following snippet shows the DELETE request syntax:
{
"tenantContextId": "<tenant_context_id>",
"urn": [ "<urn_identifier_1>",
"<urn_identifier_2>"
]
}
The following table describes the request body parameters:
Parameter
Type
RequiredRequired
Description
tenantContextId
xString
Yes
The tenant context identifier. Use $public for public URN mappings.
urn
Array
Yes
An array of URN identifiers to delete.
DELETE response
The API returns a success or error status. The API returns a success confirmation when the URN mapping is deleted successfully. The following snippet shows the DELETE response syntax:
{
"status": "<status>",
"message": "<message>"
}
DELETE request example
Use the following sample as a reference to delete a URN mapping:
DELETE https://dm-us.informaticacloud.com/active-bpel/restadmin/urn/
Request header
Authorization: Bearer a1b2c3d4e5f6g7h8i9j0
Content-Type: application/json
Request body
{
"tenantContextId": "$public",
"urn": [
"testURNEngine1"
]
}
DELETE response example
The following sample shows a successful response:
{
"status": "success",
"message": "URN mapping deleted successfully"
}