1 Using Web Services
Learn how to use Oracle Communications Billing and Revenue Management (BRM) Web Services Manager, which enables BRM opcodes to be exposed through web services. Web Services Manager supports SOAP web services and is packaged as an integration pack.
Topics in this document:
About WSDL Files and BRM Opcodes
Web Services Manager exposes BRM opcodes as operations through different web services. The web services define the opcodes that can be called and the attributes to include.
The web service APIs are grouped by functional area. For example, the BRMBillServices web service defines the billing web service APIs, and the BRMPymtServices web service defines the payment web service APIs. Web Services Manager includes one WSDL file for each web service.
Web Services Manager contains two different types of WSDL files. One type is for web services that support the payload as an XML string data type. The second type is for web services that support the payload as an XML element data type. For example:
-
The BRMBalService web service defines balances web service APIs that take the payload as an XML string data type.
-
The BRMBalService_v2 web service defines balances web service APIs that take the payload as an XML element data type.
File names with a _v2 suffix support the payload as an XML element data type.
Note:
For deployments into a web server, such as Oracle WebLogic Server or Tomcat, the WSDL and schema (XSD) files for web services that support the payload as an XML string data type are included in the infranetwebsvc.war file. If you customize any web services, copy the customized schema files and WSDL files to the infranetwebsvc.war file.
Web services that support the payload as an XML element data type describe the input in a well-defined structure. Any standards-compliant SOAP development application can generate a client stub.
Table 1-1 describes the web services included that take the payload as an XML string.
Table 1-1 Web Services Included in Web Services Manager that Take the Payload as an XML String
Web Service Name | Description |
---|---|
BRMARServices |
Defines the accounts receivable web service, which includes the following opcodes:
See "Accounts Receivable FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMBalServices |
Defines the balances web service, which includes the following opcodes:
See "Balance FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMBillServices |
Defines the billing web service, which includes the following opcodes:
See "Billing FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMCollectionsServices |
Defines the collections web service, which includes the following opcode:
See "Collections Manager FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMCustcareServices |
Defines the customer care web service, which includes the following opcode:
|
BRMCustServices |
Defines the customer web service, which includes the following opcodes:
See "Customer FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMInvServices |
Defines the invoicing web service, which includes the following opcode:
Important: You must configure your client application to convert the invoice data received from the PCM_OP_INV_VIEW_INVOICE opcode into the appropriate format. See "About Invoicing Output XML Data" in BRM JCA Resource Adapter. See "Invoicing FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMPymtServices |
Defines the payment web service, which includes the following opcode:
See "Payment FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMReadServices |
Defines the read web service, which includes the following opcodes:
See "LDAP Base Opcodes" in BRM Opcode Guide for more information. |
BRMSubscriptionServices |
Defines the subscription web service, which includes the following opcodes:
See "Subscription Management FM Standard Opcodes" in BRM Opcode Guide for more information. |
Table 1-2 describes the web services that take the payload as an XML element.
Table 1-2 Web Services Included in Web Services Manager that Take the Payload as an XML Element
Web Service Name | Description |
---|---|
BRMACTServices_v2 |
Defines the activity web service, which includes the following opcodes:
See "Activity FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMARServices_v2 |
Defines the accounts receivable web service, which includes the following opcodes:
See "Accounts Receivable FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMBALServices_v2 |
Defines the balances web service, which includes the following opcodes:
See "Balance FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMBILLServices_v2 |
Defines the billing web service, which includes the following opcodes:
See "Billing FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMCOLLECTIONSServices_v2 |
Defines the collections web service, which includes the following opcode:
See "Collections Manager FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMCUSTCAREServices_v2 |
Defines the customer care web service, which includes the following opcode:
|
BRMCUSTServices_v2 |
Defines the customer web service, which includes the following opcodes:
See "Customer FM Standard Opcodes" in BRM Opcode Guide for more information.
See "Customer FM Policy Opcodes" in BRM Opcode Guide for more information. |
BRMINVServices_v2 |
Defines the invoicing web service, which includes the following opcode:
Important: You must configure your client application to convert the invoice data received from the PCM_OP_INV_VIEW_INVOICE opcode into the appropriate format. See "About Invoicing Output XML Data" in BRM JCA Resource Adapter. See "Invoicing FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMPYMTServices_v2 |
Defines the payment web service, which includes the following opcode:
See "Payment FM Standard Opcodes" in BRM Opcode Guide for more information. |
BRMREADServices_v2 |
Defines the read web service, which includes the following opcodes:
See "LDAP Base Opcodes" in BRM Opcode Guide for more information. |
BRMSUBSCRIPTIONServices_v2 |
Defines the subscription web service, which includes the following opcodes:
See "Subscription Management FM Standard Opcodes" in BRM Opcode Guide for more information. |
Configuring BRM to Use PCM_OP_BAL_GET_ECE_BALANCES
Before you can call the PCM_OP_BAL_GET_ECE_BALANCES opcode, you must configure BRM to support the opcode. To do so, add the following entry to your Connection Manager (CM) configuration file (BRM_home/sys/cm/pin.conf):
- cm em_group ece PCM_OP_BAL_GET_ECE_BALANCES
Stop and restart the CM for the changes to take effect.
About Testing Web Services Manager
You can develop custom applications that interact with BRM through Web Services Manager. Use a SOAP development environment that supports importing WSDL files (for example, SoapUI) to develop and test your custom web service applications. SOAP development applications may have minor differences in product configuration. Consult your SOAP development application documentation for configuration information.
In general, do the following to develop and test your web services applications:
-
Download and install a SOAP development application.
-
Configure a new project in your SOAP development application.
-
Write a client application that communicates with web services using the SOAP protocol or use the tools integrated in the development application.
See "" for an example of developing a client application.
-
Import the web service definitions using the WSDL files.
See "Determining the WSDL URLs for Web Services Manager" for information about generating the WSDL URLs.
See "About WSDL Files and BRM Opcodes" for more information about the available WSDLs.
-
Run the required commands to set up your application server environment.
-
Configure the properties of the web services operations in your SOAP development environment with valid credentials.
-
Send a web service request to BRM from the SOAP development environment client.
See "" for an example of this process.
See "Sending SOAP Requests to BRM Web Services" for information about sending requests to Web Services Manager if OAuth 2.0 is enabled..
-
View the web service response in the SOAP development environment.
Determining the WSDL URLs for Web Services Manager
The WSDL URLs that you use depends on how Web Services Manager is deployed:
Web Services Manager Is Used in Standalone Mode
To find the WSDL URLs in standalone mode, go to the following URL:
https://hostname:port/metro
where:
-
hostname is the name or IP address for Web Services Manager.
-
port is the port number for Web Services Manager.
Web Services Manager displays the WSDL URLs for each available service.
Web Services Manager Is Deployed Into an External Web Server
To find the WSDL URLs for Web Services Manager when it is deployed into a web server, look in the infranetwebsvc.war and infranetwebsvc.war files.
For example, in WebLogic Server:
-
Log in to the WebLogic Server Remote Console.
-
Click Monitoring Tree, then Deployments, then Application Runtime Data, then deploymentName, where deploymentName is the deployment name you chose when deploying the software, for example WSM.
-
In the tree on the left, click Component Runtimes, then click adminServerName/_BrmWebServices, then in the tree click Servlets.
The available web services are displayed in a table.
-
Click the name of the servlet for the web service in the table.
The settings for the web service are displayed.
-
Scroll to the right until you see the URL column. It contains the URL for the web service.
Testing a Web Services Implementation Using a Client Application
To test your web services implementation, you can write a client application that communicates with the web service using the SOAP protocol.
This sample procedure demonstrates how to use the InfranetBalanceTestClient.java sample code with the PCM_OP_GET_BALANCES opcode to verify communication between BRM and the web service. The sample uses WebLogic Server, but you can apply the concepts to any type of implementation.
Note:
Ensure that your JAVA_HOME is pointing to Java 21. See BRM Compatibility Matrix for information about software compatibility.
To test your implementation:
-
Do one of the following, which sets up the WebLogic Server environment:
-
If WebLogic is installed on a Linux host, run WebLogic_home/wlserver/server/bin/setWLSEnv.sh
-
If WebLogic is installed on a Windows host, run WebLogic_home/server/bin/setenv.exe
where WebLogic_home is the directory in which you installed the WebLogic Server.
-
-
Create an XML file (for example, build-stubs.xml) using the following text:
<project name="buildWebservice" default="all"> <property name="buildDir" value="./myapps" /> <property name="jarFiles" value="jars" /> <taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" classpath="<WEBLOGIC_HOME>/wlserver/server/lib/weblogic.jar"/> <target name="all" depends="jar" description="builds everything"></target> <target name="generate-client"> <clientgen wsdl="http://hostname:port/infranetwebsvc/BRMBalService?WSDL" packageName="test_client" destDir= "./myapps"/> </target> <target name="compile" depends="generate-client" description="compile source files"> <echo>Compiling adapter files</echo> <javac destdir="${buildDir}"> <src path="${buildDir}"/> </javac> </target> <target name="jar" depends="compile" description="generate jar file(s)"> <jar jarfile="clientStub.jar" basedir="${buildDir}"> <exclude name="**/*.java"/> </jar> </target> <target name="clean" description="remove files created by target prepare"> <delete dir="${buildDir}"/> </target> </project>
This XML file uses the WebLogic Server clientgen task to automatically generate a utility library that provides low-level SOAP communication (client stubs).
-
Run the following command, which creates the client stubs:
ant -file build-stubs.xml
This process generates the clientstubs.jar file, which contains stubs used by the client.
-
The test client code (source_home/InfranetBalanceTestClient.java, where source_home is the directory where your source code files are stored) then creates an flist, converts it to XML, and calls the PCM_OP_GET_BALANCES opcode.
The following is a sample InfranetBalanceTestClient.java file:
import java.io.IOException; import test_client.*; // corresponds to package name clientgen generated public class InfranetBalanceTestClient {public static void main(String[] args) { try { String wsdlUrl = "http://hostname:port/infranetwebsvc/BRMBalService?WSDL"; BRMBalService_Service service = new BRMBalService_Service_Impl( wsdlUrl ); BRMBalService_PortType port = service.getBRMBalService_Ptt(); String XMLInput="<?xml version=\"1.0\" encoding=\"UTF-80\"?> <PCM_OP_BAL_GET_BALANCES_inputFlist> <PIN_FLD_POID>0.0.0.1 /account 1 0</PIN_FLD_POID> </PCM_OP_BAL_GET_BALANCES_inputFlist>"; System.out.println("Input: \n" + XMLInput); // Invoke the web method String result = port.pcmOpBalGetBalances(0, XMLInput); System.out.println("result: \n"+ result); } catch (Exception ex) { ex.printStackTrace(); } } }
-
Create another XML file (for example, build_client.xml) using the following text:
Note:
Replace the paths for the JAR files as required.
<project name="test_client" default="all"> <target name="all" depends="run"/> <path id="classpath"> <pathelement path="clientStub.jar"/> <pathelement path="./classes"/> <pathelement path="<WEBLOGIC_HOME>/wlserver/server/lib/weblogic.jar"/> </path> <target name="compile"> <mkdir dir="classes"/> <javac srcdir="src" destdir="classes" classpathref="classpath"/> </target> <target name="run" depends="compile"> <java classname="InfranetBalanceTestClient" fork="yes" classpathref="classpath"> </java> </target> </project>
-
Build and run the test with the build_client.xml file using regular Ant tasks:
ant -file build_client.xml
Example of Reading an Account Object in BRM Using Web Services
This section provides an example of reading an account object using web services when OAuth 2.0 is not configured.
See "Sending SOAP Requests to BRM Web Services" for information about sending requests to Web Services Manager if OAuth 2.0 is enabled..
To read an account object in BRM using web services, you call the pcmOpReadObj web service API that maps to the PCM_OP_READ_OBJ opcode. The pcmOpReadObj web service API is included in the BRMReadServices_v2 web service, which contains web service APIs that are related to reading accounts. See "About WSDL Files and BRM Opcodes" for more information about the web services included in the Web Services Manager package.
You use URLs to create SOAP clients for web services. The URL is generated by JAX-WS. See "Determining the WSDL URLs for Web Services Manager" for information about generating the WSDL URLs.
In standalone mode, a sample URL for the BRMReadServices_v2 web service is:
http://hostname:port/metro/jaxws/BRMReadServices_v2?wsdl
When Web Services Manager is deployed into a web server, a sample URL for the BRMReadServices_v2 web service, identified by the com.portal.jax.read.BRMReadServicePttImpl_WEBSERVICE servlet, is:
http://hostIPAddress:port/BrmWebServices/BRMReadServices_v2?wsdl
Note:
To call a web service, users are required to authenticate using a valid user name and a password. Users can call only those web services that they are authorized to call.
Sample SOAP Request Input XML File
The following sample shows a SOAP request for the pcmOpReadObj web service API:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bus="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"> <soapenv:Header/> <soapenv:Body> <bus:pcmOpReadObjRequest> <bus:PCM_OP_READ_OBJ_Request> <bus:flags>0</bus:flags> <bus:PCM_OP_READ_OBJ_inputFlist> <bus:POID>0.0.0.1 /account 1 0</bus:POID> </bus:PCM_OP_READ_OBJ_inputFlist> </bus:PCM_OP_READ_OBJ_Request> </bus:pcmOpReadObjRequest> </soapenv:Body> </soapenv:Envelope>
Sample SOAP Response Output XML File
The following sample shows a SOAP response message for the pcmOpReadObj web service API:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <pcmOpReadObjResponse xmlns="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"> <brm:AAC_ACCESS xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:AAC_PACKAGE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:AAC_PROMO_CODE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:AAC_SERIAL_NUM xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:AAC_SOURCE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:AAC_VENDOR xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:ACCESS_CODE1 xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:ACCESS_CODE2 xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:ACCOUNT_NO xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">ROOT</brm:ACCOUNT_NO> <brm:ACCOUNT_TAG xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:ACCOUNT_TYPE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">2</brm:ACCOUNT_TYPE> <brm:ATTRIBUTE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:ATTRIBUTE> <brm:BAL_GRP_OBJ xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0.0.0.1 /balance_group 1 0</brm:BAL_GRP_OBJ> <brm:BRAND_OBJ xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0.0.0.1 /account 1 0</brm:BRAND_OBJ> <brm:BUSINESS_TYPE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:BUSINESS_TYPE> <brm:CLOSE_WHEN_T xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">1970-01-01T00:00:00Z</brm:CLOSE_WHEN_T> <brm:CONTEXT_INFO xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"> <brm:CORRELATION_ID>1724742721778T49</brm:CORRELATION_ID> </brm:CONTEXT_INFO> <brm:CREATED_T xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">2024-05-05T15:26:19Z</brm:CREATED_T> <brm:CURRENCY xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">840</brm:CURRENCY> <brm:CURRENCY_SECONDARY xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:CURRENCY_SECONDARY> <brm:CUSTOMER_SEGMENT_LIST xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:EFFECTIVE_T xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">2024-05-05T15:26:19Z</brm:EFFECTIVE_T> <brm:GL_SEGMENT xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:GROUP_OBJ xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0.0.0.0 0 0</brm:GROUP_OBJ> <brm:INCORPORATED_FLAG xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:INCORPORATED_FLAG> <brm:INTERNAL_NOTES flags="0x00" offset="0" size="0" xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:ITEM_POID_LIST xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0.0.0.1|/item/misc 1 0</brm:ITEM_POID_LIST> <brm:LASTSTAT_CMNT xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:LAST_STATUS_T xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">2024-05-05T15:26:19Z</brm:LAST_STATUS_T> <brm:LINEAGE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">/</brm:LINEAGE> <brm:LOCALE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:MOD_T xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">2024-05-05T15:26:19Z</brm:MOD_T> <brm:NAME xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">Brand Host</brm:NAME> <brm:NAMEINFO elem="1" xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"> <brm:ADDRESS/> <brm:CANON_COMPANY/> <brm:CANON_COUNTRY/> <brm:CITY/> <brm:COMPANY/> <brm:CONTACT_TYPE/> <brm:COUNTRY/> <brm:EMAIL_ADDR/> <brm:FIRST_CANON>system</brm:FIRST_CANON> <brm:FIRST_NAME>System</brm:FIRST_NAME> <brm:GEOCODE/> <brm:LAST_CANON>administrator</brm:LAST_CANON> <brm:LAST_NAME>Administrator</brm:LAST_NAME> <brm:MIDDLE_CANON/> <brm:MIDDLE_NAME/> <brm:SALUTATION/> <brm:SERVICE_OBJ>0.0.0.0 0 0</brm:SERVICE_OBJ> <brm:STATE/> <brm:TAXPKG_TYPE>0</brm:TAXPKG_TYPE> <brm:TITLE/> <brm:ZIP/> </brm:NAMEINFO> <brm:NEXT_ITEM_POID_LIST xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:OBJECT_CACHE_TYPE xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:OBJECT_CACHE_TYPE> <brm:POID xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0.0.0.1 /account 1 1</brm:POID> <brm:READ_ACCESS xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">L</brm:READ_ACCESS> <brm:RESIDENCE_FLAG xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:RESIDENCE_FLAG> <brm:STATUS xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">10100</brm:STATUS> <brm:STATUS_FLAGS xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">0</brm:STATUS_FLAGS> <brm:TIMEZONE_ID xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:VAT_CERT xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes"/> <brm:WRITE_ACCESS xmlns:brm="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">L</brm:WRITE_ACCESS> </pcmOpReadObjResponse> </S:Body> </S:Envelope>
Sample Java Client
If you want to read an account object using a client application, see the instructions in "Testing a Web Services Implementation Using a Client Application" and use the InfranetReadTestClient.java file below in place of the InfranetBalanceTestClient.java file in the procedure, adjusting the other steps as appropriate.
import java.io.IOException; import test_client.*; // corresponds to package name clientgen generated public class InfranetReadTestClient { public static void main(String[] args) { try { String wsdlUrl = "http://hostname:port/infranetwebsvc/BRMReadService?WSDL"; BRMReadService_Service service = new BRMReadService_Service_Impl( wsdlUrl ); BRMReadService_PortType port = service.getBRMReadService_Ptt(); String XMLInput="<?xml version=\"1.0\" encoding=\"UTF-80\"?> <PCM_OP_READ_OBJ_inputFlist> <PIN_FLD_POID>0.0.0.1 /account 1 0</PIN_FLD_POID> </PCM_OP_READ_OBJ_inputFlist>"; System.out.println("Input: \n" + XMLInput); // Invoke the web method String result = port.pcmOpReadObj(0, XMLInput); System.out.println("result: \n"+ result); } catch (Exception ex) { ex.printStackTrace(); } } }
Using Metrics and Tracing (Standalone only)
The standalone version of Web Services Manager includes additional tracing and metric reporting capabilities.
More information is contained in the following topics:
Working with Metrics
The standalone version of Web Services Manager includes additional tracing and metric reporting capabilities.
On cloud native implementations of BRM, the metric collection can be integrated with a Prometheus dashboard.
The following metric types are available:
-
base: Operating system or Java runtime measurements
-
vendor: REST.request and other key performance indicator measurements
-
application: Metrics registered in the application code. The following metrics are available for the Web Services Manager, for all APIs, with successful and failed metrics recorded separately.
-
http_request_duration_seconds_count: Contains the number of requests received.
-
http_request_duration_seconds: Contains the percentile values (0.5,0.75,0.95,0.98,0.99,0.999) for response times.
-
http_request_duration_seconds_max: Contains the maximum response time (in seconds) recorded.
-
http_request_duration_seconds_sum: Contains the sum of all the response times recorded, in seconds.
-
Metrics for individual APIs are included when the API is called, and the API call is listed in the metric. For example:
http_request_duration_seconds{api="PCM_OP_READ_OBJ",status="success",quantile="0.75",scope="application"}.
This metric indicates that the PCM_OP_READ_OBJ API is in the application scope, and when it is successful, its duration is in the 75th percentile (0.75).
To access the metrics, use the following URL:
http://hostname:port/observe/metrics
To filter the metrics based on their type, use the following URL:
http://hostname:port/observe/metrics?scope=scope
where scope is one of the following: base, vendor, or application.
Enabling Tracing
Tracing provides end-to-end visibility into the Web Services Manager's operations, which helps identify and locate performance issues. You can view tracing information using Zipkin, which is an open-source tracing system. See the Zipkin website: https://zipkin.io/ for more information about Zipkin and its user interface. See "Tracing Guide" in the Helidon documentation: https://helidon.io/docs/v4/se/tracing for information about more tracing configuration options.
When tracing is enabled, the logs generated by the Web Services Manager for each request contain the trace_id associated with the request. You can use this to assist in tracing any issues.
To enable and configure tracing:
-
Open the BRM_home/apps/brm_wsm/config/Infranet.properties file.
-
Set the following entry in the file to true:
tracing.enabled=true
-
Set the following entries to the correct values for your environment:
tracing.host=hostname tracing.port=port
-
Save and exit the file.
-
Stop and restart the Web Services Manager. See "Running and Stopping Standalone Web Services Manager" for more information.
About Data Masking in Web Services Responses
SOAP output response XML files may contain masked fields as configured by your BRM implementation. Subscriber fields, including payment information and user credentials, may be hidden in responses for securing sensitive subscriber data.
See "Masking Sensitive Customer Data" in BRM Managing Customers for more information on configuring data masking.