Call to the load-balanced SO not through router

Hi all
This in fact not correct - if you make a call to the load-balanced SO,
from within that SO it will not go through the router. You can work around
it quite easily
with a simple Forwarding Dispatcher (design pattern).
Whenever you make a call to your load-balanced SO,
it
would go through the router. That is what I
understand. No matter you make the call from inside
or outside the SO.
Anton van Niekerk
[email protected]

Hi all
This in fact not correct - if you make a call to the load-balanced SO,
from within that SO it will not go through the router. You can work around
it quite easily
with a simple Forwarding Dispatcher (design pattern).
Whenever you make a call to your load-balanced SO,
it
would go through the router. That is what I
understand. No matter you make the call from inside
or outside the SO.
Anton van Niekerk
[email protected]

Similar Messages

  • RE: (forte-users) Call to the load-balanced SO not throughrouter

    We never call an SO from within an SO. Instead we do the following :
    MySO is mapped to MySOclass.
    MySOclass is a facade which has an attribute for every Policy Manager
    related to this SO.
    Each Policy manager is instanciated in MySOclass.
    Each Policy manager has an attribute called Parent.
    Parent is defined by MySOclass to be self.
    If two Policy managers need to work together we invoke methods via the
    parent attribute :
    Example
    I have a partition for Enrolments.
    It has three Policy Managers within it
    a Students Policy Manager (with a Add, Delete, Get methods)
    a Courses Policy Manager (with a Add, Delete, Get methods).
    an Enrolments Policy Manager (with a Add, Delete, Get methods).
    To enable this partition we have defined :
    EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
    class as its related class.
    The EnrolmentsMgr class has the following methods and attributes :
    Methods :
    AddStudent
    AddCourse
    AddEnrolment
    GetStudent
    GetCourse
    GetEnrolment
    DeleteStudent
    DeleteCourse
    DeleteEnrolment
    All of these methods do a one line return statement, simply passing the
    method invocation to
    the appropriate Policy Manager. For example AddStudent would say
    Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
    : pOutStudentParams
    In the Init method for the EnrolmentsMgr we instanciate the following
    attributes :
    theStudentPM (which is typed to the StudentPM class)
    theCoursePM (which is typed to the CoursePM class)
    theEnrolmentsPM (which is typed to the EnrolmentsPM class)
    Also in the Init method we set an attribute (called parent) on each
    PM to the value of Self.
    Then when one PM needs to invoke a method on another PM we simply do :
    For example in the theEnrolmentPM.GetEnrolment method we need to get
    Students and Courses
    thus we code :
    Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
    Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
    pOutCourseParams
    Build Enrol details based on student / course stuff.
    Return EnrolmentParams.
    Hope this makes sense.
    Regards,
    Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
    -----Original Message-----
    From: Peter Sham [mailto:[email protected]]
    Sent: Friday, 8 October 1999 9:35
    To: [email protected]; [email protected]
    Subject: Re: (forte-users) Replicating the PersistenceMgrSO
    Hi,
    Whenever you make a call to your load-balanced SO, it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Secondly, you can turn on the "fail-over" option of a
    router but not load-balanced it. On these routers,
    you can check their instruments to see which one is
    really running.
    Hope this help.
    Regards,
    Peter Sham.

    We never call an SO from within an SO. Instead we do the following :
    MySO is mapped to MySOclass.
    MySOclass is a facade which has an attribute for every Policy Manager
    related to this SO.
    Each Policy manager is instanciated in MySOclass.
    Each Policy manager has an attribute called Parent.
    Parent is defined by MySOclass to be self.
    If two Policy managers need to work together we invoke methods via the
    parent attribute :
    Example
    I have a partition for Enrolments.
    It has three Policy Managers within it
    a Students Policy Manager (with a Add, Delete, Get methods)
    a Courses Policy Manager (with a Add, Delete, Get methods).
    an Enrolments Policy Manager (with a Add, Delete, Get methods).
    To enable this partition we have defined :
    EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
    class as its related class.
    The EnrolmentsMgr class has the following methods and attributes :
    Methods :
    AddStudent
    AddCourse
    AddEnrolment
    GetStudent
    GetCourse
    GetEnrolment
    DeleteStudent
    DeleteCourse
    DeleteEnrolment
    All of these methods do a one line return statement, simply passing the
    method invocation to
    the appropriate Policy Manager. For example AddStudent would say
    Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
    : pOutStudentParams
    In the Init method for the EnrolmentsMgr we instanciate the following
    attributes :
    theStudentPM (which is typed to the StudentPM class)
    theCoursePM (which is typed to the CoursePM class)
    theEnrolmentsPM (which is typed to the EnrolmentsPM class)
    Also in the Init method we set an attribute (called parent) on each
    PM to the value of Self.
    Then when one PM needs to invoke a method on another PM we simply do :
    For example in the theEnrolmentPM.GetEnrolment method we need to get
    Students and Courses
    thus we code :
    Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
    Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
    pOutCourseParams
    Build Enrol details based on student / course stuff.
    Return EnrolmentParams.
    Hope this makes sense.
    Regards,
    Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
    -----Original Message-----
    From: Peter Sham [mailto:[email protected]]
    Sent: Friday, 8 October 1999 9:35
    To: [email protected]; [email protected]
    Subject: Re: (forte-users) Replicating the PersistenceMgrSO
    Hi,
    Whenever you make a call to your load-balanced SO, it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Secondly, you can turn on the "fail-over" option of a
    router but not load-balanced it. On these routers,
    you can check their instruments to see which one is
    really running.
    Hope this help.
    Regards,
    Peter Sham.

  • The load balancer is not provisioned error when attempting to deploy a SP 2013 App

    Hello:
    I am in VS 2013 with SP 2013 colocated on same Win 2008 R2 server.  I opened a SP 2013 App and directly hit F5 and got this error:
    Error occurred in deployment step 'Install app for SharePoint': The load balancer is not provisioned. Verify the load balancer was provisioned successfully before retrieving endpoint addresses.  When creating the project, the first screen asks for a
    site to deploy to, and I just took the default, which was http://<servername> for the colocated server.
     I googled this and could not find a solution.  Would anyone have any direction?
    thank you
    Harvey
    Regards, Harvey

    Hi Harvey Flaisher,
    Based on the error message, this seems to be a service application not working issue.
    Please check the ULS log or Event log to check in which service application the error occurs, like BCS, secure store service, app management service, then re-provision the service application using PowerShell command, or re-create the service application
    from UI to check the result.
    Thanks,
    Qiao Wei
    TechNet Community Support

  • APEX SSO and Load balancing: Could not determine workspace for application

    We had a single HTTP Server serving APEX in a 10.2.0.2 database configured with SSO to be used by the developers. APEX has been registered as a partner application and the login url has been CA Siteminder protected so that the SM_USER details are forwarded in the header for the application to use for authorization. Everything is fine so far.
    Now we have added a HTTP Server on another host and have it all set up for APEX and its pointing to the same database. APEX_ADMIN access works as normal, but applications previously using SSO now get the following error after entering the URL.
    Expecting p_company or wwv_flow_company cookie to contain security group id of application owner.
    Error ERR-7620 Could not determine workspace for application ().
    Using HTTP Watch I find that the application is not even trying to redirect to the login page.
    What is wrong here?

    APEX has been registered as a partner application as described in
    http://www.oracle.com/technology/products/database/application_express/howtos/sso_partner_app.html
    In the meantime I found metalink document 368746.1 which describes the cause of this problem. Please read carefully what I wrote, it all works when the the new APEX web server is turned off in the server farm on the load balancer and directed through the original web server. When running regapp.sql the hostname in the listener token was using the virtual hostname. This works fine if the request comes from the original APEX server which proofs that there is nothing wrong with the installation and set up of SSO. When directing the request to the new APEX web server the APEX_ADMIN page still works only existing work spaces using SSO don't seems to work anymore resulting in a error as described in the subject.
    As for metalink document 368746.1 naming the causes of this error:
    - there are no duplicate entries in WWSEC_ENABLER_CONFIG_INFO$
    -LISTENER_TOKEN clearly works for requests coming from the first web server
    -theoretically the web server listener port could be changed from 7777, but port 80 needs to be maintained here as production is mimiced as far down as possible.
    Is there some cache table which can be cleared? How is it that the flows schema (apex engine) can not find the work space when the request comes from a new web server which can however access the APEX_ADMIN pages.
    anyone?

  • Site not accessible from the Load balanced web front end server - sharepoint 2010

    I have a production environment with 2 WFE's(sp-wfe1 & sp-wfe2), 2 APP's and 2 SQL clustered VM's.
    2 WFE's are load balanced using hardware load balancer.
    An A-Record(PORTAL) is created in DNS for the virtual IP of the load balancer which points to the 2 WFE's.
    A web application is created on the WFE's on port 80.
    alternative access mapping is configured and the load balanced record "http://PORTAL" is used under the default zone.
    Under IIS I have edited the bindings for the sharepoint site at port 80 and added the HOSTNAME as PORTAL.
    Result: The site is accessible from outside the server and works fine.
    ISSUE: The site is not accessible within the WFE's(sp-wfe1 & sp-wfe2).
    When I browse the site from the WFE's server it ask for the credentials and when I enter the credentials and click OK it ask the credentials again and again and in the end displays a blank page.
    Kindly help me in this issue because I am clueless and couldn't find anything helpful on the internet. 
    Regards,
    Mudassar
    MADDY-DEV Forum answers from Microsoft Forum

    Loop back check.
    http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx

  • Web Dispatcher not doing the load balancing on the portal

    Hi Experts
    I am having a production issue where the SAP web dispatcher is not doing the load balancing on the portal.
    We have ESS/MSS portal with 1 Message server and 2 Application servers. The Web dispatcher is installed on the message server itself. Here is my Web disp profile file
    Profile generated by sapwebdisp bootstrap
    unique instance number
    SAPSYSTEM = 16
    add default directory settings
    DIR_EXECUTABLE = .
    DIR_EXECUTABLE = F:\usr\sap\<SID>\sapwebdisp
    DIR_INSTANCE = .
    Accessibility of Message Servers
    rdisp/mshost = <hostname>.com
    ms/http_port = 8111
    #Log and Trace
    rdisp/TRACE = 2
    SAP Web Dispatcher Parameter
    wdisp/auto_refresh = 120
    wdisp/max_servers = 100
    wdisp/shm_attach_mode = 6
    configuration as per SAP note 538405
    icm/max_conn      = 7000
    icm/max_sockets   = 14000
    icm/req_queue_len = 6000
    icm/min_threads   = 100
    icm/max_threads   = 300
    mpi/total_size_MB = 500
    mpi/max_pipes       = 14000
    wdisp/HTTPS/max_pooled_con = 7000
    SAP Web Dispatcher Ports
    icm/server_port_0 = PROT=HTTP,PORT=8888
    SSL
    icm/server_port_1 = PROT=ROUTER,PORT=443, TIMEOUT=60
    SAP Web Dispatcher Web Administration
    icm/HTTP/admin_0 = PREFIX=/sap/wdisp/admin,DOCROOT=./admin,AUTHFILE=icmauth.txt
    wdisp/enable_j2ee_groups = TRUE
    wdisp/HTTPS/sticky_mask = 255.255.255.255
    In my Web dispatcher Admin page, I see all the three application servers, however the requests are going to only 1 App server. We are using ENd to End SSL configuration for the web dispatcher.
    We also have a reverse proxy in the landscape and reverse proxy is forwarding all the requests to the Web dispatcher. In Web disp Admin page>Dispatching Module>SSL End to END dispatching, I see only ONE table entry in the dispatching table and it is our Reverse Proxy.
    As all the requests are coming from only one source (Reverse proxy), it seems to me that the sap web dispatcher  is forwarding those to the same Application server every time.
    Can anyone please advise ?
    I also tried to configure logon group in NWA, the web dispatcher is detecting the logon group and all the app servers in the logon group. It still not doing the load balancing.
    I would greatly appreciate any help.
    Thanks
    Viny

    Vincent, can you please elaborate more ?  Is the web dispatcher not able to recognize stateful and stateless application requests ?
    I saw that the procedure for configuring SSL Termination on Web dispatcher is long and complicated and looks like SAP web dispatcher needs to have SSL certificate of its own. As we have no ABAP servers and only Java servers, I can not even create the PSEs using STRUST (as described in SAP help -http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/99c388d7c46bb9e10000000a42189d/frameset.htm
    We already have SSL certificates for Java App servers.
    I suppose there should be a way for web dispatcher to identify the incoming requests and forward to appropriate application servers.
    Any help is much appreciated.
    Thanks
    Viny

  • How to get a server name through the load balancer

    Hi.
    I'd like to get the server name where is my application installed. There are some servers and clients access there throuth the load balancer. When I try to get it with request.getServerName(), I get the virtual address of the load balancer.
    Any suggestions?
    Thanks.

    Dear Sikindar;
    THanks for your cooperation, but I believe that these Tcodes will eb helpful if I know the table name, actually we don't know its name and that's what I'm asking about, how can I get the table name for the ABAPer?
    Appreciating your cooperation.
    Best Regards;
    Lobna

  • Oracle Applications 11i Load Balancing does not work with RAC one Node

    Hi all,
    Could you help me to resolve this issue.
    Architecture environment is :
    - One APPS tier node
    - Two nodes Oracle Database Appliance (Primary node 1 holds INSTANCE_1 et Secondary node is configurured to holds INSTANCE_2), i.e RAC one Node.
    - The primary node have instance_name SIGM_1 and the secondary node have instance_name SIGM_2, but in RAC one node, the secondary instance is not alive.
    We convert our EBS 11i environment to RAC following note ID Using Oracle 11g Release 2 Real Application Clusters with Oracle E-Business Suite Release 11i [ID 823586.1].
    When testing Database failover, Oracle Applications 11i load balancing does not work anymore.
    The root cause is that, when the primary node of the Rac one node is down, the INSTANCE_NAME_1 is automaically relocating to the surviving node,.
    During test failover, we imagine that when the primary node goes down, the secondary node start or relocate database with instance_name SIGM_2, and in that case the Oracle Applications load balancing works.
    Currently, when the primary node goes down, the instance_name SIGM_1 is relocated on the secondary node, which cause failure of Oracle Applications Load Balancing.
    Thank you for your advice.
    Moussa

    This is something I observed a long time ago for Safari (ie: around version 1). I'm not sure this is Safari, per se, but OpenSSL that is responsible for the behavior. I'm pretty sure Chrome does this and I've seen some Linux browsers do it.
    What I have done at the last two companies I've worked for is recommend that our clients do not use SSL SessionID as the way of tracking sticky sessions on web servers, but instead using IP address. This works in nearly all cases and has few downsides. The other solution is to use some sort of session sharing on your web servers to mitigate the issue (which also means that your web servers aren't a point of failure for your users' sessions). (One of the products I supported had no session information stored on the web servers, so we could safely round-robin requests, the other product could be implemented with a Session State Server... but in most cases we just used IP address to load balance with). The other solution is to configure your load balancer to terminate the SSL tunnel. You get some other benefits from this, such as allowing your load balancer to reduce the number of actual connections to the web servers. I've seen many devices setup this way.
    One thing to consider through this is that - due to the way internet standards work - this really can't be termed a bug on anyone's part. There is no guarantee in the SSL/TLS standards that a client will return the same SSL Session ID for each request and there is not requirement that subsequent requests will even use the same tunnel. Remember, HTTP is a stateless protocol. Each request is considered a new request by the web server and everything else is just trickery to try and get it to work the way you want. You can be annoyed at Safari's behavior, but it's been this way for over 5 years by my count, so I don't expect it to change.

  • The value returned from the load function is not of type numeric  errors after migration to Coldfusion 11

    I am currently testing our website with CF11. It is currently working with CF8 however after migrating it to a new server running CF11 I have encountered the following error.
    The value returned from the load function is not of type numeric.
    The error occurred in
    D:/Applications/CFusion/CustomTags/nec/com/objects/address.cfc: line 263
    Called from D:/Applications/CFusion/CustomTags/nec/com/objects/contact.cfc: line 331
    Called from D:/Applications/CFusion/CustomTags/nec/com/objects/user.cfc: line 510
    Called from D:/Applications/CFusion/CustomTags/nec/com/objects/user.cfc: line 1675
    Called from D:/website/NECPhase2/action.validate.cfm: line 54
    261 : <cfif isNumeric(get.idCountry)>
    262 : <cfset rc = this.objCountry.setID(get.idCountry)>
    263 : <cfset rc = this.objCountry.load()>
    264 : </cfif>
    265 : <cfset this.sPostcode = get.sPostcode>
    Have there been any changes between CF8 and CF11 that could  cause this error?
    Does anyone have ideas?

    This is the code in file object file country.cfc (nec.com.objects.country):
    <cfcomponent displayname="Country object" hint="This is a Country object, it allows you to access and set values in the Country.">
    <!---
    // Construct this object
    --->
    <cfset this.objFunctions = CreateObject( 'component', 'nec.com.system.functions' )>
    <cfscript>
      this.idCountryID = 0;
      this.sCountryName = "";
      this.sISOCode = "";
      this.sDHLCode = "";
      this.iErrorID = "";
    </cfscript>
    <!---
    // The following functions are the setters and getters. offering us a better way to get
    // at the contents of the object
    --->
    <!---
    // Getters
    --->
    <cffunction name="getID" displayname="Get ID" returntype="numeric" output="false" hint="This returns the ID of the current item.">
      <cfreturn this.idCountryID>
    </cffunction>
    <cffunction name="getsCountryName" displayname="Get sCountryName" returntype="string" output="false" hint="This gets the sCountryName value of this item.">
      <cfreturn this.sCountryName>
    </cffunction>
    <cffunction name="getsISOCode" displayname="Get sISOCode" returntype="string" output="false" hint="This gets the sISOCode value of this item.">
      <cfreturn this.sISOCode>
    </cffunction>
    <cffunction name="getsDHLCode" displayname="Get sDHLCode" returntype="string" output="false" hint="This gets the sDHLCode value of this item.">
      <cfreturn this.sDHLCode>
    </cffunction>
    <cffunction name="iError" displayname="Get iError" returntype="numeric" output="false" hint="This returns the iError of the current item.">
      <cfreturn this.iError>
    </cffunction>
    <!---
    // Setters
    --->
    <cffunction name="setID" displayname="Set ID" returntype="boolean" output="false" hint="This sets the ID value of this item.">
      <cfargument name="idCountryID" required="true" type="numeric" displayname="ID" hint="The ID to use.">
      <cfset this.idCountryID = arguments.idCountryID>
      <cfreturn true>
    </cffunction>
    <cffunction name="setsCountryName" displayname="Set sCountryName" returntype="boolean" output="false" hint="This sets the sCountryName value of this item.">
      <cfargument name="sCountryName" required="true" type="string" displayname="sCountryName" hint="The sCountryName to use.">
      <cfset this.sCountryName = arguments.sCountryName>
      <cfreturn true>
    </cffunction>
    <cffunction name="setsISOCode" displayname="Set sISOCode" returntype="boolean" output="false" hint="This sets the sISOCode value of this item.">
      <cfargument name="sISOCode" required="true" type="string" displayname="sISOCode" hint="The sISOCode to use.">
      <cfset this.sISOCode = arguments.sISOCode>
      <cfreturn true>
    </cffunction>
    <cffunction name="setsDHLCode" displayname="Set sDHLCode" returntype="boolean" output="false" hint="This sets the sDHLCode value of this item.">
      <cfargument name="sDHLCode" required="true" type="string" displayname="sDHLCode" hint="The sDHLCode to use.">
      <cfset this.sDHLCode = arguments.sDHLCode>
      <cfreturn true>
    </cffunction>
    <!---
    // Clear, to empty out the contents of this object
    --->
    <cffunction name="clear" displayname="Clear items Details" returntype="boolean" output="false" hint="Clears out all of the items details.">
      <cfscript>
       this.sCountryName = "";
       this.sISOCode = "";
       this.sDHLCode = "";
       this.iErrorID = "";
      </cfscript>
      <cfreturn true>
    </cffunction>
    <!---
    // The following functions deal with the load, save and deleting of objects
    --->
    <!---
    // Load
    --->
    <cffunction name="load" displayname="Load items details" returntype="numeric" output="false" hint="This loads in all the information about an item.">
      <cfset rc = this.clear()>
      <!---
      // First of all we need to get the name of the data source we are going to be using
      --->
      <cfscript>
      objDS = CreateObject("component","nec.com.system.settings");
      sDatasource = objDS.getDatasource();
    </cfscript>
      <!---
      // Check to see if it exists
      --->
      <cftry>
       <cfquery name="checkID" datasource="#sDatasource#">
        SELECT idCountryID
        FROM tblCountry
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("load: checkID: '#this.idCountryID#' #cfcatch.detail#");
        </cfscript>
        <cfset this.iErrorID = iErrorID>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfif not checkID.recordCount>
       <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         if(isDefined("session.afr")){
          whichOne = "#session.afr.getsAFRNumber()#";
         } else {
          whichOne = "";
         iErrorID = objError.addError("A Country with that id doesn't exists.[#this.idCountryID#][#whichOne#]");
        </cfscript>
       <cfset this.iErrorID = iErrorID>
       <cfreturn iErrorID>
      </cfif>
      <!---
      // If we got past all then then load in the details
      --->
      <cftry>
       <cfquery name="get" datasource="#sDatasource#">
        SELECT idCountryID, RTRIM(sCountryName) as sCountryName, RTRIM(sISOCode) as sISOCode, RTRIM(sDHLCode) as sDHLCode
        FROM tblCountry
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("load: get: #cfcatch.detail#");
        </cfscript>
        <cfset this.iErrorID = iErrorID>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfset this.idCountryID = get.idCountryID>
      <cfset this.sCountryName = get.sCountryName>
      <cfset this.sISOCode = get.sISOCode>
      <cfset this.sDHLCode = get.sDHLCode>
      <cfset this.iErrorID = "">
      <cfreturn true>
    </cffunction>
    <!---
    // Save
    --->
    <cffunction name="save" displayname="Save items Details" returntype="numeric" output="false" hint="Saves (to some source) the current details for the ID of the item.">
      <!---
      // First of all we need to get the name of the data source we are going to be using
      --->
      <cfscript>
      objDS = CreateObject("component","nec.com.system.settings");
      sDatasource = objDS.getDatasource();
    </cfscript>
      <!---
      // Now check to see if ithat ID exists
      --->
      <cftry>
       <cfquery name="checkID" datasource="#sDatasource#">
        SELECT idCountryID
        FROM tblCountry
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("save: checkID: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <!---
      // If it doesn't exist, then add the record, otherwise update the record
      --->
      <cfif not checkID.recordCount>
       <cfreturn this.add()>
      <cfelse>
       <cfreturn this.update()>
      </cfif>
    </cffunction>
    <!---
    // Add
    --->
    <cffunction name="add" displayname="Add Country" returntype="numeric" output="false" hint="This adds a Country.">
      <!---
      // Check to see if that a different item isn't already using the same unique details
      --->
      <cftry>
       <cfquery name="checkUnique" datasource="#sDatasource#">
        SELECT idCountryID
        FROM tblCountry
        WHERE sCountryName = '#this.objFunctions.scrubText(this.sCountryName)#'
        OR sISOCOde = '#this.objFunctions.scrubText(this.sISOcode)#'
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("add: checkUnique: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfif checkUnique.recordCount>
       <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("A Country with that name or ISO code already exists. idCountryID=#checkUnique.idCountryID#");
        </cfscript>
       <cfreturn iErrorID>
      </cfif>
      <cftry>
       <cfquery name="add" datasource="#sDatasource#">
        SET nocount on
        INSERT INTO tblCountry(sCountryName, sISOCode, sDHLCode)
        VALUES('#this.objFunctions.scrubText(this.sCountryName)#','#this.objFunctions.scrubText(t his.sISOCode)#','#this.objFunctions.scrubText(this.sDHLCode)#')
        SELECT @@identity as autoID
        SET nocount off  
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("add: add: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfreturn add.autoID>
    </cffunction>
    <!---
    // Update
    --->
    <cffunction name="update" displayname="Update Country" returntype="numeric" output="false" hint="This updates a Country record.">
      <!---
      // Check to see if that a different item isn't already using the same unique details
      --->
      <cftry>
       <cfquery name="checkUnique" datasource="#sDatasource#">
        SELECT idCountryID
        FROM tblCountry
        WHERE (sCountryName = '#this.objFunctions.scrubText(this.sCountryName)#'
        OR sISOCOde = '#this.objFunctions.scrubText(this.sISOcode)#')
        AND idCountryID <> #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("update: checkUnique: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfif checkUnique.recordCount>
       <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("Another Country with that name already exists. idCountryID=#checkUnique.idCountryID#");
        </cfscript>
       <cfreturn iErrorID>
      </cfif>
      <!---
      // Attempt to update the record to the datasource
      // if this fails for any reason then we submit an error message
      // to the error component and return the ID of the error
      --->
      <cftry>
       <cfquery name="update" datasource="#sDatasource#">
        UPDATE tblCountry
        SET sCountryName = '#this.objFunctions.scrubText(this.sCountryName)#',
        sISOCode = '#this.objFunctions.scrubText(this.sISOCode)#',
        sDHLCode = '#this.objFunctions.scrubText(this.sDHLCode)#'
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("update: update: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfreturn this.idCountryID> 
    </cffunction>
    <!---
    // Delete
    --->
    <cffunction name="delete" displayname="Delete Country" returntype="numeric" output="false" hint="This deletes a Country record.">
      <!---
      // First of all we need to get the name of the data source we are going to be using
      --->
      <cfscript>
      objDS = CreateObject("component","nec.com.system.settings");
      sDatasource = objDS.getDatasource();
    </cfscript>
      <!---
      // Now check to see if ithat ID exists
      --->
      <cftry>
       <cfquery name="checkID" datasource="#sDatasource#">
        SELECT idCountryID
        FROM tblCountry
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("delete: checkID: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfif not checkID.recordCount>
       <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("A Country with that id doesn't exists, delete failed.");
        </cfscript>
       <cfreturn iErrorID>
      </cfif>
      <!---
      // Now check to see if there are any dependancies, if so we can't delete the item
      --->
      <cftry>
       <cfquery name="checkDependancies" datasource="#sDatasource#">
        SELECT idCountry
        FROM tblAddress
        WHERE idCountry = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("delete: checkDependancies: idCountry: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfif checkDependancies.recordCount>
       <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("That Country is being used by an address, delete failed.");
        </cfscript>
       <cfreturn iErrorID>
      </cfif>
      <!---
      // Now attempt to remove the record.
      // if this fails for any reason then we submit an error message
      // to the error component and return the ID of the error
      --->
      <cftry>
       <cfquery name="delete" datasource="#sDatasource#">
        DELETE FROM tblCountry
        WHERE idCountryID = #this.idCountryID#
       </cfquery>
       <cfcatch>
        <cfscript>
         objError = CreateObject("component","nec.com.system.errors");
         iErrorID = objError.addError("delete: delete: #cfcatch.detail#");
        </cfscript>
        <cfreturn iErrorID>
       </cfcatch>
      </cftry>
      <cfreturn this.idCountryID>
    </cffunction>
    </cfcomponent>

  • Accessing individual server in load-balanced cluster not working as expected

    We have a cluster set up with multiple managed servers and hardware load
              balancers sitting in front to direct traffic. We have the frontend host
              configured to be the dns name of the single URL for the cluster, which maps
              to the IP address that the load balancers balance. When accessing part of
              our site (a WebLogic portal) at
              http://server1/portalApp/appmanager/portal/desktop
              (where server1 is the name of one of the managed servers)
              the portal performs a redirect to the login page at
              /portalApp/appmanager/portal/desktop?_nfbp=true&_pageLabel=login_page.
              The URL that results in the browser is not what I would expect, which would be
              http://server1/portalApp/...
              Instead, it is
              http://cluster/portalApp/...
              where cluster is the frontend host setting. Is there any way to avoid
              this, so we can perform directed testing on specific managed servers?
              Thanks,
              Andy
              

    Hi Maria, thanks for your help! I wrote a simple test jsp that does a
              redirect if a parameter is set, otherwise it doesn't do anything. When I
              accessed the jsp at server1/app/test.jsp?a=true, something (I assume
              either WebLogic or the load balancer) rewrote the URL after the redirect
              (the redirect was to /app/test.jsp). The URL that appears in the browser
              after the redirect is cluster/app/test.jsp. Do you know if this happens
              because of WebLogic or the load balancer? Our load balancers are Cisco
              11503's I believe.
              Do you think it would make any difference if I leave the frontend host
              for the cluster to be the dns name of the cluster, and then if I set the
              frontend host for each server to be the dns name of that specific server?
              Currently each server does not have any value entered for frontend host.
              Thanks!
              Andy
              Maria Carcedo <[email protected]> wrote in
              news:31424665.1108079763742.JavaMail.root@jserv5:
              > Hi Andy!
              >
              > We had basically the same problem and we fixed it by configuring the
              > F5 load balancer to maintain the session with whichever server it
              > started the connection with. We had to enable cookie persistence, more
              > specifically the Active HTTP Cookie, with Method insert (do not enter
              > any expiration or anything else in any other field other than what is
              > already there when the page loads -> F5 bug).
              >
              > So if the original request from the portal goes to server1, every
              > subsequent request will go to server1 as well. The next session
              > request will go to server2 and every subsequent request within that
              > session will go to server 2, and so on (assuming you have round
              > robin).
              >
              > I hope this helps!
              >
              > Maria
              

  • Load balancing is not happening on RAC (oracle 11g Rel 2) on Linux 5.1

    Hi,
    Load balancing is not happening on Oracle 11g RAC. We have defined the SCAN listener and confured the TNS accordingly. Still we get the load maximum on node2 and less load on Node1 or vice versa. Please suggest me what to do?

    This is not the right forum to ask this question.
    regards

  • Business Objects XI 3.1 load balancing (is not balancing).

    We have 2 x Tomcat servers running on 2 seperate Solaris servers.  Users access XI via a load balanced URL which hits one or other of these 2 servers.  However, this is not happening.  What we see is that which ever server the load balancer hits first (after Tomcat server restarts), all subsequent sessions are connected to that Tomcat server.  We see no traffic in the other Tomcat's logs.  My IP engineers have assured me it's not the CSM (h/w load balancer) and that the sticky bit is correctly set.  What ever I try we only get 1 Tomcat server doing any work.  If 1 Tomcat is up and the other down, the load balancing works as expected - i.e. all traffic hits the live Tomcat server.  It's just when the 2 are up and running it does not behave as expected.  We have BO XI configured for Silent Single Sign-On (SSSO) with Windows AD.  When the Tomcat servers start up the LDAP + SSSO initialisation can be seen to be successful in both Tomcat logs.
    Is there any special session stickiness or cookie settings the h/w load balancer needs to be configured with ?
    Is there something that needs to be configured in Tomcat, especially as we have SSSO configured ?
    s/w versions:
    BO XI 12.1.0
    Tomcat 5.5  (standard install deployment)
    Any suggestiojns gratefully recieved.
    Thanks
    Rich

    Load balancer as well as Tomcat servers are not part of BOE product, so you do not have a problem with Xi3.1 load balancing.
    BOE simply has no play between LB and Tomcats.
    If you have 10 DIFFERENT user sessions and all of them or majority of them go to only one of 2 tomcats -- this is a problem with your loadbalancer and has nothing to do with BOE or session persistancy.
    If you have ONE user session and all request go to a single tomcat , then your session persistancy is set correctly and everything works as expected.

  • Error #2046: The loaded file did not have a valid signature.

    I have three different applications which suddenly stopped working with this error
    Error #2046: The loaded file did not have a valid signature.
    None of the sites has been touched in Months, I assumed they would keep working the way they had.
    I wonder how many other sites are experiencing this and how many PO'd customers there are out there??
    This is really bad business practice, what is causing it?
    Dan Pride
    Note: the three were developed around the same time, one domain went down for a few days and was then renewed????

    Daniel... have you found a solution to your problem?
    I am also having the same problem. I was googling with no avail, when I noticed you added this post just yesterday,
    so I am thinking that adobe has done something to the swz files hosted on thier servers.
    Can someone from Adobe confirm if anything was done to either swz files or the crossdomain files on their end?
    I am in the same boat as you... no changes on our side, but the application has suddenly stopped working.
    We were building against a beta build of flex 4 (4.0.0.10485)
    I wonder which sdk version you are using?
    Here is what I see through the debugger...
    Warning: Ignoring 'secure' attribute in policy file from http://fpdownload.adobe.com/pub/swz/crossdomain.xml. The 'secure' attribute is only permitted in HTTPS and socket policy files. See http://www.adobe.com/go/strict_policy_files for details.
    [SWF] C:\Inetpub\wwwdata\xxxxxxxxx_Application.swf - 847,661 bytes after decompression
    Error #2046: The loaded file did not have a valid signature.
    Failed to load RSL http://fpdownload.adobe.com/pub/swz/flex/4.0.0.10485/framework_4.0.0.10485.swz
    Failing over to RSL framework_4.0.0.10485.swz
    Error #2046: The loaded file did not have a valid signature.
    PS... I have tried multple PCs (XP, Vista, Server 2008) with different versions of flash player (10.0.45.2, 10.0.22.87)
    Any help appreciated.

  • WLC 4404 - Clearing the Load Balancing Statistics?

    Does anyone know of a way to clear the load balancing statistics from a WLC 4404?  I've looked through the gui and CLI and can't seem to find a way to do it.
    Thanks,
    Rob

    You can do a 'show summary' to see the number of connections that have been sent to each servers.
    You can't see the number of bytes so.
    I would suggest to collect this info on the server.
    Regards,
    Gilles.

  • Using the load balancer

    Hi, I just started using the SJWS7.0. When a client sends a request, is the request to the load balancer server name or the admin server name? Any information on how to use the load balancer will also be appreciated

    The server where the load balancer is running. The admin server has not play in the load balancing beyond allowing you to configure and manage it using the administration console.

Maybe you are looking for

  • Can I move music from my computer to my phone?

    HI everyone, Just bought a Palm Pre Plus and was wondering if it was posisble to pull MP3 files from my computer to my phone. Do I need any software installed on my phone or PC before it plug it in via USB?

  • HP M7246N Media Center Drive Bay

    I have a HP M7246N Media Center Tower, when I insert a HP Personal Media Drive into the Bay, the Drive lights come on, I do not see the Drive listed with the other My Computer USB Personal Media Drives. Where should you see the drive. Do I have to do

  • Updating ipad 2 to io6 using wifi

    Im selling my iPad 2 (getting the new generation  iPad 4) to a friend who doesn't have a computer or notebook , although he has internet service at home which he use basically for phone service. I was wondering if he can update the iPad 2 to io6 usin

  • Same exact update runs fine in one db but causes ORA-00904 in another

    I have an update statement that runs fine in one db but causes "" error in another. The two databases table structures are the same. I checked for synonyms and reserved words on BASE and COMPANY_ID but did not come up with anything. The db where it i

  • No data in BI DEMO Cubes?

    We are into the demo phase of the project and we planned to show some queries using the data from the DEMO cubes provided by SAP. We just installed Purchasing cube 0D_PU_C01 from the Business Content and it went fine but NO DATA was installed. a) Are