ADF and HTTP compression

Hello!
The customers compain that the their ADF application is not running as fast as their favorite sites (some of the customers have slow internet connection). We all know that the framework is rather heavy (the app is made with jdev 11.1.1.2.0), so is there any chance to speed it up with the http compression?
I need to figure out if ADF is compression-safe. If so, then how to enable the http for the application? Is there a specific weblogic filter, or I can use any such filter I found in the net?
Would I better use in-front Apache for this kind of job? Is there any documentation on how to set up the compression for the app, or maybe somebody has a positive experience that one can share?
Regards,
Eugene

Hi again,
I successfully patched the GZIPFilter to work with ADF Faces.
I found where and what the filter problem related to /faces/* URL is. It is related to the internal implementation of the Faces Servlet, which flushes the response's output stream before any real output has been written yet. In this way the response headers are flushed to the output stream before a header "Content-Encoding: gzip" has been added (which is done first time when some real output is written to the output stream). You can patch the GZIPFilter to support ADF Faces as follows:
1) Modify the method GZIPResponseWrapper.flushBuffer() as follows:
  public void flushBuffer() throws IOException {
    if (debug) p("flushBuffer");
    if (gstream == null) return;
    response.setHeader("Content-Encoding", "gzip"); // This line is added
    gstream.flush();
    super.flushBuffer();
  }2) Modify the method GzipServletOutputStream.init() as follows:
  private void init() throws IOException {
    if (os != null) return;
    response.setHeader("Content-Encoding", "gzip"); // This line is modified from addHeader() to setHeader()
  }3) Map the GZIPFilter to /faces/* URL-pattern in web.xml (not to the Faces Servlet, because there is some problem when the mapping is to the servlet instead of an URL-pattern);
4) Move the GZIPFilter before any other servlet filters in web.xml.
There is another one problem. There are some ADF Faces images accessed under the URL /faces/resources/images/*. If you map the servlet filter to the /faces/* URL-pattern (or to the Faces Servlet), then the filter will try to compress these images too. The problem is that the images are in "compressed" formats, so additional compression would be unnecessary overhead. The URL-pattern in filter mappings in web.xml does not allow specifying exclusions, so if you specify /faces/*, you will include these images too. To workaround this you can modify the method GZIPFilter.doFilter() to check the URI in order to avoid double-compressing the images:
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletResponse res = (HttpServletResponse)response;
    HttpServletRequest req  = (HttpServletRequest)request;
    if (req.getAttribute(WL_GZIP_FILTER) != null
        || req.getRequestURI().startsWith("/faces/resources/images", req.getContextPath().length()))) // This line is added
      chain.doFilter(request, response);
      return;
  }Dimitar

Similar Messages

  • 6500 CSM-S and HTTP compression

    Is there any plans for the 6500 CSM-S module to support http compression along with ssl offload and SLB features?

    John,
    No plans at this time, due to the CSM not having the CPU power to do so.
    The CSS product line with version 8 code and integrated ssl module now has this feature.
    Peter

  • What are the required settings to enable HTTP Compression?

    I am running into download speed issues with some of my clients.  I am looking for ways to improve download response without having to rewrite my system(s).
    On the server side, I am using CF 8.01 on a W2003 system.  I have enable HTTP Compression for the web site in IIS 6.0 for both static and dynamic files.
    On the client side where I am doing my testing, I am using IE 8.0 on a W7 professional system.  In I.E., I have enabled HTTP 1.1 under advanced options and am using Automatic mode as the download methodology for Temporary Files.
    It is my understanding that there is nothing that I have to do to CF to enable HTTP Compression.
    It does not appear to work because the downloaded cfm files (5717 and 694389) are the same size regardless of these setting.  In addition, I am using HttpWatch to determine all of the time and size parameters for each request. HttpWatch tells me in the summary that there are no HTTP Compression savings; i.e., HTTP Compression saving: 0 bytes.  Based upon some of the info I've read on the web, I would have expected 50% to 75% savings since the two files being downloaded are both dynamic text files.  All of the graphics, javascript, css files are cached so they do not figure into the equation.
    Is there something else beyond the IIS and IE settings that needs to be done to implement HTTP Compresssion???
    Thanks in advance for your suggestions/help.
    Len 

    Adam,
    I have read the references and may now be confused, but it seems to me that just doing the standard IIS Manager setup, which is what I've done, will not compress CFM files since the only things that are compressed under dynamic files are exe, dll and asp.
    One would think that CF should have added CFM to the list of compressed dynamic files when it was installed as it does with default.cfm, but maybe I'm expecting too much.
    If I am correct about this, then it would seem that I'm going to have to customize the compression setup as described in this quote from the reference,
    "Specify additional file types to compress. Edit the ... HcScriptFileExtensions metabase property (for dynamic files) to apply compression to additional file types."
    Am I misunderstanding this document???
    Len

  • WebService Client - how to enable HTTP Compression

    Hi
    I have written a simple WebService Client. The WebService expects that the WebService clients enable HTTP compression. This is the exact text from the docs:-
    ""1. Client should be HTTP Compression enabled
    HTTP Compression had been made mandatory for API�s. Thus API�s client should
    include �Accept-Encoding: zip� header as part of request and should be able to
    handle compressed data. Please note that system will send an error message if client
    are not http compression enabled saying client should be compression enabled."
    I do not know how to enable HTTP compression in the WebService Client. The method called is "GetInstantaneousFlowData". It accepts no arguments and returns xsd:datetime.
    The wsdl can be found at:-
    http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx?WSDL
    Can someone please help :-
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import java.util.Calendar;
    public class TestNGPubTime4 {
    public static void main(String[] args) throws Exception {
         // Setup the global JAX-RPC service factory
         System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    // create service factory
    ServiceFactory factory = ServiceFactory.newInstance();
    // define qnames
    String targetNamespace = "http://www.NationalGrid.com/EDP/BusinessEntities/Public/";
    QName serviceName = new QName(targetNamespace, "InstantaneousFlowWebService");
    QName portName = new QName(targetNamespace, "InstantaneousFlowWebServiceSoap");
    QName operationName = new QName("http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData",
         "GetLatestPublicationTime");
    // create service
    Service service = factory.createService(serviceName);
    // create call
    Call call = service.createCall();
    // set port and operation name
    call.setPortTypeName(portName);
    call.setOperationName(operationName); // add parameters
         call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
         call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData");
    //     call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/");
    call.setReturnType(new QName( "http://www.w3.org/2001/XMLSchema","datetime") );
    // set end point address : soap address location
    call.setTargetEndpointAddress("http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx");
    // invoke the remote web service
    Calendar result = (Calendar) call.invoke(new Object[] {});
    System.out.println("result=" + result);
    }

    Rishika,
    Thanks for your reply.
    Could I get clariffication on some more thing?
    I am using Axis 1.4 version. And I am able to implement the gzip while doing the following steps.
    1) Change the pivote value to CommonsHTTpSender.
    <transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
    2) public class RetreiveReservationsSOAPBindingStubLocal extends RetreiveReservationsSOAPBindingStub.
    I Override the method to support GZIP.
    org.apache.axis.client.Call _call = super.createCall();
    call.setOperation(operations[0]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("retreiveReservations");
    _call.setEncodingStyle(null);
    call.setProperty(org.apache.axis.client.Call.SENDTYPE_ATTR, Boolean.FALSE);
    call.setProperty(org.apache.axis.AxisEngine.PROPDOMULTIREFS, Boolean.FALSE);
    call.setProperty(HTTPConstants.MCACCEPT_GZIP, Boolean.TRUE);
    call.setProperty(HTTPConstants.MCGZIP_REQUEST, Boolean.TRUE);
    call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName("", "retreiveReservations"));
    super.setRequestHeaders(_call);
    super.setAttachments(_call);
    Object resp = call.invoke(new Object[] {retreiveReservationsRequest});
    I am able to send and receive the request and response in gzip encoded format.
    Now my clarrification is,
    Is it possible to set the piote value to CommonsHTTPSender for the transport http through my code?
    How could I set the values from code?
    Reason is, I don't want to manually edit the axis 1.4's client-config.wsdd
    Since this is very critical thing, please please help me.
    Thanks in advance.
    Regards,
    Nishad Ponery

  • ADF and 100 tables

    Hi
    I'm new in ADF technology so I suppose my question is very simple.
    How can I create ComboBox witch have a fields with all tables in databes??
    I don't wont write manually, but I want that my application read all tables from database (JDBC connected)!!
    Then if I choose one of them the NavigationBar will be for selected table..
    If something is not clear pleas ask me, because my english is not very good :/
    Thank you for help.

    Shay:
    Could you give me more details or links where this is explained??
    Sorry but I'm new in ADF and Swing technology..
    Frank:
    I want to modify, add and erase rows in tables which someone select that table in ComboBox..
    For example I want to do something like this:
    http://www.oracle.com/technology/products/jdev/viewlets/1013/ADF_Swing_viewlet_swf.html
    but in ComboBox I must selected tables with my database!!

  • ClassNotFoundException: oracle.adf.share.http.ServletADFFilter

    We have recently started using ADF and I have been tasked with deploying it to a Apache Tomcat environment.
    I have a simple 'jspx' with a ADF Data Visualization graph on it, that I have deployed to my local tomcat env using the JDeveloper deployment package (WAR file). However, when tomcat tries to deploy/start the web page, I get the below exception. It would seem that I am missing some files in the deployment package or that Tomcat cannot find certain files. I have also run the ADFInstaller.jar and that completed successfully. Does anyone know what I have missed?, I've spent a lot of time googling but have not found anything that helps me.
    01-May-2009 13:35:28 org.apache.catalina.core.StandardContext filterStart
    SEVERE: Exception starting filter ServletADFFilter
    java.lang.ClassNotFoundException: oracle.adf.share.http.ServletADFFilter
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
         at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
         at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247)
         at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:604)
         at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:129)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)
    01-May-2009 13:35:28 org.apache.catalina.core.StandardContext filterStart
    SEVERE: Exception starting filter trinidad
    java.lang.NoClassDefFoundError: javax/faces/context/ExternalContext
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
         at java.lang.Class.getConstructor0(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.init(TrinidadFilter.java:53)
         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
         at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
         at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247)
         at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:604)
         at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:129)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)
    01-May-2009 13:35:28 org.apache.catalina.core.StandardContext listenerStop
    SEVERE: Exception sending context destroyed event to listener instance of class org.apache.myfaces.trinidadinternal.webapp.TrinidadListenerImpl
    java.lang.NoClassDefFoundError: javax/faces/context/ExternalContext
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadListenerImpl.contextDestroyed(TrinidadListenerImpl.java:39)
         at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3882)
         at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4523)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4387)
         at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247)
         at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:604)
         at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:129)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)

    Hi,
    this filter sets the ADF binding context. If you have the following setting in your web.xml file then this filter may not be needed at all
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    Frank

  • Performance tuning with HTTP compression

    We currently are using Oracle 11g and IE8. The 11g UI has been pretty slow and when i looked up for perfomance tuning one of the methods was http compression as stated in the link below -
    http://blogs.oracle.com/pa/entry/obiee_11g_user_interface_ui
    The portion of the above information of the has been actually except from Oracle Support ID (1312299.1).
    Now I have made the changes as suggested but am wondering how can i test it to make sure the changes have surely improved the performance or not. It doesnt talk of any testing or verification methods.

    Just curious , what is the compression ratio ..?
    i mean by how much does the volume come down when the records are moved from F to E tables.
    also is the time spend on compression of the Cube or on the aggregates or on the deletion of records in the F table..?
    what is the ratio of aggregate volume to the cube volume...?
    You might want to set an trace on the compression session to get answers on where it is spending most of its time
    Compression is equivalent to executing a query on the F table  and summarising the results with the request ID column , appending the results to E table and deleting the compressed request from F table.
    Thanks.

  • HTTP Compression causes HTTP2228: Response content length mismatch

    Dear All,
    My application use iPlanet 6.1, recently we have enabled HTTP compression for the webserver.
    Which inturn does not picking up style sheet and results with bad look and feel on front end.
    On the back iPlanet logs we see some errors like
    warning (23569): for host xxx.xxx.xxx.xxtrying to GET /zbank2/css/zbank.css, finish-response reports: HTTP2228: Response content length mismatch (315 bytes with a content length of 945)
    Could you please help to resolve this problem
    Thanks,
    Jude

    Can you send your css file? I tried it on Web Server 7.0 update 3 seems to be working fine.
    I made a css file from [http://www.w3.org/Style/Examples/011/firstcss|http://www.w3.org/Style/Examples/011/firstcss]
    $cat mystyle.css
    body {
      padding-left: 11em;
      font-family: Georgia, "Times New Roman",
            Times, serif;
      color: purple;
      background-color: #d8da3d }
    ul.navbar {
      list-style-type: none;
      padding: 0;
      margin: 0;
      position: absolute;
      top: 2em;
      left: 1em;
      width: 9em }
    h1 {
      font-family: Helvetica, Geneva, Arial,
            SunSans-Regular, sans-serif }
    ul.navbar li {
      background: white;
      margin: 0.5em 0;
      padding: 0.3em;
      border-right: 1em solid black }
    ul.navbar a {
      text-decoration: none }
    a:link {
      color: blue }
    a:visited {
      color: purple }
    address {
      margin-top: 1em;
      padding-top: 1em;
      border-top: thin dotted }
    $cat myhtml.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>My first styled page</title>
      <link rel="stylesheet" href="mystyle.css">
    </head>
    <body>
    This is style.html
    </body>
    </html>$cat obj.conf
    <Object name="default">
    AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
    NameTrans fn="ntrans-j2ee" name="j2ee"
    NameTrans fn="pfx2dir" from="/mc-icons" dir="/export1/wsNov4/iplanet/ias/server/work/B1/SunOS5.8_DBG.OBJ/lib/icons" name="es-internal"
    PathCheck fn="uri-clean"
    PathCheck fn="check-acl" acl="default"
    PathCheck fn="find-pathinfo"
    PathCheck fn="find-index-j2ee"
    PathCheck fn="find-index" index-names="index.html,home.html,index.jsp"
    ObjectType fn="type-j2ee"
    ObjectType fn="type-by-extension"
    ObjectType fn="force-type" type="text/plain"
    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"
    Output fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6"
    Error fn="error-j2ee"
    AddLog fn="flex-log"
    </Object>
    <Object name="j2ee">
    Service fn="service-j2ee" method="*"
    </Object>
    <Object name="es-internal">
    PathCheck fn="check-acl" acl="es-internal"
    </Object>
    <Object name="cgi">
    ObjectType fn="force-type" type="magnus-internal/cgi"
    Service fn="send-cgi"
    </Object>
    <Object name="send-precompressed">
    PathCheck fn="find-compressed"
    </Object>
    <Object name="compress-on-demand">
    Output fn="insert-filter" filter="http-compression"
    </Object>Sent a request, but I didn't see any errors
    [07/Nov/2008:12:58:53] finest (22021):  GET /mystyle.css, func_exec reports: executing method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" Directive="Service"
    [07/Nov/2008:12:58:53] finest (22021):  GET /mystyle.css, func_exec reports: executing fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6" Directive="Output" magnus-internal=""
    [07/Nov/2008:12:58:53] fine (22021): inserted filter http-compression
    [07/Nov/2008:12:58:53] finest (22021):  GET /mystyle.css, func_exec reports: fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6" Directive="Output" magnus-internal="" returned 0 (REQ_PROCEED)
    [07/Nov/2008:12:58:53] finest (22021):  GET /mystyle.css, func_exec reports: method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" Directive="Service" returned 0 (REQ_PROCEED)...ssltap shows the response was encoded :
    --> [
    GET /mystyle.css HTTP/1.1^M
    Host: ....
    User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1.2) Gecko/20070225
    Firefox/2.0.0.2^M
    Accept: text/css,*/*;q=0.1^M
    Accept-Language: en-us,en;q=0.5^M
    Accept-Encoding: gzip,deflate^M
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7^M
    Keep-Alive: 300^M
    Connection: keep-alive^M
    Referer: http://.../myhtml.html^M
    Cookie: SUN_ID=129.147.37.51:287861225347735; s_vi=[CS]v1|48F6E7BF00000316-A02082200000556[CE]; nfTimeStamps=19700101000000%7C19700101000000%7C19700101000000; nfSettings=112101110%7C%7Cen_US%7C%7C0%7C60%7C-1%7C%7Cweek%7C-1%7C; location=US;
    s_cc=true; s_sq=%5B%5BB%5D%5D; AMAuthCookie=AQIC5wM2LY4SfczkxcjsoIVQbGnnqbFrqk8lWxYT1xzFVlE%3D%40AAJTSQACMDI%3D%23^M
    ^M
    <-- [
    HTTP/1.1 200 OK^M
    Server: Sun-Java-System-Web-Server/7.0^M
    Date: Fri, 07 Nov 2008 07:28:53 GMT^M
    Content-type: text/css^M
    Last-modified: Fri, 07 Nov 2008 07:20:29 GMT^M
    Etag: W/"277-4913ec3d"^M
    Content-encoding: gzip^M
    Vary: accept-encoding^M
    Transfer-encoding: chunked^M
    ^M
    165^M
    ^_\213^H^CU\222\301N\3030^L\206\357{
    ^K\256\313\2641!A8q^Z'^N^[/\3406nk-M\252$\355\250\320\336\2354)l\315\245\262^?\307\376?\247\205U#\374\254:T\212M-4UA\302nG\355[\314V\326^DQa\313z\224p \353j\3065<|qK^^>\351^BG\333\242yX\307\322|\222\262^FO\216\253\251Ai\265u^R\272\336u\232\246D\201\345\271v\2667J\314\332\243zQ\270Wp]\365zcp(\320%G\232}^P>\214\232D^X;\222`\254I-f\253^R\266S\324b4e\346\240\263\236^C\333^Xb\341\255\356C\272^Pl'\341)^S\315|9\270\260
    \215\204Wj\343\364f\227\306.\220?H^O^T\270\214\320^G24\304\357\273c\3247\340SoNh\2748R\335kt^Q}\212^R\377\202Hs\352~\303\227pi8\373\373G\330<G'\333%\343f\237\275^V\326)r\302q\335d\210\200\254\240\320\261\345b^T\246I\201\276\203PTZ\207y#\323\372b^]J\315\346\234J\346^G(t\237\205\201\343\366H\335k\371\341&U)G\336'-\373^Ui\255\363&\377~\237\373\334\3548\245B\303^F\224^MS\373\353j\365^K O\2450w^B^M
    0^M
    ^M
    ]

  • One integration scenario Many target system and Outgoing compressed data

    I have some theoretical questions about XI usage.
    At first, I'm not quite sure about the following thing: for example we have a corporate system and a lot of mobile computers (let's name them "clients") with installed small databases. Number of clients is not constant, but integration scenario is one for all of them. Next, if we add new client we must add new technical system, business system, communication channel, configure scenario, add required receiver and interface determination, and so on and so on. If we remove client we also must do all these steps. In this case, is it possible in XI (anywhere) to automate these procedures of scenario configuration? For example create something like business system template with communication channels or have one business system and a lot of communication channels in one integration scenario (in this way I suppose that message will be delivered to target system on the message content-based routing) and quickly activate/deactivate this channels (in fact receiver determination).
    At second, we know that XI can receive and send compressed data if client initiates communication with XI. Anybody know about reverse functionality, when XI initiates communication with target system and compresses data (on the understanding that target system is able to receive and handle compressed data). If anybody know that is possible - can you navigate me to this information?
    Thank you for help,
    Best regards.

    Hi Maxim,
    You dont need to create techn and bus systems in SLD for your clients as you can use business services. Of course you have to create a comm channel for every client (receiver address is individual!). Receiver determination and interface determination can be configured dynmamicly with wild cards (*). You can find receivers by condition of payload content.
    If you want to change this conditions very quickly (with a customizing table) you can use following trick: Use a ABAP mapping which is reading that table. Unfortunately the message is first routed and then mapped. So you have to send the message over http adapter back to XI, where the changed message is now routed by a condition. Of course a quite complex scenario, the monitoring is even more complex bcoz doubled no of messages (no performance problem - http adapter is never a bottleneck).
    Regards,
    Udo

  • Hi, im a beginner in ADF and JDeveloper. Can anyone suggest me any video links for learning Oracle ADF?

    Hi, im a beginner in ADF and JDeveloper. Can anyone suggest me any video links for learning Oracle ADF?
    Thanks,
    Vijay

    Refer the below link as a starting point.
    https://blogs.oracle.com/shay/entry/how_do_i_start_learning_oracle_adf_and_jdeveloper
    http://sameh-nassar.blogspot.com.au/2010/04/main-references-to-learn-oracle-adf.html
    Cheers
    AJ

  • Switching between https and http requests

    Hi,
    Our application is built using ADF 10.1.3
    This application need to be integrated with an in house built single sign on system. ( SSO system is built in C# and .NET)
    This single sign on system only understand https request. Once user is validated against single sign on system, our application's authorization page is called in HTTPS mode. Once the user is authorized, he is forwarded to home page. While forwarding to home page, we want to convert the HTTPS request to HTTP.
    Currently once the user is authenticated, all requests are happening in HTTPS mode.
    We do not know how to make http request from existing https requested page.
    Any help is appreciated.
    Thanks
    Ranajit

    Hi,
    the way to do this is by redirecting the call from a PhaseListener or command button. The solution Avrom refers to is a PhaseListener that uses XML configuration file to determine whether or not the page you are navigating to requires https or http. The code that handles the protocol switch is printed below
      * Determines if the requested page requires SSL and if the current protocol
      * meets this need. If not the protocol is switched between http and https
      * @param viewId
      * @param pageRequiresSSL
      public void handleProtocolSwitch(String viewId, boolean pageRequiresSSL)
        ExternalContext exctx = FacesContext.getCurrentInstance().getExternalContext();
        boolean isSecureSSLChannel = ((HttpServletRequest)exctx.getRequest()).isSecure();
        // pages that require SSL and SSL is on, or pages that don't require
        // SSL but SSL is on and should be kept
        if (pageRequiresSSL && isSecureSSLChannel || !pageRequiresSSL && isSecureSSLChannel && isKeepSSLMode) {
        printDebugMessage("Page requires SSL = "+pageRequiresSSL+", channel is secure = "+isSecureSSLChannel+", is keep SSL = "+isKeepSSLMode);
        printDebugMessage("No protocol change required");
        // page requires SSL and SSL is not active. Switch to SSL.
        if (pageRequiresSSL && !isSecureSSLChannel) {
          printDebugMessage("Page requires SSL = "+pageRequiresSSL+", channel is secure = "+isSecureSSLChannel);
          printDebugMessage("Protocol change required to use https");
          switchToHttps(viewId);
        // switch to HTTP is page doesn't require SSL and channel isn't secure
        // and isKeepSSLMode is false
        if (!pageRequiresSSL && !isKeepSSLMode && isSecureSSLChannel) {
          printDebugMessage("Page requires SSL = "+pageRequiresSSL+", channel is secure = "+isSecureSSLChannel+", is keep SSL = "+isKeepSSLMode);
          printDebugMessage("Protocol change required to use http");
          switchToHttp(viewId);
        if (!pageRequiresSSL && !isSecureSSLChannel) {
          printDebugMessage("Page requires SSL = "+pageRequiresSSL+", channel is secure = "+isSecureSSLChannel);
          printDebugMessage("No protocol change required");
      * Switches from https to http using a redirect call
      * @param viewId
      private void switchToHttp(String viewId) {
          FacesContext facesContext = FacesContext.getCurrentInstance();
          ExternalContext exctx = facesContext.getExternalContext();
          ViewHandler vh = facesContext.getApplication().getViewHandler();
          String pageURI = vh.getActionURL(FacesContext.getCurrentInstance(), viewId);
          //redirect to http URL
          String remoteHost = getHostNameFromRequest();
          printDebugMessage("Switch to http on host "+ remoteHost);
          try {
              String port = httpPort.equalsIgnoreCase("80") ? "" : ":" + httpPort;
              String url = "http://" + remoteHost + port + pageURI;
              printDebugMessage("Redirecting to http URL "+ url); 
              //TODO check request Map
               this.printDebugMessage(" Content size of RequestMap before redirect "+exctx.getRequestMap().size());
              exctx.redirect(url);         
          } catch (IOException e) {
              printDebugMessage("Redirect to http port failed "+ e.getMessage());
      * switches to https using a redirect call
      * @param viewId
      private void switchToHttps(String viewId) {
          FacesContext facesContext = FacesContext.getCurrentInstance();
          ExternalContext exctx = facesContext.getExternalContext();
          ViewHandler vh = facesContext.getApplication().getViewHandler();
          String pageURI = vh.getActionURL(FacesContext.getCurrentInstance(), viewId);
          //redirect to https URL
          String remoteHost = getHostNameFromRequest();
          printDebugMessage("Switch to SLL/https on host "+ remoteHost);
          try {
              String port = httpsPort.equalsIgnoreCase("443") ? "" : ":" + httpsPort;
              String url = "https://" + remoteHost + port + pageURI;
              printDebugMessage("Redirecting to https URL "+ url);       
              //TODO check request Map
              this.printDebugMessage(" Content of RequestMap before redirect "+exctx.getRequestMap().size());
              exctx.redirect(url);         
          } catch (Exception e) {
              printDebugMessage("Redirect to http port failed "+ e.getMessage());
      * @return the hostname of the page request
      private String getHostNameFromRequest() {
          ExternalContext exctx = FacesContext.getCurrentInstance().getExternalContext();
          String requestUrlString = ((HttpServletRequest)exctx.getRequest()).getRequestURL().toString();
          URL requestUrl = null;
          try {
              requestUrl = new URL(requestUrlString);
          } catch (MalformedURLException e) {
              e.printStackTrace();
          String remoteHost = requestUrl.getHost();
          return remoteHost;
      }If your container doesn't support session sharing between http and https then the session is renewed. In OC4J you will have to configure this.
    Frank

  • Sony - when will you step up to fix A7r and lossy compression?

    Sony - Nikon was sued for their D600 issues.  Why not do the right thing and address the A7r and lossy compression? You have a number of experts discussing the A7r shutter shock and Sony's lossy compression scheme and not yet a response from Sony.  Sony advertises that their cameras provide 14 bit color but the Sony compression algorithm never delivers more tha 8 bits of color depth according to file sizes.  This is deceptive and may amount to fraud.  Users want a camera that at the least provides an option for TRUE 14 bit color depth (even at the expense of frames per second) and a software update that eliminates shooting in the shutter range where shutter shock and blur are an issue. http://www.josephholmes.com/news-sonya7rshuttershake.html http://blog.kasson.com/?p=4674 http://diglloyd.com/blog/2014/20140212_2-SonyA7-RawDigger-posterization.html http://diglloyd.com/blog/2014/20140116_1-Sony-A7R-shutter-vibration.html  

    I'm interested in the upcoming A7S, before releasing it I hope, this time you make sure: 1) There is no light leaks of any kind, whatsoever. 2) Implement same kind of anti-shutter-shock 2s delay as in Olympus OM-D EM5 has in firmware, if you can't fix the shutter vibrations mechanically. 3) Provide a way to store truly lossless raw (should be easier with the smaller 12mpx sensor, maybe..?) Just ask some of the professionals who have wined about these issues have a go with the A7S before release to make sure it doesn't have these or some other similiar issues that hurts your reputation after release.. Tnx

  • ADF And/Or JSF : A Shift to Future

    Hi All,
    I am using Oracle Forms since 1996 and worked in different versions of it. Now there is a move away from Forms to J2EE based solutions like ADF/JSF to name a few. Even Steve is writing a book for Oracle ADF Development for Forms Developers. I have few questions in mind, that
    1. What is the best way of learning these technologies means following the book Steve / Grant is writing will help us.
    2. One must know ADF before he could learn JSF, Is it a prerequisite ?
    3. For a Forms Developer what is a right tool (ADF/JSF) which is closed to form concepts he knows so that the shift could be easy and smooth and after that he can learn more.
    Thanks In Advance

    You got is a little mixed up - JSF is one technology that the ADF framework uses.
    So it is not two options - it is one option.
    A great way to start learning development using JDeveloper ADF and JSF is visiting the special center we built for people just like you - Forms developer who want to move to Java.
    http://www.oracle.com/technology/formsdesignerj2ee
    Try for example the hands-on scripts there.
    Then you can continue with the rest of the resource on the JDeveloper home page on OTN.

  • Oracle.adf.share.http.ServletADFContext initialize

    JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
    after  start my Tomcat session I get the following warning
    27.05.2010 09:23:35 oracle.adf.share.http.ServletADFContext initialize
    WARNUNG: Found wrong applictionScope sticking to oldContext for
    oldApplication defaultApplicationName, while the current one is null
    I do not know what that means??
    thietho

    Beware of a strange behavior (we are experiencing) that seems to be the effect of setting a cookie-path in weblogic.xml.
    When cookie-path set in weblogic and we click on a link on a page template to execute a bean method that returns a URL to navigate to, method is not executed and strange navigation behavior occurs : endless loop or wrong navigation.
    Log shows :
    <ViewHandlerImpl><normalizeRequestURI> JSF1015: Request path '/faces/planning' begins with one or more occurrences of the FacesServlet prefix path mapping '/faces'.
    When the cookie-path session descriptor is removed from weblogic.xml all works fine.
    weblogic.xml as defined :
    +<?xml version = '1.0' encoding = 'UTF-8'?>+
    +<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"+
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
    xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
    +<security-role-assignment>+
    +<role-name>valid-users</role-name>+
    +<principal-name>users</principal-name>+
    +</security-role-assignment>+
    +<library-ref>+
    +<library-name>gcc_images</library-name>+
    +</library-ref>+
    +<session-descriptor>+
    +<cookie-path>/cookies/GCCBM</cookie-path>+
    +</session-descriptor>+
    +</weblogic-web-app>+
    JM

  • ADFS and ADFS proxy on 2012 and secondary on 2008 R2 is that ok

    I want to build my ADFS, ADFS Proxy for hybrid setup with exchange 2010 SP3
    I will have primary ADFS and ADFS proxy on 2012 servers and the secondary will be on 2008 R2
    as per my knowledge this should work but I want to confirm
    forest and domain functional level is 2008
    dcs are 2003 2008 and 2012
    thank you

    Hi,
    you cant mix the ADFS versions. Functional level is okay.
    You can see this also from Microsofts proposed migration strategy creating a new 2012 R2 Server with ADFS http://technet.microsoft.com/en-us/library/dn486787.aspx#BKMK_b
    Regards,
    Lutz

Maybe you are looking for

  • Problems synchronizing time in calendar

    Both my Blackberry and Computer running Vista are set to Pacific Time Zone.  But when I enter events into Blackberry and synchronize them to my Outlook 2003 using Desktop Manager, the process sets all events in my Blackberry ahead by three hours.

  • How do I store documents

    hhow do I stire and retrieve documents

  • Locking my template in contribute

    Hi. I created my template in dreamweaver and the header/footer are locked in dreamweaver on the pages...but when I open that page in contribute I can edit the header and footer? do I have to also lock it some how in contribute? can you tell me where

  • RMS Intercompany Transfer

    The RMS transfers between different legal entities are sent to the GL for the financial operations, and the type of transaction i.e. transfer vs. invoice; created is determined based on RMS system options: 'Intercompany Transfer Basis' and 'RAC RTV T

  • CC: bad interaction between complex & stdio.h on Fedora 8

    I'm encountering the following error with CC on Fedora 8. I had no such problem with Fedora 6. Flipping the order of complex & stdio.h appears to be a workarround. But its not clear to me what the real problem is. Hence posting here.. thanks, asterix