Proxy plugin - Debug parameter values

Up until a few months ago the proxy plugin documentation for WLS 8.1 included multiple values that the Debug parameter could be set to (e.g ALL to see just about everything, ones to see just headers etc). Now it only seems to have True|False. http://e-docs.bea.com/wls/docs81/plugins/plugin_params.html#1154491
Is there a reason this was changed? The old way was much more flexibile.
Has this been changed for the latest SP?
I am holding out some hope that maybe the documentation is incorrect.... Debug=ALL still works for 8.1 sp4

all the options seem to be there and working.
we are using DEBUG=ERR, since ALL crashes linux when the log grows to 2GB!

Similar Messages

  • Debug Reverse Proxy Plugin

    Is there any way to debug the reverse proxy plugin? I am running the following plugin (info: PASS1000: Sun ONE Web Server 6.1SP3 Reverse Proxy Plugin B09/09/2004 11:59) on the following webserver( Sun ONE Web Server 6.1SP5 B06/23/2005 17:36).
    I have the following obj.conf file:
    #AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
    NameTrans fn="assign-name" from="/amconsole(|/*)" name="default.system"
    NameTrans fn="assign-name" from="/amserver(|/*)" name="default.system"
    NameTrans fn="assign-name" from="/uwc(|/*)" name="default.system"
    NameTrans fn="assign-name" from="/*" name="messengerXpress"
    NameTrans fn="ntrans-j2ee" name="j2ee"
    NameTrans fn=pfx2dir from=/mc-icons dir="/opt/SUNWwbsvr/ns-icons" name="es-internal"
    NameTrans fn=document-root root="$docroot"
    PathCheck fn=unix-uri-clean
    PathCheck fn="check-acl" acl="default"
    PathCheck fn=find-pathinfo
    PathCheck fn=find-index index-names="index.html,home.html,index.jsp"
    ObjectType fn=type-by-extension
    ObjectType fn=force-type type=text/plain
    Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
    Service method=(GET|HEAD) type=magnus-internal/directory fn=index-common
    Service method=(GET|HEAD|POST) type=*~magnus-internal/* fn=send-file
    Service method=TRACE fn=service-trace
    Error fn="error-j2ee"
    AddLog fn=flex-log name="access"
    </Object>
    <Object name="j2ee">
    Service fn="service-j2ee" method="*"
    </Object>
    <Object name="cgi">
    ObjectType fn=force-type type=magnus-internal/cgi
    Service fn=send-cgi user="$user" group="$group" chroot="$chroot" dir="$dir" nice="$nice"
    </Object>
    <Object name="es-internal">
    PathCheck fn="check-acl" acl="es-internal"
    </Object>
    <Object name="send-compressed">
    PathCheck fn="find-compressed"
    </Object>
    <Object name="compress-on-demand">
    Output fn="insert-filter" filter="http-compression"
    </Object>
    <Object name="default.system">
      ObjectType fn="check-passthrough" type="magnus-internal/passthrough"
    </Object>
    <Object name="messengerXpress">
      ObjectType fn="force-type" type="magnus-internal/passthrough"
      Service type="magnus-internal/passthrough" fn="service-passthrough" servers="http://uwc.unca.edu:8080"
    </Object>When I access http://uwc.unca.edu/ I expect to be forwarded to the login page on http://uwc.unca.edu:8080/. Instead I see the index.html page from the default web server.
    What is wrong with this setup?
    Thanks,
    Pete

    Dear elving,
    I am facing the problem to configure reverse proxy plugin.From webserver 6.1 sp8 I want to serve pages that are on application server
    our evirnonment
    INTERNET<---------->Sun Webserver 6.1sp8<---------->sun one application server
    only webserver is visible to internet & appserver is in intranet environment.
    no one will give hit directly to appserver.
    www.abc.com running on webserver on default port 80.If I type www.abc.com, displays its pages
    when I type www.abc.com/bsd it should serve the pages on app server without changing url in the browser
    ==================================================
    Here my configuration files
    obj.conf
    # You can edit this file, but comments and formatting changes
    # might be lost when the admin server makes changes.
    # Use only forward slashes in pathnames--backslashes can cause
    # problems. See the documentation for more information.
    <Object name="default">
    AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
    NameTrans fn="assign-name" from="/idm" name="passthrough1"
    NameTrans fn="ntrans-j2ee" name="j2ee"
    NameTrans fn="pfx2dir" from="/mc-icons" dir="D:/Sun/WebServer6.1/ns-icons" name="es-internal"
    NameTrans fn="document-root" root="$docroot"
    PathCheck fn="nt-uri-clean"
    PathCheck fn="check-acl" acl="default"
    PathCheck fn="find-pathinfo"
    PathCheck fn="find-index" index-names="index.html,home.html,index.jsp"
    ObjectType fn="type-by-extension"
    ObjectType fn="force-type" type="text/plain"
    Service method="(GET|HEAD)" type="magnus-internal/imagemap" fn="imagemap"
    Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
    Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
    #Service method=(GET|HEAD) type="*/*" fn="service-passthrough" servers="http://150.2.0.216"
    Service method="TRACE" fn="service-trace"
    Error fn="error-j2ee"
    AddLog fn="flex-log" name="access"
    </Object>
    <Object name="j2ee">
    Service fn="service-j2ee" method="*"
    </Object>
    <Object name="cgi">
    ObjectType fn="force-type" type="magnus-internal/cgi"
    Service fn="send-cgi"
    </Object>
    <Object name="es-internal">
    PathCheck fn="check-acl" acl="es-internal"
    </Object>
    <Object name="passthrough1">
    ObjectType fn="force-type" type="magnus-internal/passthrough"
    Service type="magnus-internal/passthrough" fn="service-passthrough" servers="http://150.2.0.216:8080/idm"
    </Object>
    ======================================
    magnus.conf
    # The NetsiteRoot, ServerName, and ServerID directives are DEPRECATED.
    # They will not be supported in future releases of the Web Server.
    NetsiteRoot D:/Sun/WebServer6.1
    ServerName abc
    ServerID https-www.abc.com
    RqThrottle 128
    DNS off
    Security off
    ExtraPath D:/Sun/WebServer6.1/bin/https/bin
    Init fn=flex-init access="$accesslog" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
    Init fn="load-modules" shlib="D:/Sun/WebServer6.1/bin/https/bin/j2eeplugin.dll" shlib_flags="(global|now)"
    Init fn="load-modules" shlib="D:/Sun/WebServer6.1/plugins/passthrough/passthrough.dll"
    funcs="init-passthrough,auth-passthrough,check-passthrough,service-passthrough" NativeThread="no"
    ============================
    Looking for ur reply
    Thanks in advance
    Edited by: madh0000 on Dec 10, 2007 8:27 PM

  • Missing parameter values while getting the RowsetCursor

    Hi,
    We are getting the below stack trace while getting the RowsetCursor from reportClientDocument. Please advice if are doing something wrong here or some alternate to get this working.
    //Exception Occured : com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Missing parameter values.---- Error code:-2147217394 Error code name:missingParameterValueError
    |1249487250|Exception occurred : Missing parameter values.
    |1249487250|StackTrace : com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Missing parameter values.---- Error code:-2147217394 Error code name:missingParameterValueError
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.s.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.RowsetController.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.RowsetController.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.RowsetCursor.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.RowsetCursor.getRowset(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.RowsetController.createCursor(Unknown Source)
    The code we are using is as follows
    //Adding parameter
                                                 Fields pFields = new Fields();
              IParameterField parameterField = new ParameterField();
              parameterField.setName("PP");
              parameterField.setDescription("PPDesc");
              parameterField.setValueRangeKind(ParameterValueRangeKind.discrete);
              parameterField.setParameterType(ParameterFieldType.queryParameter);
              parameterField.setType(FieldValueType.stringField);
              parameterField.setAllowCustomCurrentValues(true);
              parameterField.setAllowMultiValue(false);
              parameterField.setAllowNullValue(false);          
              Values strValues = new Values();        
             ParameterFieldDiscreteValue pFDVStr = new ParameterFieldDiscreteValue();
             pFDVStr.setValue("myValue");
             strValues.add(pFDVStr);          
              parameterField.setDefaultValues(strValues);
              //parameterField.setCurrentValues(strValues);
              parameterField.getCurrentValues().clear();
              parameterField.getCurrentValues().add(pFDVStr);
              pFields.add(parameterField);
    //Adding the parameterised SQL to report as command table where {?PP} is a parameter
                                boNewCommandTable.setConnectionInfo(connectionInfo);
               boNewCommandTable.setCommandText(strSelect);
               boNewCommandTable.setName("MyCommandTable");
               boNewCommandTable.setParameters(pFields);
               try {
                    logger.debug(" adding query to report");
                    reportClientDocument.getDatabaseController().addTable(boNewCommandTable, null);
                    logger.debug(" done adding query to report");
               }catch(Exception e){
                    logger.fatal("query not set" + e);
                    throw e;
              reportClientDocument.getDatabaseController().logon(dbUid, dbPass);
              try {
                   reportClientDocument.verifyDatabase();
                   logger.debug("Database verified for ReportClientDocument");
              } catch (Exception e) {
                   logger.fatal("ReportSDKException Occurred " + e);
                   throw e;
    //Rowset                    
                        int rptRecordCount = 0;
              try{
                   RowsetMetaData rowsetMetadata = new RowsetMetaData();
                   Fields resultFields = reportClientDocument.getDataDefinition().getResultFields();
                   rowsetMetadata.setDataFields(resultFields);
                   RowsetCursor rowsetCursor = reportClientDocument.getRowsetController().createCursor(null, rowsetMetadata);
                   rptRecordCount = rowsetCursor.getRowset().getTotalRecordCount();
                   System.out.println("Processed: got rowset and report record count="+rptRecordCount+".");
              }catch(Exception ex){
                   logger.fatal("Exception Occured : " + ex);
                   ex.printStackTrace();
                   throw ex;

    Please post your SDK development questions to the Developers forum

  • How to capture a parameter value in SQL QUERY of scale marker using GO URL

    Hi,
    Can any one please tell me how to capture the parameter value from go url inside Where clause of Scale Marker.
    I am trying to sift the position of scale marker based on SQL Query.
    Thanks-Bhaskar Gouda.
    Edited by: 961171 on Sep 25, 2012 12:33 AM

    Since this is a synchronous interface, where source is a soap(proxy) call and target is JDBC in the first mapping both of them are request scenarios.
    Source Structure:
    RootNode
        Request             1...unbounded
           No_of_Days   1.1 String
    Target Structure:
    RootNode
       Statement
         TableName
             Action mapped to SQL_QUERY
            Access -  SELECT DISTINCT AL.EC_NO,DP.DATE_TO_FORMAL FROM T_APPLICATION_LIST AL,(SELECT DE.EC_NO AS "EC_NO", DE.PACKAGE_NO AS "PACKAGE_NO",PC.DATE_TO_FORMAL AS "DATE_TO_FORMAL" FROM DAICYO_ECNO DE,PACKAGECTL PC WHERE DE.PACKAGE_NO = PC.PACKAGE_NO AND PC.DATE_TO_FORMAL > (TRUNC(SYSDATE) - to_number('$No_Of_DAYS$'))) DP WHERE AL.EC_NO IN  (SELECT EC_NO FROM DAICYO_ECNO WHERE PACKAGE_NO IN (SELECT PACKAGE_NO FROM PACKAGECTL WHERE DATE_TO_FORMAL > (TRUNC(SYSDATE) - to_number('$No_Of_DAYS$')))) AND (AL.FAMILY = ''  or  '' is null and AL.FAMILY is not null ) and DP.EC_NO = AL.EC_NO ORDER BY DATE_TO_FORMAL
         Key
          No_Of_Days   1..1 String
    In Return I am expecting a JDBC response from the Oracle Database as:
    Source Structure:
    RootNode
      STATEMENT_response   1...unbounded
         row                               0...undbounded
           EC_NO                        1..1   String
    Target Structure:
    RootNode
      RESPONSE
        row
         EC_NO                     1..1     String

  • ReportDocument.ExportToStream raises "Missing Parameter Values" exception

    Hi,
    I have a web app built using VS 2008 which runs many reports developed in CR 2008. Most of these reports take parameters and many have embedded subreports. Many of the reports can either be viewed directly or e-mailed. For the latter, I use ReportDocument.ExportToStream(ExportFormatType.PortableDocFormat) to export a PDF file which then gets attached to the e-mail.
    One set of reports works fine when viewed directly, but raises a "Missing Parameter Values" exception when I try to generate the PDF.  All the other reports, seemingly similar in most respects, including the number and type of parameters, work fine when calling ExportToStream.
    Here is the really strange part: the exception is spurious. I wrapped the whole thing in a try/catch block to better examine the exception, hoping to find which parameter value is actually missing.  I could not identify the missing parameter value, but once I handled the exception, the report runs fine and converts to PDF.
    Any hints as to what could be causing this problem?  It seems like a really bad hack to solve the problem using a try/catch in this way.
    Thanks.
    Dan

    Thanks for the quick response. Your code was very instructive, but did not help yet.  Here is what I have:
    (This response is too long for a single post, so I will split it and finish in the next post.)
    ReportDocument rptDoc = new ReportDocument();
    rptDoc.Load(strReportSourceFolder + strReportName + ".rpt");
    rptDoc.SetParameterValue("ClientID", lngKeyFieldID);
    rptDoc.SetParameterValue("Role", "Client");
    This is followed by an amazing chunk of code, provided to me by a guy at SAP Tech Support, who said it was necessary to pass database credentials programatically.  It iterates the tables in the ReportDocument and individually sets the LogonInfo. (I say "amazing" because it astounds me you have to jump through such hoops for something that should be routine and easy.)  The commented lines are just to help in debugging.
    ConnectionInfo conn = new ConnectionInfo();
    conn.ServerName = "myServer";
    conn.DatabaseName = "myDB";
    conn.UserID = "myUserID";
    conn.Password = "myPassword";
    Tables tables = rptDoc.Database.Tables;
    foreach (Table table in tables)
      //string str= table.TestConnectivity().ToString());
      TableLogOnInfo tableLogonInfo = table.LogOnInfo;
      tableLogonInfo.ConnectionInfo = conn;
      table.ApplyLogOnInfo(tableLogonInfo);
      //table.Location = table.Location;                        
    This is followed by the viewer stuff:
    CrystalReportViewer1.DisplayGroupTree = false;
    CrystalReportViewer1.DisplayToolbar = true;
    CrystalReportViewer1.HasToggleGroupTreeButton = false;
    CrystalReportViewer1.HasToggleParameterPanelButton = false;
    CrystalReportViewer1.Page.Title = strReportName;
    CrystalReportViewer1.ReportSource = rptDoc;
    Up to here, it works fine, displaying the report.  If the report is also to be e-mailed, the following is executed:
    if (bEmail)
      //  export to PDF, then mail that
      SmtpClient client = new SmtpClient();
      MailAddress from = new MailAddress(ConfigurationManager.AppSettings["ReportMailFrom"].ToString());
      MailMessage message = new MailMessage();
      message.From = from;
      message.SubjectEncoding = System.Text.Encoding.UTF8;
      message.Subject = "E-mail BackOffice report: " + strReportName;
      try
        foreach(ParameterField field in rptDoc.ParameterFields)
          Logger.LogEvent("test", "", field.ToString(), "Trace", null, true, true);
          Logger.LogEvent("test", "", "Name: " + field.Name, "Trace", null, false, false);
          Logger.LogEvent("test", "", "PromptText: " + field.PromptText, "Trace", null, false, false);
          Logger.LogEvent("test", "", "IsOptionalPrompt: " + field.IsOptionalPrompt, "Trace", null, false, false);
        MemoryStream memStream = (MemoryStream)rptDoc.ExportToStream(ExportFormatType.PortableDocFormat);
        Attachment data = new Attachment(memStream, MediaTypeNames.Application.Pdf);
        ContentDisposition disposition = data.ContentDisposition;
        disposition.CreationDate = DateTime.Now;
        disposition.ModificationDate = DateTime.Now;
        disposition.FileName = strReportName + ".pdf";
        disposition.DispositionType = DispositionTypeNames.Attachment;
        message.Attachments.Add(data);
      catch (Exception ex)
        Logger.LogEvent("error", "Page_Load", strReportName + " Exception: " + ex.Message, "Trace", null, true, true);
      //  ...  do the rest of the stuff to create & send the e-mail
    (The rest of this message will be in the following post.  Sorry it is so long.)

  • CrystalReportViewer: "Missing parameter values with implemented error event

    I'm using the CrystalReportViewer in APS.net (C#), and try to display a report in it.
    I've implemented the error event of the viewer to show the user a different error message than the viewer itself does.
             this.CrystalReportViewer.Error += new CrystalDecisions.Web.ErrorEventHandler(CrystalReportViewer_Error);
          protected void CrystalReportViewer_Error(object source, CrystalDecisions.Web.ErrorEventArgs e)
             var msg = "Error in CrystalReportViewer\r\n{0}".FormatInvariant(e.ErrorMessage);
             throw new InvalidOperationException(msg);
    But.... Now if I want to show a report that has parameters in it, the parameter page does not appear before the report itself. How can I make my code work (without removing the implementation of the error event), so the viewer first shows the parameter page, before showing the actual report?

    And in the Page_Load method:
    this.CrystalReportViewer.Error += new CrystalDecisions.Web.ErrorEventHandler(CrystalReportViewer_Error);
    I've done this so i can show my own error page to the user of the website. Otherwise the CRViewer shows his own error, and I do not want the user of the website to see this 'technical' error.
    So i've implemented the CrystalReportViewer.Error method:
    protected void CrystalReportViewer_Error(object source, CrystalDecisions.Web.ErrorEventArgs e)
       // Missing parameter values.
       var discardToShowParameterPrompt = (e.ErrorMessage.ToUpperInvariant() == "Missing parameter values.".ToUpperInvariant())
         || (e.ErrorMessage.ToUpperInvariant() == "Ontbrekende parameterwaarden.".ToUpperInvariant());
       if (discardToShowParameterPrompt)
          _Log.Debug("The parameter screen should be displayed now.");
       else
          var msg = "Error in CrystalReportViewer: {0}".FormatInvariant(e.ErrorMessage);
          throw new InvalidOperationException(msg);
    If I load a report with no params in the report, the page shows immediately the report.
    If I load a report with params in the report, the params page is shown, the user can enter the param values, and after pressing OK, the report is shown.
    If an error occurs (for example the report cannot connect to the database), the viewer does NOT show the error (because i've implemented the _error event) but my code throws an InvalidOperationException, and this is handled by code so the error is logged to a file, and the user gets a user friendly message on the website.
    If i do not implement the _error event, the user will see the technical error in the crystal reports viewer.
    If I comment out the code where I'm looking for the string "Missing parameter values." (or "Ontbrekende parameterwaarden") the parameter page will not be shown, and an error will be thrown by the Crystal Reports viewer.
    If I put e.handled = true in the _error event, and there is an error (for example the database cannot be found), no error will be thrown, and there is nothing to see in the viewer.
    So for now the only way to get the params page is to implement the _error event the way i've done in the above code, checking the error message on a string value.

  • WebLogic proxy plugin: getPooledConn: No more connections in the pool

    Hi,
    We have weblogic proxy plugin installed in Sun One web server. but frequently we are getting following errors in proxy log:
    <1670612410085901> attempt #0 out of a max of 5
    <1670612410085901> Trying a pooled connection for '<IP>/<port>/<port>'
    <1670612410085901> getPooledConn: No more connections in the pool for Host [<IP>] Port[<port>] SecurePort[<port>]
    Can anybody please tell how this proxy plugin manages connection pools? I don't find any minimum / maximum number of conection to mention anywhere or how exactly it works?

    Try increasing the "AcceptBackLog" settings on the weblogic server and then verify for any changed behavior.
    Raise the Accept Backlog value from the default by 25 percent. Continue increasing the value by 25 percent until the messages cease to appear.
    Link :[http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1136287]

  • IP address lost in Weblogic proxy plugin

              Hi,
              We have 4 web servers that forward requests for jsps to 10 weblogic instances
              working in a cluster. The web servers have IPlanet with weblogic proxy plugin.
              One of the jsps has logic to retrieve the client's IP address and then return
              the name of the country to which the IP address belongs. But since the jsp always
              receives requests from one of the 4 web servers on the same LAN, it gets only
              the internal IP address of the web server and returns no country code. To retrieve
              the IP address of the caller in the jsp, I'm using
              ipAddress = request.getRemoteAddr();
              How can I make my jsp know the actual source IP address of the client (i.e the
              end user)?
              Any help would be appreciated.
              Dipak Jha
              

    Try increasing the "AcceptBackLog" settings on the weblogic server and then verify for any changed behavior.
    Raise the Accept Backlog value from the default by 25 percent. Continue increasing the value by 25 percent until the messages cease to appear.
    Link :[http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1136287]

  • Bug while using string parameter values in postgresql query

    Hi,
    I have the following query for the postgresql database:
    Code:
    <queryString><![CDATA[SELECT
    evt_src_mgr_rpt_v."evt_src_mgr_name" AS esm_name,
    evt_src_collector_rpt_v."evt_src_collector_name" AS collector_name,
    evt_src_grp_rpt_v."evt_src_grp_name" AS grp_name,
    evt_src_grp_rpt_v."state_ind" AS state_ind,
    evt_src_rpt_v."evt_src_name" AS src_name,
    evt_src_rpt_v."date_modified" AS date_modified,
    evt_src_rpt_v."date_created" AS date_created,
    CASE WHEN $P{mysortfield} = 'evt_src_mgr_name' THEN evt_src_mgr_name
    WHEN $P{mysortfield} = 'evt_src_collector_name' THEN evt_src_collector_name
    WHEN $P{mysortfield} = 'evt_src_grp_name' THEN evt_src_grp_name
    ELSE evt_src_name END as sort
    FROM
    "evt_src_mgr_rpt_v" evt_src_mgr_rpt_v
    LEFT JOIN
    "evt_src_collector_rpt_v" evt_src_collector_rpt_v
    ON EVT_SRC_MGR_RPT_V."evt_src_mgr_id" = evt_src_collector_rpt_v."evt_src_mgr_id"
    LEFT JOIN
    "evt_src_grp_rpt_v" evt_src_grp_rpt_v
    ON evt_src_collector_rpt_v."evt_src_collector_id" = evt_src_grp_rpt_v."evt_src_collector_id"
    LEFT JOIN
    "evt_src_rpt_v" evt_src_rpt_v
    ON evt_src_grp_rpt_v."evt_src_grp_id" = evt_src_rpt_v."evt_src_grp_id"
    LEFT JOIN
    "evt_src_offset_rpt_v" evt_src_offset_rpt_v
    ON evt_src_rpt_v."evt_src_id" = evt_src_offset_rpt_v."evt_src_id"
    WHERE
    $P!{mysortfield} LIKE '$P!{searchvalue}' || '%']]></queryString>
    That is I try to select only the records where the field which is
    selected by user as report parameter ($P{mysortfield}) contains data
    starting with the text entered by user as a report parameter
    ($P{searchvalue}).
    When I try to run the report in iReport with active connection to the
    database the report is generated as expected.
    But when I try to run the report from Sentinel Log Manager I get the
    following error: "java.lang.String cannot be cast to
    net.sf.jasperreports.engine.JRValueParameter".
    After several detailed debug sessions I finally came into a conclusion
    that this error is related to the use of parameter values (
    $P!{mysortfield} and $P!{searchvalue} ).
    I even tried using the following WHERE clause (which emulates the
    queries as used in standart reports (especially at VendorProduct related
    SQL queries ) with no success:
    Code:
    WHERE
    ($P{mysortfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
    Any suggestions?
    hkalyoncu
    hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
    View this thread: http://forums.novell.com/showthread.php?t=450687

    bweiner12345;2167651 Wrote:
    > I'm not 100% sure the $P! (instead of just $P) is needed in that WHERE
    > portion of your SQL statement.
    >
    > What I would suggest doing is building the WHERE portion of your query
    > up again step by step. That is, instead of using any parameters in your
    > WHERE:
    >
    > $P!{mysortfield} LIKE '$P!{searchvalue}' || '%'
    >
    > ... take a step back and literally hard-code some values in there, such
    > as:
    >
    > evt_src_mgr_name LIKE '%' || '%'
    >
    > ... and run it on your box to make sure it works fine.
    >
    > If it works fine, start substituting the parameters one by one:
    >
    > $P{mysortfield} LIKE '%' || '%'
    >
    > .... test on the box.
    >
    > $P{mysortfield} LIKE '$P{searchvalue}' || '%'
    >
    > .... test on the box.
    >
    > It may be a little tedious, but at least you'll find out where the
    > problem is occurring... and may be quicker in the long run.
    >
    > (Note: In my above example steps I didn't use the ! in with the
    > parameters, as I don't think they are needed in the WHERE clause... but
    > I could be wrong... and by following the above step-by-step technique
    > should answer that for sure.)
    Thank you for the suggestions:
    While trying to implement your suggestions I realized that there was a
    error at the parameter name I used inside the where clause (it should be
    $P{searchfield}).
    Here are my results:
    Code:
    vt_src_mgr_name LIKE '%' || '%'
    worked as expected.
    Code:
    $P{searchfield} LIKE '%' || '%'
    produced PDF but wrong output.
    Code:
    $P!{searchfield} LIKE '%' || '%'
    resulted with the error "java.lang.String cannot be cast to
    net.sf.jasperreports.engine.JRValueParameter" and no PDF.
    Then I tried the following where clause which resulted in exactly as
    expected PDF:
    Code:
    WHERE
    ($P{searchfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
    As a summary:
    * The query which works in iRepord do not work in Sentinel Log
    Manager.
    * I found a workaround for my case.
    * I did not checked, but the reports provided in Sentinel RD which use
    the same technique for VendorProduct parameter (i.e. the reports with
    query string containing
    Code:
    LIKE ($P{VendorProduct} || '%')
    will most probably not work as expected IF Sentinel RD uses the same
    code as Sentinel Log Manager.
    hkalyoncu
    hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
    View this thread: http://forums.novell.com/showthread.php?t=450687

  • Weblogic proxy plugin closes keep-alive connections to clients randomly

    In short we have following arhitecture:
    clients ---> wl proxy plugin 1 ----> weblogic 1
    clients ---> wl proxy plugin 2 ----> weblogic 2
    Beacuse of the application/installation specific requirements, we are not using failover, one wl proxy always forwards requests to one weblogic (simple configuration).
    Application is TR-069 protocol based (SOAP over HTTP) so it very much relays on persistence TCP connections (Connection: keep-alive). This TCP persistence has to work correctly in order that TR-069 messages are exchanged in required order, otherwise we have a error on application layer.
    Here and there we've noticed applications errors which suggest that we have some problems in TCP connection between the client and the weblogic server. After sniffing, we've noticed that weblogic proxy plugin (Apache) randomly, or because of some other reason we do not know, decides to close TCP connection to client, even app on weblogic did not request so ???
    As a result, client opens new connection to the server with new TR-069 session and it gets bounced beacuse it allready has one open on weblogic server.
    We've sniffed, traced everything we could, we were searching for patterns in time, etc... but we can not find the reason why proxy plugin decides to close the connection to the client (not to the weblogic server).
    Trace (replaced sensitive information):
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: CompleteStatusLine set to [HTTP/1.1 200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: StatusLine set to [200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> parsed all headers OK
    Thu Apr 29 15:05:50 2010 <958012725463463784> sendResponse() : r->status = '200'
    Thu Apr 29 15:05:50 2010 <958012725463463784> canRecycle: conn=1 status=200 isKA=1 clen=545 isCTE=0
    Thu Apr 29 15:05:50 2010 <958012725463463784> closeConn: pooling for '$IP$/$PORT$'
    Thu Apr 29 15:05:50 2010 <958012725463463784> request [$URL$] processed successfully..................
    !!!! Now it closes the TCP connection and inserts "Connection: close" HTTP header !!!
    WL proxy plugin conf params are:
    WebLogicCluster $IP$:$PORT$
    DynamicServerList OFF
    KeepAliveTimeout 90
    MaxKeepAliveRequests 0
    KeepAliveSecs 55
    Apache worker configuration is:
    <IfModule mpm_worker_module>
    PidFile var/run/httpd-worker.pid
    LockFile var/run/accept-worker.lock
    StartServers 2
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadLimit 200
    ThreadsPerChild 200
    MaxClients 2000
    MaxRequestsPerChild 0
    AcceptMutex pthread
    </IfModule>
    Why weblogic proxy plugin ignores Keep-alive directive and decides to close connection to the client by itself?
    Any help?

    If a WebLogic Server instance listed in either the WebLogicCluster parameter or a dynamic cluster list returned from WebLogic Server fails, the failed server is marked as "bad" and the plug-in attempts to connect to the next server in the list.
    MaxSkipTime sets the amount of time after which the plug-in will retry the server marked as "bad." The plug-in attempts to connect to a new server in the list each time a unique request is received (that is, a request without a cookie).
    Note: The MaxSkips parameter has been deprecated as the MaxSkipTime parameter.
    See also here: http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/plugins/plugin_params.html
    You said the problem arises under significant load. Maybe, it is wise to tune the number file descriptor's on your operating system. HTTP connections are nothing more than TCP sockets on the operating system. All modern operating systems treat sockets as a specialized form of file access and use data structures called file descriptors to track open sockets and files for an operating system process. To control resource usage for processes on the machine, the operating system restricts the number of open file descriptors per process. You should be aware that all TCP connections that have been gracefully closed by an application will go into what is known as the TIME_WAIT state before being discarded by the operating system.
    On most unix systems you can use netstat -a | grep TIME_WAIT | wc -l to detemine the number of socket in time_wait state. You have to check with your system adminstrator how to tune the tcp_time_wait_interval. On solaris you can use: /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000

  • Debug BAPI Values

    Being a newbie to Abap ,i am looking, howto debug BAPI input values-variables? Values(values of BAPI Import parameters ) are being passes to BAPI from Mobile app.
    How/where can we check the values being passed to BAPI in R3 i.e the values with which the BAPI is being executed ?
    Following the post Debugging , i understood a break point might help to debug the values, but i am confused at which line of code ?

    Before starting the mobile app, you set external break-point for that particular bapi and run the app..
    Set the external point at the line where you are passing the input to mbo. (import parameter of the BAPI).
    Under Source code, you will find the details. e.g. for the given screenshot i have 2 inputs (at line # 23, 24) so i can set the external break-point at 23.
    You can check this thread How to debug RFC function module in ECC 6.0

  • "New" error during ApplyLogOnInfo(...): Invalid parameter value: exceeds...

    Invalid parameter value: exceeds the Min or Max or conflicts with existing value or edit mask
    error during ApplyLogOnInfo() to the tables contained within a report.  Now, this is a "new" error because this was not being thrown when the application was compiled for .Net 1.1 using the Crystal Reports v9.1.5000.0 components.  When the application was migrated to .Net 2.0, and set to reference the the 10.2.3600 set of managed components, this started appearing. 
    Also, this will only occur on certain .rpt files that are loaded, and can be thrown when also executing the VerifyDatabase() method.  By certain .rpt files, I mean those that have been opened and saved with Crystal Reports 2008 (warning message when saving indicated that the report will not be able to be opened in Crystal Reports versions earilier the 9.0; should I not assume this is correct?).
    ' Load a report that had been created in v10, but opened and saved in v12
    Dim sFileName As String = "C:\test\CR2008Report1.rpt"
    crReportDocument.Load(sFileName, OpenReportMethod.OpenReportByDefault)
    crReportDocument.VerifyDatabase()  ' Throws the EngineExceptionErrorID.MissingParameterFieldCurrentValue exception:
      ' Invalid parameter value: exceeds the Min or Max or conflicts with existing value or edit mask
    ' Load a report that had been created in v10
    Dim sFileName As String = "C:\test\CR10Report.rpt"
    crReportDocument.Load(sFileName, OpenReportMethod.OpenReportByDefault)
    crReportDocument.VerifyDatabase()  ' No exceptions; whacky.

    >
    A G wrote:
    > Our product will not get integrated with SharpDevelop as it does with VS though you can use the assembly in you application.
    Right, I am aware of the IDE plugin functionality (BTW, I'm going to guess no, but is the functionality present in the "Express" editions?).  When a viewer application is created in VS, you can convert/open it in #d and have all of the designer props/pages available.  When manually adding the viewer in a new #d project, you can add it, but it doesn't show up visually in the forms designer window (boggle).
    > So just make a simple report and try to view it. can you see it?
    I will investigate this probably tomorrow...
    > Also is your report have any parameter? Dynamic or static?
    Yes, there are parameters embedded (?) in the .rpt.  There are no parameters added at runtime; only the parameter values are set at runtime.
    > Make sure you can see data in report in designer..

  • The important parameters controlling behaviour of the Proxy Plugin

    The 7.0 Proxy Plugin has various crucial parameter controlling its operation. These are n:
    #1. poll-timeout parameter that determines how long it waits for a reply before
    considering a request as having failed.
    The poll-timeout can be increased by adding the poll-timeout parameter to the end of
    the Service entry within the obj.conf file. For example:
    Service type="magnus-internal/passthrough" fn="service-passthrough"
    servers="http://sunflash.red.iplanet.com" poll-timeout="600000"
    Default timeout is 5 minutes, or 300000 milliseconds
    Maximum timeout is 6 hours, or 21600000 milliseconds
    Minimum timeout is 1 second, or 1000 milliseconds
    #2. connect-timeout parameter that determines how long to wait for a connection
    Minimum = 10 ms
    Maximum = 75 seconds (75 * 1000)
    Default = 5 seconds (5 * 1000)
    #3. connect-interval parameter that determines Interval between connect() calls
    Minimum = 10 ms
    Maximum = 30 seconds (30 * 1000)
    Default = 500 ms
    AND
    #4. keep-alive-timeout parameter that determines Maximum time to let connections idle
    Minimum = 0
    Maximum = 6 hours (6 * 60 * 60 * 1000)
    Default = 30 seconds (30 * 1000)

    JoachimSauer wrote:
    I wouldn't care about efficiency in this kind of methods. Only optimize,
    when you find out that this method is indeed a bottleneck, otherwise just
    write a simple implementation (simple implementations are usually easier
    to optimize for the JIT compiler, than "clever" impelementations).I agree with you, and when you recommend to basically "write dumb code", this interview with Brian Goetz crosses my mind: http://java.sun.com/developer/technicalArticles/Interviews/goetz_qa.html
    But given that the prolem at hand is Boolean, why not make a simple straightforward approach:
    !((a & b) | (a & c) | (a & d) | (b & c) | (b & d) | (c & d)), which leads to
    !((a & (b | c | d)) | (b & (c | d)) | (c & d)) or
    boolean xor(final boolean a, final boolean b, final boolean c, final boolean d) {
      return !((a & (b | c | d)) || (b & (c | d)) || (c & d));
    }I consider this an acceptable solution, too.
    EDIT:
    No, not anymore! It may look nice and all, but is not quite XOR... so I apologize for being careless and not double-checking what I wrote (my "xor" returns true even if all arguments are false) -- sorry!
    This should (hopefully) be correct:
    EDIT2:
    <del>[...]</del>
    Aarrgh, but it's still horribly wrong! Made the same mistake twice, now I'll take some time to really think before totally embarrassing myself today...
    But I have to admit that JoachimSauer's solution is indeed simpler and is probably the right choice...
    Message was edited (2x) by:
    oebert: correction
    Message was edited by:
    oebert

  • Iplanet proxy plugin issue; simple but iam confused; Please Help !!

    Hi All,
    Iam using Iplanet proxy plug-in with BEA weblogic6.1. In simple terms. the iplanet webserver proxies any dynamic requests to the application tier(wls6.1)
    And we have configured the proxy plug-in to show the debugging information on to __WebLogicBridgeConfig page.
    Now, could somebody explain more about the "requests:" and "successful requests:" that is been shown on the iplanet proxy plugin's __WebLogicBridgeConfig ???
    I mean i understand that "requests:" are the Total # of request that proxy plugin received. And "successful requests:" are the # of requests that went pass through to the wls server. But what happen to the requests which are UN successful requests .....i have seen the fugures like this:
    "requests:2000" "successful requests:1900"
    then what happened to these 2000-1900=100 requests.....why is there difference and why does this happen???
    how can calculate these UNsuccessful requests in my iplanet proxy logs ???
    please advise. I would really really appreciate your help on this.
    -san

    In more simple terms and to eloborate more on what iam asking, how can an HTTP request become unsuccessful ?
    Again, more specifically, is __WebLogicBridgeConfig shows information of unsuccessful for the application tier OR any unsuccessful requests for the web tier ?
    -sangita

  • Need Help: Dynamically displaying parameter values for a procedure.

    Problem Statement: Generic Code should display the parameter values dynamically by taking "package name" and "procedure name" as inputs and the values needs to be obtained from the parameters of the wrapper procedure.
    Example:
    a) Let us assume that there is an application package called customer.
    create or replace package spec customer
    as
    begin
    TYPE cust_in_rec_type IS RECORD
    cust_id NUMBER,
    ,cust_name VARCHAR2(25) );
    TYPE cust_role_rec_type IS RECORD
    (cust_id NUMBER,
    role_type VARCHAR2(20)
    TYPE role_tbl_type IS TABLE OF cust_role_rec_type INDEX BY BINARY_INTEGER;
    Procedure create_customer
    p_code in varchar2
    ,p_cust_rec cust_in_rec_type
    ,p_cust_roles role_tbl_type
    end;
    b) Let us assume that we need to test the create customer procedure in the package.For that various test cases needs to be executed.
    c) We have created a testing package as mentioned below.
    create or replace package body customer_test
    as
    begin
    -- signature of this wrapper is exactly same as create_customer procedure.
    procedure create_customer_wrapper
    p_code in varchar2
    ,p_cust_rec customer.cust_in_rec_type
    ,p_cust_roles customer.role_tbl_type
    as
    begin
    //<<<<<---Need to display parameter values dynamically for each test case-->>>>>
    Since the signature of this wrapper procedure is similar to actual app procedure, we can get all the parameter definition for this procedure using ALL_ARGUMENTS table as mentioned below.
    //<<
    select * from ALL_ARGUMENTS where package_name = CUSTOMER' and object_name = 'CREATE_CUSTOMER'
    but the problem is there are other procedures exists inside customer package like update_customer, add_address so need to have generalized code that is independent of each procedure inside the package.
    Is there any way to achieve this.
    Any help is appreciated.
    // >>>>
    create_customer
    p_code => p_code
    ,p_cust_rec => p_cust_rec
    ,p_cust_roles => p_cust_roles
    end;
    procedure testcase1
    as
    l_cust_rec customer.cust_in_rec_type ;
    l_cust_roles customer.role_tbl_type;
    begin
    l_cust_rec.cust_id := 1;
    l_cust_rec.cust_name := 'ABC';
    l_cust_roles(1).cust_id := 1;
    l_cust_roles(1).role_type := 'Role1';
    create_customer_wrapper
    p_code => 'code1'
    ,p_cust_rec => l_cust_rec
    ,p_cust_roles => l_cust_role
    end;
    procedure testcase2
    as
    l_cust_rec customer.cust_in_rec_type ;
    l_cust_roles customer.role_tbl_type;
    begin
    l_cust_rec.cust_id := 2;
    l_cust_rec.cust_name := 'DEF';
    l_cust_roles(1).cust_id := 2;
    l_cust_roles(1).role_type := 'Role2';
    create_customer_wrapper
    p_code => 'code2'
    ,p_cust_rec => l_cust_rec
    ,p_cust_roles => l_cust_role
    end;
    end;

    Not possible to dynamically in a procedure, deal with the parameter values passed by a caller. There is no struct or interface that a procedure can use to ask the run-time to give it the value of the 1st or 2nd or n parameter.
    There could perhaps be some undocumented/unsupported method - as debugging code (<i>DBMS_DEBUG</i>) is able to dynamically reference a variable (see Get_Value() function). But debugging requires a primary session (the debug session) and the target session (session being debugged).
    So easy answer is no - the complex answer is.. well, complex as the basic functionality for this do exists in Oracle in its DBMS_DEBUG feature, but only from a special debug session.
    The easiest way would be to generate the wrapper itself, dynamically. This allows your to generate code that displays the parameter values and add whatever other code needed into the wrapper. The following example demonstrates the basics of this approach:
    SQL> -- // our application proc called FooProc
    SQL> create or replace procedure FooProc( d date, n number, s varchar2 ) is
      2  begin
      3          -- // do some stuff
      4          null;
      5  end;
      6  /
    Procedure created.
    SQL>
    SQL> create or replace type TArgument is object(
      2          name            varchar2(30),
      3          datatype        varchar2(30)
      4  );
      5  /
    Type created.
    SQL>
    SQL> create or replace type TArgumentList is table of TArgument;
      2  /
    Type created.
    SQL>
    SQL> -- // create a proc that creates wrappers dynamically
    SQL> create or replace procedure GenerateWrapper( procName varchar2 ) is
      2          procCode        varchar2(32767);
      3          argList         TArgumentList;
      4  begin
      5          select
      6                  TArgument( argument_name, data_type )
      7                          bulk collect into
      8                  argList
      9          from    user_arguments
    10          where   object_name = upper(procName)
    11          order by position;
    12 
    13          procCode := 'create or replace procedure Test'||procName||'( ';
    14          for i in 1..argList.Count
    15          loop
    16                  procCode := procCode||argList(i).name||' '||argList(i).datatype;
    17                  if i < argList.Count then
    18                          procCode := procCode||', ';
    19                  end if;
    20          end loop;
    21 
    22          procCode := procCode||') as begin ';
    23          procCode := procCode||'DBMS_OUTPUT.put_line( '''||procName||''' ); ';
    24 
    25          for i in 1..argList.Count
    26          loop
    27                  procCode := procCode||'DBMS_OUTPUT.put_line( '''||argList(i).name||'=''||'||argList(i).name||' ); ';
    28          end loop;
    29 
    30          -- // similarly, a call to the real proc can be added into the test wrapper
    31          procCode := procCode||'end;';
    32 
    33          execute immediate procCode;
    34  end;
    35  /
    Procedure created.
    SQL>
    SQL> -- // generate a wrapper for a FooProc
    SQL> exec GenerateWrapper( 'FooProc' );
    PL/SQL procedure successfully completed.
    SQL>
    SQL> -- // call the FooProc wrapper
    SQL> exec TestFooProc( sysdate, 100, 'Hello World' )
    FooProc
    D=2011-01-07 13:11:32
    N=100
    S=Hello World
    PL/SQL procedure successfully completed.
    SQL>

Maybe you are looking for

  • How to compress FM database

    Hello How to compress FM database. FM 4.2(7b) is used with Postgres, and the database is currently at 11.2 gigs. Is it true that there is a vacuum command that can be run against SQL dbs.

  • Horizntal Gallery with Multiple viewable frames

    I want to have a section in the body of the website that scrolls left to right but has multiple image frames revealed at the same time. I'm trying to emulate something similar to this website: Cultural » Helix I know that you can create a slide show

  • Size of calendar

    Hi, I would welcome any tips / experience on java.util.Calendar memory needs. We are planning on using Calendar as our core datetime datatype for an application that would hold a huge amount of business objects in memory. I am concerned about the Cal

  • How to Display Repeat List In Spry Tab Content

    Hello, I am new to Spry. I thought I could just create an XML dataset, Insert a Spry Tabbed Panel, and then insert a Spry repeat list inside the Tabbed Content area of the Tabbed Panel. It is not working at all for me. Is this doable at all? If so, h

  • Panels in 1.1, question for XP userss...

    I only have time for a few posts to this board as I long to have the time to install 1.1. But I am too busy at the moment. So I just have a simple question? In 1.0 if you adjust the width of the panels and than close down, the next time you open LR t