Home Blogs Blog: Telecom, IMS, SOA Problem when updating Service Provider and/or Application SLA in WLNG 3.0
Problem when updating Service Provider and/or Application SLA in WLNG 3.0
Blog - Telecom, IMS, SOA
Written by Jonas W   
Monday, 05 May 2008 10:04
My first topic in this blog concerns WLNG 3.0 MP1 and Network Gatekeepers Partner Management Model. It’s a weird problem, which I haven’t found described in any documentation. I will shortly try to explain the “defect”. This discussion requires the reader to be quite familiar with BEA WebLogic Network Gatekeeper.

Conditions

You have a complete fresh WLNG 3.0 installation, and have added your first new Service Provider and Application Service Level Agreements (SLAs is the concept to put our XML-based restrictions, QoS, etc). I assume you are familiar with WLNG’s Partner Management Model, so you have created your SP account, SP group, Application account, Application group and finally the Application Instance group account (where one gets the credentials from).

Your Application (or SP) SLA contains a methodRestrictions XML element.

E.g. WLNG Application XML SLA

<Sla applicationGroupID="default_app_group" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "file:./policy/sla_schema/app_sla_file.xsd">

<serviceContract>
<startDate>2001-01-01</startDate>
<endDate>2012-01-01</endDate>
<scs>com.bea.wlcp.wlng.px21.plugin.SendSmsPlugin</scs>
<contract>
<methodRestrictions>

<methodRestriction>
<methodName>sendSms</methodName>
<rate>
<reqLimit>10</reqLimit>
<timePeriod>5000</timePeriod>
</rate>
</methodRestriction>

</methodRestrictions>
</contract>
</serviceContract>

<serviceContract>
<startDate>2006-11-01</startDate>
<endDate>2012-11-01</endDate>
<scs>com.bea.wlcp.wlng.px21.plugin.ReceiveSmsPlugin</scs>
</serviceContract>

</Sla>


The error below occurs if you are using WLS console (or internal GTool). And then try to update via WLS web console -> espa_access.updateApplicationGroupSLAUrl

IDL:com/incomit/espa/access/AccessManagementException:1.0 Database error

exceptionMessage: com.bea.wlcp.wlng.core.budget.BudgetEnforcementMasterProxyImpl_921_WLStub

errorCode: 11109

So bizarre; I’m not able to perform an update for the SLA! And it’s all related to the fact that I added a methodRestrictions element in my first SLA’s in the system. (Budget-service is a kind of global counter that keeps track of TPS for SPs/APPs in a cluster, and for some motivation its fails to initiate this service properly)

Ok, what to do now?? One possibility is to never register a SLA with methodRestrictions defined. This workaround has its limits of course.

Workaround

  • A better workaround is to using the WLS Scripting Tool, WLST; and update the SLA via espa_access.updateApplicationGroupSLAUrl

    After you have made this “one time update” via WLST, you should be able to work with all SLA’s via normal console.

Here is a valid sample script for WLNG usage as a WLST update script. This script assumes that you have placed your SLAs in the recommend folder <DOMAIN-HOME>/policy/sla/default_app_group.xml

Execute a WLST script via console:
java weblogic.WLST <SOME_DIR>my_wlng_scripts/update_wlng_accounts.py

Sample WLST script for WLNG. E.g. content for: update_wlng_accounts.py

connect ('myusername','mypassword','t3://localhost:8001')
#Change to custom tree where WLNG MBeans are located

custom()
cd('com.bea.wlcp.wlng')
cd('com.bea.wlcp.wlng:Name=wlng_nt,Type=com.bea.wlcp.wlng.management.ESPA_accessMBean')

slaPath = configHomeUrl + '/sla/ default_app_group.xml'
parameters = jarray.array([java.lang.String( 'default_app_group'),java.lang.String(slaPath)],java.lang.Object)
signature = jarray.array(['java.lang.String', 'java.lang.String'],java.lang.String)
invoke('updateApplicationGroupSLAUrl',parameters,signature)

disconnect()
exit()

 

Contact author at This e-mail address is being protected from spambots, you need JavaScript enabled to view it .