Apex listener, POST, internal body-variable

Hello,
I am using Apex-Listener 1.1.2.131.15.23 on SUSE Linux 11.3./Oracle XE 10. I created a Resource Template with POST-methode and the following pl/sql-block:
declare
l_nuLen1 number;
l_nuLen2 number;
begin
l_nuLen1 := length(:body);
l_nuLen2 := dbms_lob.getLength(:body);
:status := triple.coxSmsAt.fSetResponse(:contentType || '(' || to_char(length(:contentType)) || ')',to_char(l_nuLen1) || '/' || to_char(l_nuLen2),:body);
end;
In my STF on the database there is no problem to get the value of :contentType. But if I want to access to the :body-variable most of the tries ended in a server-error. With the PL/SQL-block above there is no server-error but the result is l_nuLen1 = 5, l_nuLen2 = 0 and no value apears in the fSetResponse-StoredFunction for :body.
Can someone help me?
Thanks
Martin

Well the idea behind APEX (Application Express ) is that you can develop mostly declarativly. This is what a RAD tool/framework should do. You seem to think that your requirements somehow force you to send your own constructed code to the listener. Why? Apex in general is very good at hiding this logic from you. Maybe instead of asking a deeply technical question, start by explaining what you want to achieve (business language not technical explaination!). Then lets talk how to use Apex in a normal way to achieve the same result. This might even help you to develop better stuff in faster time.
Edited by: Sven W. on Sep 10, 2012 4:20 PM - typo corrections
Your requirement would violate several standard design principles. One should not do so without good reasoning.
Consider this link: http://effectivesoftwaredesign.com/2012/02/05/separation-of-concerns/
Edited by: Sven W. on Sep 10, 2012 4:24 PM

Similar Messages

  • Apex listener installed no test and set bind variables buttons

    I have installed Apex listener and while creating restful service module i dont see test and set bind variables buttons in the source region.
    I went through the many posts. Installed apex listener successfully.
    getting http://localhost:8080/ords/ started message when i start the listener.
    and using Apex URL as http://localhost:7780/pls/htmldb.
    What are the possibilities for this issues?
    Please help me on this.
    Thanks
    Chandran

    Apex listener version is 2.0.9
    Apex version is 4.2

  • Get CGI env variables in a database procedure using new APEX Listener

    I already posted this question in the Apex Listener forum and still no replies after one week. The original post is here:
    Get CGI environment from APEX Listener within database procedure
    So please forgive me for posting in this forum as well, but there is a lot more activity here.
    I'd like to know how I can get the CGI environment from the APEX Listener. For example, if I want to write a procedure that inserts into a table the originating IP Address of the client making the web request, how do I get it?
    I am familiar with the Oracle Http Server and mod_plsql, and I know how to call OWA_UTIL.GET_CGI_ENV to get this sort of information. How do I do it using the APEX Listener?
    In particular, how do I do this when calling a custom procedure (not in an Apex workspace)? When I try it now, I get an error from owa_util. The cgi env seems to be empty or not initiated (owa.num_cgi_vars is null or zero).
    Specific set-up:
    I have a web server running the latest JDK, Glassfish, and 1.1.4 Apex Listener. It connects to another server running the latest 11.2 database. Apex is installed and running, but I am not really developing a traditional Apex application in a workspace. I mainly use it like you would use mod_plsql. In other words, I have custom pl/sql packages that are called directly via URL. The requests are forwarded by the listener to the database, and the DB executes the procedure and returns output using htp.p to send text back to the browser. And it works just fine for this purpose. But if I want to call GET_CGI_ENV to get information like the IP Address, web browser making the request, etc. I can't seem to get it with the OWA packages.
    Can anyone shed some light on this? If Apex Listener is not designed to do this, is there some kind of workaround I can use to forward this sort of information to the database for each request?

    I have not tried owa_util.print_cgi_env from SQL Workshop yet, as I have not created an APEX workspace. I have had no need for a workspace because of the way I am using APEX as a method for calling custom packages and stored procedures. In other words, I am using APEX strictly for the mod_plsql functionality. I just use it to forward requests to the database to execute pl/sql code, but I don't develop anything in APEX. My application is a web service with no screens and no direct user interface, which is why I did not need to create APEX forms. The front end is a mobile app that makes calls to the web service.
    But I have tried calling owa_util.print_cgi_env in one of my stored procedures and it returns no data, even when calling it from the web front-end.
    So I am beginning to believe that if the OWA toolkit works with APEX, then it must only be enabled when invoked within a workspace. Stand-alone procedures can be called via APEX, but apparently doing so does not initiate the CGI env variables. This set-up used to work under the OHS with mod_plsql. The embedded pl/sql gateway also works this way.
    Is there a procedure call that APEX is making to set the environment before each SQL Workshop request?
    My security model currently blocks access to all packages and procedures except for my custom packages. I am using the APEX Listener configuration to allow only the packages listed by name in a white list. But I thought I allowed all access when I first tried calling the OWA packages. I'll have to try that again.

  • Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7 (Apex Listener)

    Background
    1. Weblogic 10.3.6.0 running on Oracle Linux 6.5 with Oracle JRockit(R) (build R28.2.3-13-149708-1.6.0_31-20120327-1523-linux-x86_64, compiled mode)
    2. Oracle Apex 4.2.1
    3. Apex Listener 1.1.3
    4. Apex and Apex Listener running on the Weblogic box above
    5. SQL Developer 4.0.2 running on Windows 7 64 bit / Java 1.7.0_55
    Updated Apex to 4.2.5 via p17966818_425_Generic.zip patchset. Apex environment running fine as do all applications via Listener 1.1.3
    Updated Oracle Listener to the latest version of Oracle REST Data Services 2.0.7
    Current Status
    Apex Applications and RESTful services are running fine.
    Problem
    Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7
    Error message in SQL Developer - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    Additional Information
    Steps followed -
    1. The oracle users APEX_LISTENER and APEX_REST_PUBLIC_USER did not exist, so I ran apex_rest_config.sql from the APEX 2.4.1 patchset whilst connected sys as sysdba and provided the same password as APEX_PUBLIC_USER for both users.
    2. I also ran
    grant insert, delete on APEX_040200.wwv_flow_rt$privilege_groups to APEX_LISTENER;
    alter session set current_schema = APEX_LISTENER;
    create or replace synonym wwv_flow_rt$privilege_groups for APEX_040200.wwv_flow_rt$privilege_groups;
    as per Oracle SQL Developer User's Guide Release 4.0
    3. copied ords.war to apex.war
    4. java -jar apex.war configdir /u01/app/oracle/admin/apex/devdomain1/
    5. java -jar apex.war
    Jun 5, 2014 5:15:31 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter the name of the database server [localhost]:dbservername
    Enter the database listen port [1521]:
    Enter 1 to specify the database service name, or 2 to specify the database SID [1]:1
    Enter the database service name:dbservicename
    Enter the database user name [APEX_PUBLIC_USER]:
    Enter the database password for APEX_PUBLIC_USER:
    Confirm password:
    Enter 1 to enter passwords for the RESTful Services database users (APEX_LISTENER,APEX_REST_PUBLIC_USER), 2 to use the same password as used for APEX_PUBLIC_USER or, 3 to skip this step [1]:2
    Jun 5, 2014 5:16:52 PM oracle.dbtools.common.config.file.ConfigurationFiles update
    INFO: Updated configurations: defaults, apex, apex_al, apex_rt
    Enter 1 if you wish to start in standalone mode or 2 to exit [1]:2
    6. java -jar apex.war user adminlistener "Listener Administrator"
    Jun 5, 2014 5:18:52 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter a password for user adminlistener:
    Confirm password for user adminlistener:
    Jun 6, 2014 5:19:12 PM AM oracle.dbtools.standalone.ModifyUser execute
    INFO: Created user: adminlistener in file: /u01/app/oracle/admin/apex/devdomain1/apex/credentials
    7. Updated the defaults.xml file
    Added
    <entry key="apex.security.user.roles">RESTful Services</entry>
    <entry key="apex.security.developer.roles">OAuth2 Client Developer, SQL Developer</entry>
    as per Oracle SQL Developer User's Guide Release 4.0
    Changed
    <entry key="debug.printDebugToScreen">false</entry>
    to
    <entry key="debug.printDebugToScreen">true</entry>
    for RESTful debugging
    Added
    <entry key="security.verifySSL">false</entry>
    to use OAuth2 in Non HTTPS Environment as per Oracle® REST Data Services Installation and Configuration Guide, Release 2.0
    8. Deleted the Admin and Manager Roles within the apex application deployment which were part of the Apex Listener 1.1.3 install
    9. Deployed the apex.war in weblogic
    10. Stopped and started the weblogic server to which apex.war was deployed
    11. In SQL Developer, View, RESTful Services. In the RESTful services windows hit connect, Create a new connection,
    Connection Name DEV
    Username adminlistener
    selected http protocol
    Hostname weblogicservername
    Port 7250
    Server Path /apex
    Workspace (blank)
    On the Authentication dialog
    Username adminlistener
    Password passwordsuppliedabove in step 6
    Response is a dialog box titled Authentication Failed
    message - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    NOTHING UNUSUAL IN ANY OF THE WEBLOGIC LOG FILES, EXCEPT THAT IT STATES
    'Oracle REST Data Services version : 2.0.6.27.18.06' when I've installed 2.0.7.
    Any help much appreciated

    Further to the above post, I thought I'd simplify my Apex Listener install just to see if I can connect to it via SQL Developer
    So downloaded the latest version 2.0.8 and decided to configure and run the Listener on my pc whilst still connecting to the same database.
    Operating system : Window 7 Pro 64 bit
    Oracle Apex Listener 2.0.8
    Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
    Went through the configuration as above, once started I tried again to access the listener via SQL Developer. This time I received this output from the listener:
    INFO: Error: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found, occurred during execution of: [CALL, insert into wwv_flow_rt$approvals (user_name,status,client_id,security_group_id,created_by,created_on,updated_by,updated_on) values(/*in:user_id*/?,/*in:status*/?,/*in:client_id*/?,/*in:tenant_id*/?,upper(/*in:user_id*/?),/*in:created*/?,upper(/*in:user_id*/?),/*in:created*/?), [tenant_id, in, class java.math.BigInteger], [client_id, in, class java.math.BigInteger], [user_id, in, class java.lang.String], [status, in, class oracle.dbtools.rt.oauth.ApprovalRequest$Status], [created, in, class java.sql.Timestamp]]with values: [adminlistener, APPROVED, 3858401374580004, -1, adminlistener, 2014-06-23 12:19:18.785, adminlistener, 2014-06-23 12:19:18.785]
    SQL Developer responded with an Authentication Failed titled dialog with the following displayed in the body of the dialog
    Cannot connect to DEV.
    <!DOCTYPE html>
    <!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
    <!--[if IE 7 ]> <html class="ie7 no-css3"> <![endif]-->
    <!--[if IE 8 ]> <html class="ie8 no-css3"> <![endif]-->
    <!--[if IE 9 ]> <html class="ie9"> <![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!-->
    <html>
    <!--<![endif]-->
    <html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <style type="text/css" media="screen">html,body,div,span,h3,p,ol,ul,li,header,hgroup{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}header,hgroup{display:block}body{font:normal 12px/16px Arial,sans-serif;margin:0 auto;background:#6a9cda}header#xHeader{border-bottom:1px solid #8fa4c0;position:relative;z-index:10;background:none #000}header#xHeader hgroup{width:974px;margin:0 auto;position:relative;height:36px;background:none #000}header#xHeader a#uLogo{margin:8px 0;display:inline-block;font:bold 14px/20px Arial,sans-serif;color:#AAA;text-decoration:none}header#xHeader a#uLogo span.logo{color:#F00}.no-css3 div#xContentContainer div.xContent{padding-top:14px}.no-css3 div#xContentContainer div.xContent div.xMainLeft h2{margin-top:0}div#xWhiteContentContainer{margin-bottom:30px}div#xWhiteContentContainer.xContentWide{background:#FFF;margin-bottom:0}div#xWhiteContentContainer.xContentWide div.xWhiteContent{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}div#xWhiteContentContainer div.xWhiteContent{width:974px;margin:0 auto;padding:0 0 20px 0;background:#FFF;min-height:500px;-moz-border-radius:0 4px 4px 4px;-webkit-border-radius:0 4px 4px 4px;border-radius:0 4px 4px 4px;-moz-box-shadow:0 1px 2px rgba(0,0,0,0.15);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.15);box-shadow:0 1px 2px rgba(0,0,0,0.15)}div#xContentHeaderContainer{background:#6a9cda;-moz-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset}div#xContentHeaderContainer div.xContentHeader{width:974px;margin:0 auto;padding:30px 0 32px 0;position:relative;min-height:60px}div#xContentHeaderContainer div.xContentHeader h3{font:bold 24px/24px Arial,sans-serif;color:#fff;text-shadow:0 2px 1px rgba(0,0,0,0.25);margin:0 0 20px 0}div#xFooterContainer{min-height:200px;border-top:1px solid rgba(0,0,0,0.15);background:#6a9cda}body.errorPage div#xContentHeaderContainer div.xContentHeader{min-height:30px}body.errorPage div#xContentHeaderContainer div.xContentHeader h3{font:bold 30px/30px Arial,sans-serif;color:#FFF;text-shadow:0 1px 2px rgba(0,0,0,0.25);margin:0}div.errorPage p{font:normal 14px/20px Arial,sans-seri;color:#666;padding:0 0 10px 0}div.errorPage ul{list-style:disc outside;padding:0 10px 0;margin:0 0 20px 0}div.errorPage ul li{font:normal 12px/16px Arial,sans-serif;color:#666;margin:0 0 8px 10px}pre{font-family:Consolas,"Lucida Console","Courier New",Courier,monospace}
    </style>
    <script type="text/javascript" charset="utf-8">
      'header hgroup'.replace(/\w+/g,
      function(n) {
      document.createElement(n)
    </script>
    <title>Internal Server Error</title>
    </head>
    <body class="errorPage">
      <header id="xHeader">
      <hgroup>
      <a id="uLogo" href="./"><span class="logo">ORACLE</span>
      REST DATA SERVICES</a>
      </hgroup>
      </header>
      <div id="xContentHeaderContainer">
      <div class="xContentHeader">
      <h3>
      <span class="statusCode">500</span> - <span
      class="statusMessage">Internal Server Error</span>
      </h3>
      </div>
      </div>
      <div id="xWhiteContentContainer" class="xContentWide">
      <div class="xWhiteContent">
      <div class="errorPage">
      <p>
      <ul class="reasons">
      </ul>
      </p>
      <p>
      <pre>Request Path passes syntax validation
    Mapping request to database pool: PoolMap [_failed=false, _lastUpdate=-1, _pattern=null, _poolName=apex, _regex=null, _type=REGEX, _workspaceIdentifier=null, _serviceName=null]
    Applied database connection info
    Attempting to process with PL&#x2F;SQL Gateway
    Not processed as PL&#x2F;SQL Gateway request
    Attempting to process as a RESTful Service
    Choosing: oracle.dbtools.rt.oauth.TokenHandler as current candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true]
    Determining if request can be dispatched as a Tenanted RESTful Service
    Request path has one path segment, continuing processing
    No Tenant Principal established yet, continuing processing
    APEX_LISTENER pool exists, continuing processing
    No matching tenant found for: oauth2, cannot dispatch
    Chose oracle.dbtools.rt.oauth.TokenHandler as the final candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true] for: POST oauth2&#x2F;token
    oauth2&#x2F;token authorized as: p6xycV-2QceFnFHkWyJlnA..
    </pre>
      </p>
      <p>
      <pre>WebException [statusCode=500]
      at oracle.dbtools.rt.web.WebException.webException(WebException.java:343)
      at oracle.dbtools.rt.web.WebException.internalError(WebException.java:262)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:514)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApprovedRequest(JDBCOAuthDataAccess.java:181)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.resourceOwnerCredentials(OAuthAuthorization.java:654)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.tokenRequest(OAuthAuthorization.java:273)
      at oracle.dbtools.rt.oauth.TokenHandler.post(TokenHandler.java:44)
      at oracle.dbtools.rt.web.RequestHandler.response(RequestHandler.java:268)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:361)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:85)
      at oracle.dbtools.rt.web.RequestDispatchers.dispatch(RequestDispatchers.java:93)
      at oracle.dbtools.rt.web.ETags.checkPrecondition(ETags.java:93)
      at oracle.dbtools.rt.web.HttpEndpointBase.restfulServices(HttpEndpointBase.java:426)
      at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:164)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1059)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:999)
      at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:434)
      at oracle.dbtools.standalone.SecureServletAdapter.doService(SecureServletAdapter.java:91)
      at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:379)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:196)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
      at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:505)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:223)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3612)
      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3713)
      at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
      at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:230)
      at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
      at com.sun.proxy.$Proxy44.execute(Unknown Source)
      at oracle.dbtools.common.jdbc.JDBCInsert.execute(JDBCInsert.java:58)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:487)
      ... 34 more
    </pre>
      </p>
      </div>
      </div>
      </div>
      <div id="xFooterContainer">
      </div>
    </body>
    </html>
    I am assuming this must be part of the problem I am seeing this the Weblogic deployment in my original post.
    Does anyone have any suggestions on how best to tackle this?
    Regards,
    Derek

  • APEX listener returns blank login page

    APEX 4.2.2
    APEX listener 2.0.2
    Glassfish 3.1.2.2
    Platform is 32bit Linux, Amazon EC2
    I am reasonably certain that I have deployed apex.war and i.war correctly to Glassfish, and defined a virtual path and a database connection correctly.
    When running Firefox on the EC2 machine, browsing to
    http://localhost:8080/apex/dad1/
    returns a login page no problem. But browsing to the external, publicly visible, address (I have to obscure the actual address, I'll use a.b.c.d) either from the hosting machine or across the net returns an empty page:
    http://a.b.c.d:8080/apex/dad1/
    This succeeds:
    http://a.b.c.d:8080
    I get the standard Glassfish page so I know Glassfish is listening on that address.
    I have also tried starting the listener standalone, and I get the same effect: it returns a login screen when browsing to the localhost, but going to the external address I get a blank page.
    The pages really are blank, nothing shows in the page source and this is all Firebug returns:
    <html>
    <head> 
    <link title="Wrap Long Lines" href="resource://gre-resources/plaintext.css" type="text/css" rel="alternate stylesheet"> 
    </head>
    <body> 
    <pre></pre> 
    </body>
    </html>
    I have been trying to enable tracing of the request on the server side, but I haven't yet found a way to produce the equivalent of an access.log. Searching the forum did produce a couple of references to "routing rules" but I have been unable to find what and where these might be.
    As the listener works perfectly when going to localhost, I cannot believe that rthis is the common problem of not finding imges, or an issue with url mapping. But I am of course open to any suggestions!
    Any insight will be welcome.
    Thank you for your time.

    Fixed. Finally tracked it down, a redirection problem fixed with patch 16760897.
    Thank you to anyone who looked at this, sorry to have wasted your time, hope posting the solution will assist someone else.

  • OSB problem posting 5MB body to a business service endpoint

    Hello,
    I have an https endpoint they results in a Broken pipe exception after running for about 10mins if I send a SOAP body greater than 5MB. If I send the same request to this endpoint using SOAPUI (no OSB involvement) it works fine and completes in <1min, it only fails through OSB. Also if the request is less than 5MB it works fine through OSB and again completes in <1min.
    I've tried calling a proxy service (through test console and SOAPUI) and the business service (through test console) and all fail with the same broken pipe exception. Below is the constant state of the thread during this 10min period.
    "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x02fa6400 nid=0x16 runnable [0xb19fd000..0xb19ffaf0]
    java.lang.Thread.State: RUNNABLE
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
         at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
         at com.certicom.tls.record.WriteHandler.write(Unknown Source)
         at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
         at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
         - locked <0xe70af568> (a java.io.BufferedOutputStream)
         at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
         at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
         at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
         - locked <0xcefd08f8> (a weblogic.net.http.SOAPHttpsURLConnection)
         at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
         at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
         at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
         at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    I am running OSB 10.3.0 on SPARC Solaris using Sun JVM.
    Any ideas/suggestions?
    Many thanks,
    Mike.

    Hello,
    I've tried content streaming but it made no difference. Maybe I've misunderstood content streaming but I thought you use this when body variable in the pipeline pair of a proxy is too big to manipulate in memory. In my scenario this is not a problem (I can report on the body fine just before I route to the business service) the only issue occurs when I call the business service with a request greater than 5MB.
    I've already adjusted the WLS timeouts/message sizes as follows:
    Max Post Size = -1 (although I think this is only used for POST to WLS rather than the other way around)
    Max Message Size = 50000000
    JTA timeout = 60
    The only stack trace is for the broken pipe:
    ####<30-Mar-2010 08:35:57 o'clock BST> <Debug> <AlsbTransports> <int-app-04> <RSPCA_ESB_Server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1269934557943> <BEA-000000> <LoadBalanceFailoverListener.sendMessageToServiceAsync
    com.bea.wli.sb.transports.TransportException: Broken pipe
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportException.java:195)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:370)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
    at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
    at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
    at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
    at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Thanks,
    Mike.

  • Apex Listener vs. Oracle Application Server... advantages?

    Are there advantages to installing Apex Listener over using an existing Oracle Application Server instance to serve Apex applications?
    We have an existing application server instance in production. Would introducing Apex Listener and the extra overhead be of any advantage?
    Thanks in advance for your thoughts.

    Hello "Portal Dude",
    Are there advantages to installing Apex Listener over using an existing Oracle Application Server instance to serve Apex applications?APEX Listener introduces some additional features, such as Resource Templates, but lacks some others. Some people might want to migrate from OAS to another JEE Container that doesn't come along with a OHS/mod_plsql. Depending on the JEE Container, you could use AJP for load balancing, avoiding plain HTTP through a firewall, etc.
    Would introducing Apex Listener and the extra overhead be of any advantage?The "extra overhead" may be smaller than you think. If you don't need the HTTP_Server component any longer, but can just deploy APEX Listener on the OC4J of your OAS, you might even save some bytes.
    For several other aspects, there have been a few posts on that topic in the past:
    {thread:id=1100122}
    {thread:id=1555908}
    {thread:id=1594158}
    If there's anything you don't find in either the posts or the documentation, don't hesitate to ask.
    -Udo

  • Apex Listener authentication.

    I want to use Apex Listener for my pl/sql web application (now I use mod_plsql).
    How can I implement authentication in order to protect pages from unauthorized use (like OWA_CUSTOM does in nod_plsql)?
    Tks
    Tullio

    Hi Udo and Tullio,
    I am testing the listener against APEX 4.1. I would like to integrate the APEX applications in our SSO system. We are using SAML2, so I have configured a Weblogic Server for working as a Service Provider. In this server I have deployed the apex.war and I have registered the /apex/* pattern in my Identity Provider (Active Directory Federation Services). In this way, when I make a request of any of my APEX applications (apex/f?p=123:...), if I have not a valid session I am redirected to the Identity Provider Login page. This is working fine, more or less, I have to do more testing...
    My question is, do you think that is this the best approach for securing the APEX applications? In order to everything works ok, I have to declare a security constraint in the web.xml...
    <security-constraint>
         <web-resource-collection>
              <web-resource-name>APEX Application Calls</web-resource-name>
              <url-pattern>/*</url-pattern>
              <http-method>GET</http-method>
              <http-method>POST</http-method>
         </web-resource-collection>
         <auth-constraint>
              <role-name>FederatedUsers</role-name>
         </auth-constraint>
    </security-constraint>
    ...and in the weblogic.xml I just map the FederatedUsers against a principal:
    <security-role-assignment>
         <role-name>FederatedUsers</role-name>
         <principal-name>users</principal-name>
    </security-role-assignment>
    Also I have declared a filter for injecting some info in the headers request (needed for the APEX applications), but this is another story...
    Thanks in advance,
    Luis

  • Apex listener / Weblogic server currently unavailable

    I installed the latest apex listener with weblogic server. Worked fine til I rebooted. The weblogic server is running and the weblogic console shows that apex is running, but when I go the URL I get "Requested url http://haora01:7001/apex/apex_admin is currently unavailable". Same URL worked fine before the reboot. I was using the EPG gateway and wanted to try the apex listener instead. I can't find any logs that help. Anybody have any suggestions?

    RFancher wrote:
    I installed the latest apex listener with weblogic server. Worked fine til I rebooted. The weblogic server is running and the weblogic console shows that apex is running, but when I go the URL I get "Requested url http://haora01:7001/apex/apex_admin is currently unavailable". Same URL worked fine before the reboot. I was using the EPG gateway and wanted to try the apex listener instead. I can't find any logs that help. Anybody have any suggestions?
    The 'config' file might have gone missing - the installation/configuration process (for Tomcat, at least) has a habit of storing the configuration xml file in 'tmp'... which then goes once you reboot! There are some posts on how to change the directory in which the configuration file is stored.

  • APEX Listener on Weblogic licensing - SE or EE

    Does the APEX listener on Weblogic use any Weblogic Enterprise Edition features like clustering or is Weblogic Standard Edition good enough? I'm assuming you would need to license Welogic for the APEX listener right?
    Also do we have any sizing guidelines for APEX listener on Weblogic. The real question is if the APEX application we have met our SLA's on a 1 CPU box, without the APEX listener, after migrating to Weblogic - APEX Listener, would we be needing more, less or the same CPU capacity.

    Hello,
    the APEX Listener itself is stateless, so you can cluster it easily if you want or have to.
    APEX Listener is licensed with APEX, not with WLS. You can use a variety of J2EE containers that meet the requirements. In addition to WLS, Oracle supports the use of OC4J (either part of OAS or standalone) and GlassFish. In fact, the APEX Listener ships with an embedded version of GlassFish.
    Despite the support aspect, there are people who successfully run the Listener on the GlassFish's Open Source Edition or Apache Tomcat.
    Concerning your SLAs: The Listener will do something for you, so of course it will need the CPU. How much load it will generate depends on your usage scenario. Your post sounds like you already use APEX with a different web server than the Listener. If that guess is right, it would be helpful to know which web server you use now and how much CPU time it consumes.
    -Udo

  • APEX Listener as a replacement for modplsql ?

    Will APEX Listener ever be, or is it able to be now, a replacement for modplsql driven applications that are not APEX. It seems that it already takes care of everything needed to be a full scale modplsql replacement... In all honesty looking to see if it is possible to reduce the future licensing load on some of my clients if they wanted to build more redundancy into their front-end web applications. They wouldn't be reducing what they pay, as they are still in for the Forms installs in app server, but they are inhibited on their redundancy growth outward since adding new licenses to cover these new servers would be cost prohibitive. This is mainly a third-party product (SGHE's Self-Service Banner) that is driven off of modplsql, so rewrite isn't an option.
    Thanks for your input,
    -Richard

    As of the last EA version, it depends on which modplsql features your application uses. The main modplsql features that are not yet supported are:
    Basic database authentication - The listener must be configured with a single username and password and cannot dynamically change the database connection at run time.
    Multiple DADS - Each listener is configured for one and only one database connection. However, there is a way to install multiple copies of the listener, and configure each for a different database connection.
    Dynamic parameter passing - There must be a one to one relationship between fields on an HTML form (or query string variables in the URL) and the non-defaulted parameters of the called procedure. Name and Value arrays, with the "!" before the procedure name in the URL are not supported.
    CGI environment variables in the DAD.
    Oracle MAY support some or all of these features in the production version, or in some future version. We can probably influence this by telling Oracle what we want - but no guarantees. Kris Rice tells me that the APEX Listener was written to be extendable, so once Oracle gives us some documentation of how to extend it, some enterprising programmer may add some of these features as an extension.

  • APEX Listener for Extranet

    Hi,
    We've been using Oracle HTTP Server (Apache) for my APEX connections. We're new to APEX Listener and have no knowledge about it.
    1. First of all, is Oracle GlassFish Server free? Does it require license cost per CPU like Oracle Weblogic does?
    2. We currently have an extranet box that runs Oracle HTTP (actually Oracle HTTP inside Oracle AS 9i). If we need to use APEX Listener, should we install the J2EE Container (Oracle GlassFish) with APEX Listener inside our "Intranet" and only the Oracle HTTP Server in our extranet server? I'm confused about the appropriate method for "extranet" environment.
    Thanks.
    Andy

    Hi Andy,
    1. First of all, is Oracle GlassFish Server free? Does it require license cost per CPU like Oracle Weblogic does?As Prabodh already mentioned, there exist two different editions of GlassFish by now: The officially supported Oracle GlassFish Server (with license costs) and GlassFish Server Open Source Edition (free). While you can run APEX Listener on both of these JEE Containers, you will not get any support through MOS when using the latter one.
    2. We currently have an extranet box that runs Oracle HTTP (actually Oracle HTTP inside Oracle AS 9i). If we need to use APEX Listener, should we install the J2EE Container (Oracle GlassFish) with APEX Listener inside our "Intranet" and only the Oracle HTTP Server in our extranet server? I'm confused about the appropriate method for "extranet" environment.I'm not sure if this has become clear yet: You don't actually need OHS for APEX if you start using APEX Listener. You can deploy APEX Listener to a GlassFish on your extranet server. It'll connect to the database listener of your APEX instance using JDBC like OHS/mod_plsql did before.
    Of course, you could think about adding a security layer to your database by hiding it's listening endpoint from your extranet. To do that, you could deploy APEX Listener in your internal network and let OHS (or a "plain" Apache HTTPD) on your extranet box act as a proxy. That way, you'll have only HTTP or AJP traffic through your firewall (or whatever is in between your internal network and your extranet), but you could close your database port. In that case, it also could be a good idea to let the proxy serve the static contents for APEX ("images") on your extranet box for less traffic on the link between internal network and extranet and especially for better response times towards extranet clients. Of course, if you have internal users for that instance as well, you'll want to deploy the images to the GlassFish as well...
    -Udo

  • APEX Listener 2.0 - RESTful Services Failure with  404 - Not Found

    Versions used:
    * APEX Listener 2.0.0.354.17.05
    * Application Express 4.2.1.00.08
    * Oracle Database 11.2.0.1
    When testing the sample RESTful Service Module oracle.example.hr I always get 404 - Not Found page.
    I followed the documentation to install and configure APEX 4.2 and the Listener 2.0. Everything in my APEX installation works fine except RESTful Services.
    For example, when calling this RESTful Service:
    http://company.com:45678/apex/DEV/xxuapex/hr/empinfo/
    I get a 404 page.
    The corresponding entry in url-mapping.xml is:
    <pool base-path="/DEV" name="od01" workspace-id="xxuapex"/>
    where xxuapex is the name of the schema as well as the workspace where the RESTful Service is installed.
    Moreover, the corresponding od01.xml, od01_rt.xml and od01_al.xml in the conf directory seem correct.
    Any help is greatly appreciated.
    Thanks.
    Eddie Awad.

    Hi Eddie,
    +> try the other option base-url of the url-mapping+
    I did. No change. Still getting 404.When active it should transform the 404 page into a detailed 404 with a description of what the error is. Just to be sure, this is activated in the defaults.xml file of the APEX Listener as: *<entry key="log.logging">true</entry>*.
    You should then see a detailed 404 output in your browser of what's going wrong first of all.
    +> Could you post your url-mapping.xml file?+
    <?xml version="1.0" encoding="UTF-8"?>
    <pool-config xmlns="http://xmlns.oracle.com/apex/pool-config">
    <pool base-path="/DEV" name="od01" workspace-id="xxuapex"/>
    <pool base-path="/TEST" name="ot01" workspace-id="xxuapex"/>
    </pool-config>
    Despite using the url mapping script, it didn't map mine correctly and had to edit it manually. It was the use of "apex" that got it to work for me:
    *<pool base-path="/" name="apex" workspace-id="workspace-name-here" updated="2013-01-09T20:48:59.75Z"/>*
    Nick.

  • APEX Listener and EPG - strange behaviour

    Hi
    For some years, I've used EPG for APEX but have struggled with performance particularly as I can have up to 150 student developers using at any one time.
    I do a fair amount of work using ORDImage and have successfully developed APEX applications to upload image files and display full-size and thumbnail images.
    After upgrading to APEX 4.1 (from 4.0), I decided to install APEX Listener standalone.
    Before I did so I checked that my applications still worked in 4.1 and they did.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.
    Configuring APEX Listener and running the same application through that DOES display the images.
    So this part of the application works under APEX Listener but not under EPG.
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank page with a wwv_flow.accept URL although the image does indeed upload. Under EPG it works as expected and I get a success confirmation.
    So this part of the application works under EPG but not under APEX Listener.
    Has anyone else come across different behaviour depending on the mode of connection?
    Thanks
    Brian
    [Oracle EE 11gR2, Windows Server 2008R2, APEX 4.1, APEX Listener 1.1.3]

    Hi Brian,
    it sounds like you have both EPG and APEX Listener running on the same machine, so your problem might result from a port conflict. Note that both services use TCP port 8080 as default.
    At least a port conflict would explain the strange behaviour in your case, some things working on one web server and some on the other.
    Some parts of your initial post hint to that direction, e.g.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on >wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.... because the APEX Listener only interfere with the EPG if it is at least running on the same machine as your database and furthermore, if it is unconfigured in terms of ist database connection, a port conflict might be the only way it could cause anything like that.
    However, if you are sure that's not the issue, please check if you see any error in the APEX Listener's log for the following action you performed:
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank >page with a wwv_flow.accept URL although the image does indeed uploadIf you actually see just a blank screen, something very bad must have happened and you should see some kind of stack trace there.
    For further investigations, if necessary, it would be helpful to know how you deployed or started your APEX Listener and which JDK version you use.
    For the moment, I still think the port conflict is my best guess.
    You could avoid it by either changing the port for EPG (I'd not recommend that if you have other users still using it) or by changing the port for your APEX Listener.
    -Udo

  • Apex listener images folder issue

    Hi expert,
    I'm newbies in oracle apex listener and would like to know more about oracle apex listener from all the expertise.
    My situation is like that i would like to install apex listener (standalone mode) in a server to browser apex application from another server with oracle database 11g and oracle apex development.
    My installation step as below;
    1. I copy images folder from database server apex\images folder to apex listener installation folder before i install apex listener (called "apexlistener").
    2. Run cmd "java -Dapex.home=c:\apexlistener -Dapex.images=c:\apexlistener\images -Dapex.port=8585 -Dapex.erase -jar c:\apexlistener\apex.war" to install apex listener.
    Just a question, if i amended oracle apex application in database server, should i need to copy the images folder again to apex listener server?
    What is the main source in images folder used in oracle apex listener server?
    My experience is i tried to copy images folder from database server A with apex application (in runtime mode) to apexlistener folder server B. And i configure the database connection to server c with same oracle apex application as well. I tried to browser oracle apex application in server c from server B. I found out my apex application is not running properly due to the javascript is not installed properly. I would like to ask, is the images files in apex listener server must same with apex application server?
    Anyone have idea on automatically start apex listener when the server reboots?
    How to run apex listener in backend?
    Hope can get some idea and solution from all the expertise!
    Thanks in advance!
    Best regards,
    Apex Junior

    Hi,
    Too many questions, and too little input, for one post.
    I'm newbies in oracle apex listener and would like to know more about oracle apex listener from all the expertise.My situation is like that i would like to install apex listener (standalone mode) in a server to browser apex application from another server with oracle database 11g and oracle apex development.
    My installation step as below;
    1. I copy images folder from database server apex\images folder to apex listener installation folder before i install apex listener (called "apexlistener").
    2. Run cmd "java -Dapex.home=c:\apexlistener -Dapex.images=c:\apexlistener\images -Dapex.port=8585 -Dapex.erase -jar c:\apexlistener\apex.war" to install apex listener.
    Just a question, if i amended oracle apex application in database server, should i need to copy the images folder again to apex listener server?
    >
    The images folder has a relation with the Apex Version installed on the database, not with the applications in the Apex.
    Depends on what you mean by amending applications. If you add custom CSS, JS ,etc to the application , and are not uploading the files to WORKSPACE_IMAGES, then you need to copy the external files to the images folder. But not copy it all over again.
    If no custom files then no need to copy the images folder.
    >
    What is the main source in images folder used in oracle apex listener server?
    >
    The images folder, what else?
    >
    My experience is i tried to copy images folder from database server A with apex application (in runtime mode) to apexlistener folder server B. And i configure the database connection to server c with same oracle apex application as well. I tried to browser oracle apex application in server c from server B. I found out my apex application is not running properly due to the javascript is not installed properly. I would like to ask, is the images files in apex listener server must same with apex application server?
    >
    As stated earlier, the contents of the images (/i/) folder are related to the Apex Version. If your two db servers have different versions of Apex then the same images folder will not work with both. It will work with only one, the one that has the Apex Version compatible with the images folder.
    >
    Anyone have idea on automatically start apex listener when the server reboots?
    >
    How to suggest without knowing OS?
    You can write a batch file that runs on bootup to achieve this.
    >
    How to run apex listener in backend?
    >
    What is backend? Do you means background or as a service?
    Cheers,

Maybe you are looking for

  • Illustrator CS2 Font Error

    I am able to create an artwork using the tools etc. and save successfully. Although when I add text to the artwork and attempt to save, I receive the message "An unknown error" and the program either freezes or refuses to save. I believe the problem

  • Tmy linus computer is not letting me update the latest  Adobe flash player version 10.3.183.7

    i have a Asus eee 701 computer running Linux and using firefox 3.0.4 but i could not download the latest Adobe flash player version 10.3.183.7 i still using the old version flash player 10,0,22,87 i don't know what to do please help

  • How to determine which CSQ a call is coming in from

    All, My understanding is that CAD should display what CSQ that an incoming call is coming from.  Should this be the case?  I have a customer that wants to answer calls differently based on which CSQ the call comes from.  I have two CSQ's created that

  • PDF attachment to Customer Master Data

    Hello! I have a requirement to create a attachment to the customer master data (TCODE FD02 for example) in background. In online mode, there is a icon on the top left that allows you to attach files. I want to a attach a pdf file. Is this possible in

  • Prepopulate text in Claim's long text

    Hi, My client has a requirement to prepopulate the long text of claim notification with a predefined fixed text. So, whenever user will try to create a claim, the long text will already be showing some predefined text which would be editable. Is ther