Problems with encoded parenthesis in URL of BSP application

Hi,
our BSP application has following url:
http://sap-host/sap/bc/bsp/sap/zapp/index.html
After login we addionaly get a parentheses-part in the url (url mangling):
http://sap-host/sap(bD4JHFSIBSF==)/bc/bsp/sap/zapp/index.html
Everything works fine as far as we access the sap-host dircetly. When we want to access over Websphere-Portal with a proxy-servlet (reverse-proxy), the login is correct and after login we get an error 404 (not found). This happens because the proxy encodes the parentheses in the url with %28 and %29. Another problem is, that i have no chance to change the proxy-configuration, because it´s not in my responsibility.
Is there any possibility to get the icm/icf work with these encoded parenthesis?
I didn´t find anything helpful in the sdn/forums/wiki...
Thx a lot!

Hi,
You have to manage the URL mangling when using reverse proxies.
For exemple with Apache as a reverse proxy you need this kind of rewrite rule :
RewriteRule  ^/(sap\(.*)    https://internalHost:internalPort/$1  [P,L]
If you have no chance of changing the proxy configuration, you are in trouble...
Good luck !
Olivier

Similar Messages

  • Problem with Interaction between SAP GUI and BSP Applications

    Hi Folks,
    I am new to BSP and am trying to create a program to created a BSP within the SAP GUI. This is my program, I have tried to find as to what error have I made but I am not able to find out.
    I can only find a button post document in the output, but I am not able to trigger any event. Please let me know as to what is the error.

    REPORT  zbsp_iact_gui.
    SET SCREEN 100.
    *       CLASS cl_my_html_yiewer  DEFINITION
    CLASS cl_my_html_viewer DEFINITION INHERITING FROM cl_gui_html_viewer.
      PUBLIC SECTION.
        METHODS: constructor IMPORTING parent TYPE REF TO cl_gui_container.
        METHODS: on_sapevent FOR EVENT sapevent OF cl_gui_html_viewer IMPORTING action postdata.
    ENDCLASS.                    "cl_my_html_viewer  DEFINITION
    *       CLASS cl_my_html_viewer IMPLEMENTATION
    CLASS cl_my_html_viewer IMPLEMENTATION.
      METHOD constructor.
        super->constructor( parent = parent ).
        DATA: event_tab TYPE cntl_simple_events,
              event TYPE cntl_simple_event.
        event-eventid = me->m_id_sapevent.
        event-appl_event = 'X'.
        APPEND event TO event_tab.
        call method html_control->set_registered_events
            exporting
               events = event_tab.
        SET HANDLER me->on_sapevent FOR me.
      ENDMETHOD.                    "constructor
      METHOD on_sapevent.
        BREAK-POINT.
        IF action CS 'COUNTER'.
          DATA: counter TYPE string.
          READ TABLE postdata INDEX 1 INTO counter.
          SPLIT counter AT '=' INTO counter counter.
          MESSAGE counter TYPE 'I'.
        ENDIF .
      ENDMETHOD.                    "on_sapevent
    ENDCLASS.                    "cl_my_html_viewer IMPLEMENTATION
    DATA: html_viewer TYPE REF TO cl_my_html_viewer,
          html_container TYPE REF TO cl_gui_custom_container,
          fcode LIKE sy-ucomm.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'TESTHTM1'.
      IF html_viewer IS INITIAL.
        CREATE OBJECT html_container
          EXPORTING
            container_name = 'HTML'.
        CREATE OBJECT html_viewer
          EXPORTING
            parent = html_container.
        DATA: url TYPE string, urlc(2048) TYPE c.
        cl_bsp_runtime=>construct_bsp_url(
        EXPORTING in_application = 'ZBSP_IACT_GUI'
        in_page = 'Start.htm'
        IMPORTING out_abs_url = url ).
        urlc = url. " type conversion STRING to C
        CONCATENATE urlc '?SAP-CLIENT=650' INTO urlc.
        html_viewer->show_url( url = urlc ).
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE fcode.
        WHEN OTHERS.
          CALL METHOD cl_gui_cfw=>dispatch.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    Edited by: Nonconformist Pagal on May 12, 2009 1:42 PM
    Edited for formatting by: Durairaj Athavan Raja on May 14, 2009 9:50 AM

  • A peculiar problem with encode url

    Hi,
    I have the following code snippet in jsp
    <a href="<%=urlencoder.encode("cxc.jsp?P1=RWDS") %">> Rewards</a>
    But when this page is requested, the oracle application server responds with response 404 stating requested url not found.we aer using oracle application server 10g release 2.
    But without encoding the response is correctly displayed.
    has it got to do anything with encoding? or will it be required to change the code.
    But the same encoded url works perfectly fine on iplanet application server.
    Thanks in advance

    I was able to solve this by including the google code in an external PHP file as well. However if my template has a repeating region in it, and my contribute user adds a region from it, it breaks the code again :/
    Are there any other suggestions out there??

  • Problem with encoding of xml document

    while parsing an xml document with SAX parser, i found that encoding of the xml document received as input stream is "ISO-8859-1" . After parsing certain fields has to be stored in the mysql table where table character set is "utf8" . Now what i found that ceratin characters in the original XML document are stored as question mark (?) in the database.
    1. I am using mysql 4.1.7 with system variable character_set_database as "utf8". So all my tables have charset as "utf8".
    2. I am parsing some xml file as inputsream using SAX parser api (org.apache.xerces.parsers.SAXParser ) with encoding "iso-8859-1". After parsing certain fields have to be stored in mysql database.
    3. Some XML files contain a "iso-8859-1" character with character code 146 which appears like apostrophes but actually it is : - � and the problem is that words like can�t are shown as can?t by database.
    4. I notiicied that parsing is going on well and character code is 146 while parsing. But when i reterive it from the database using jdbc it shows character code as 63.
    5. I am using jdbc to prepared statement to insert parsed xml in the database. It seems that while inserting some problem occurs what is this i don't know.
    6. I tried to convert iso-8859-1 to utf-8 before storing into database, by using
    utfString = new String(isoString.getBytes("ISO-8859-1"),"UTF-8");
    But still when i retreive it from the databse it shows caharcter code as 63.
    7. I also tried to retrieve it using , description = new String(rs.getBytes(1),"UTF-8");
    But it also shows that description contains character with code 63 instead of 146 and it is also showing can�t as can?t
    help me out where is the problem in parsing or while storing and retreiving from database. Sorry for any spelling mistakes if any.

    duggal.ashish wrote:
    3. Some XML files contain a "iso-8859-1" character with character code 146 which appears like apostrophes but actually it is : - &#146; and the problem is that words like can&#146;t are shown as can?t by database.http://en.wikipedia.org/wiki/ISO8859-1
    Scroll down in that page and you'll see that the character code 146 -- which would be 92 in hexadecimal -- is in the "unused" area of ISO8859-1. I don't know where you got the idea that it represents some kind of apostrophe-like character but it doesn't.
    Edit: Actually, I do know where you got that idea. You got it from Windows-1252:
    http://en.wikipedia.org/wiki/Windows-1252
    Not the same charset at all.

  • [CS3 - JS - Mac] Problem with encoding

    Hi,
    I made a script that perform a lot of actions on ID.
    Everytime this script performs an action it writes a line on a global variable and at the end of the script write this var into a text file ( in the Document folder).
    Yes, it's a log file...
    While I was testing this script through the Toolkit everything went right.
    Then I added a menu action inside the script to call the script from the application and something strange happened, in the log file (wich is a text file UTF8 encoding) and also in the alerts ID shows. Both display text from this:
    "È necessario effettuare una selezione" (running the script from the toolkit)
    to this:
    "È necessario effettuare una selezione" (running the script from ID menu)
    So I think it's an encoding problem...
    I just added this code:
    #targetengine "Lele";
    var Lele_menu = app.menus.item("Main").submenus.add("Lele");
    //     Menu
    var main_action = app.scriptMenuActions.add("Update");
    var main_event_listener = main_action.eventListeners.add("onInvoke", function(){main();});
    var main_menu = Lele_menu.menuItems.add(main_action);
    //     Functions
    What's the point?
    Hope you understood.
    Thanks!
    Lele

    I had problems with UTF encoding so I use this function to write the log file:
    var log_file = new File(file_path);
    log_file.encoding = "UTF8";
    log_file.lineFeed = "unix";
    log_file.open("w");
    log_file.write("\uFEFF" + text_var);
    log_file.close();
    Where text_var is the log string.
    When it's written form the ESTK everything is right, when called from the menu it isn't.
    It's strange that it also involves alert text innit?

  • Problem with left parenthesis key

    I have had a problem with the left parenthesis key, when I hit shift to use it, it does not work. The right one works fine. I have noticed this problem since I got my Mac Book Pro which has been about 3 months. I know I can take it in to have the problem resolved, but if there is a quick fix out there I can do myself that would be great. Also I have a blue tooth mac keyboard and the problem exist when using it as well.
    Thanks in advance for any suggestions, John

    I also forgot to mention that using the 9 works fine.

  • Problem with encodeing

    hi all,
    i have a problem with JNDI pooling
    everything apear to be ok
    but when i insert a UTF String into database the string appear a ??????????
    I know that i must set the charset for the connection to utf
    but i dont know how to set it in JNDI
    i use this code to do it :
    this code is getConnection() method
    Context ctx = new InitialContext();
    if(ctx == null ) {     
          throw new Exception("Boom - No Context");     
    Connection conn = null;
    ds = (DataSource)ctx.lookup("java:comp/env/jdbc/jdbc/myDB");    
    if (ds != null) {          
         conn = ds.getConnection(); // get connection from datasource pool
    return conn;this the web.xml
                      <resource-ref>
                   <description>DBConnection</description>
                   <res-ref-name>jdbc/myDB</res-ref-name>
                   <res-type>javax.sql.DataSource</res-type>
                   <res-auth>Container</res-auth>
                 </resource-ref>and this the server.xml
                     <Context path="/myPath" docBase="myDocBase" debug="5" reloadable="true" crossContext="true" source="org.eclipse.jst.j2ee.server:myDocBase">
                          <Resource name="jdbc/myDB"
                                                     auth="Container"
                                                     type="javax.sql.DataSource"
                                                     maxActive="100"
                                                     maxIdle="30"
                                                     maxWait="10000"
                                                     username="$$$"
                                                     password="$$$"
                                                     driverClassName="com.mysql.jdbc.Driver"
                                                     url="jdbc:mysql://localhost/myTest" />
                     </Context>Edited by: daigoor on Jul 1, 2010 5:49 AM
    Edited by: daigoor on Jul 1, 2010 5:59 AM
    Edited by: daigoor on Jul 1, 2010 7:32 AM

    the solution was to set the characterEncoding in the url in server.xml
    even i try it before but the server was not started
    he tell me that i must insert a ";" after password
    finally i found that the xml file does not understand the char "&" as it so the server was not started
    i search about this char in xml and found that it must be written as "&"
    i try this code and its work fine
    <Context path="/myDB"
                  docBase="myDB"
                  debug="5"
                  reloadable="true"
                  crossContext="true"
                  source="org.eclipse.jst.j2ee.server:myDB">
                     <Resource name="jdbc/MYdbcomhDS"
                                             auth="Container"
                                             type="javax.sql.DataSource"
                                             maxActive="100"
                                             maxIdle="30"
                                             maxWait="10000"
                                             driverClassName="com.mysql.jdbc.Driver"
                                             url="jdbc:mysql://localhost/mydb?user=$$$&password=$$$&characterEncoding=UTF8" />
    </Context>thank you for help
    Edited by: daigoor on Jul 4, 2010 4:25 AM

  • Problem with encoding

    Hello,
    My app is reading a file, extracting a part of it to a byte array and, afterwards, the byte array is being converted to a string and later to a file, the problem i'm having is that some characters aren't recognized in the final version, e.g., �, �, �, and are replaced by '?', i guess it's some problem with the encoding, can someone help me with the workaround?
    Thanks in advance for any help you can give me.

    Multi-Post
    http://forum.java.sun.com/thread.jspa?threadID=737681&tstart=0

  • Problem with encoding euro sign in simple select

    select '€' from dual;
    should fulfill the requirements mentioned in
    http://www.oracle.com/technology/products/database/sql_developer/files/relnotes_v121.html#sec4
    But the Euro sign is displayed as a result only when connected to a DB with UTF8 encoding. When connected to a SBCS DB with encoding WE8MSWIN1252, ¬ is displayed instead. chr('€') displays 172, which is equal to the last byte of the UTF8 representation of the Euro sign \u20ac = e2 82 ac.
    The Euro sign is included in WE8MSWIN1252 with code 128, so I would expect the result of "select '€' from dual " to display correctly in both cases.
    I have just downloaded the current version Oracle SQL Developer 1.2.1, java version is 1.6.0_02-b06.

    This is what I am trying to establish. This forum is about Oracle SQL Developer, so the example was for SQL Developer. Yes, you do not need the feedback on command.
    My point is that for a number of my colleagues, all using the database encoding WE8MSWIN1252, we do not see the upside down question mark. In SQL Developer, we see the correct Euro symbol.
    I will continue to investigate this issue.
    I have tested this using NLS Settings for German, France, Ireland, United Kingdom and America, for my database with encoding WE8MSWIN1252. These all display the correct euro symbol and not an upside down question mark, whether I use the data tab in the table definition grid, or by running F9(run statement) or F5 (run script) in the SQL Worksheet in SQL Developer.
    You do not need to send me any configuration files. Just confirm that you are on the latest release , 1.2.1.32.13 and have not replaced any files once you installed this release. I will also work with our internationalization team to track down the issue. Currently the only difference is the Java version you are using.
    Sue

  • Problem with Configuring Tomcat for running jsp web applications..Plz HELP

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

  • Bad URL in BSP applications for login

    I have some BSP applications using the following URL for login (standard SAP login page):
    /sap/public/bsp/sap/system/login.htm?sap-url=<%=PATHTRANS%>&bspchangepasswordvisible=X&bspclient=001&bspdontshowhttpswarning=X
    this URL for login works good with a WAS 6.20 but not with a WAS 6.40
    Does anybody have an idea of why ? or if there is another login page to call in the WAS 6.40 to have the same functionality ?

    Hi Eric,
    in fact, there is a new login application available in 6.40, a lot easier to integrate and with more features than the old system application.
    To activate do the following: in SICF - at the tabrider where you configure the redirect to ../system/login.htm - you can find a checkbox labeled 'System Logon'. Setting this checkbox enables the new logon. The button 'Settings' opens another window where you can configure fields, default values, styles etc.
    Documentation is at http://help.sap.com/saphelp_nw04/helpdata/en/ff/c7de3fc6c6ec06e10000000a1550b0/frameset.htm.
    There is a set of weblogs in work to cover customization. In case you have further questions open a thread in this forum with topic '6.40 System Logon'.
    What is the error or problem which you get using the redirect to .../system/login.htm in 6.40?
    regards, Ulli

  • Problem with opening of PDF in my webmail application

    I have a problem with opening a pdf file in my webmail application of my internet provider in apple safari since yesterday. When I wanted to open up a pdf file I got a pop up message to allow a connection between adobe and the webmail application which I did. Since then I can not open up a pdf file. If I go to another browser or if I use email from another internet provider I use too it works and I can open up. It seems to be a blockage of the specific combination of this webmail application and safari.
    What can I do ?

    Hi,
    I have same requirement.
    I need to cnvert smartform->pdf->send mail.
    The mail is send but the attachment is corrupted.
    Can you tell me what code you have written so its working in developement?

  • Problem with QT 7.0.4. Some Application crashes and this is why ..

    ... because some applications using QTMovie in threads and somehow Apple has disabled this feature and throw an exception if the application tries to initialize QTMovie in a thread.
    An uncaught exception was raised
    QTMovie class must be initialized on the main thread.
    * Uncaught exception: <QTMovieInitializedOnWrongThread> QTMovie class must be initialized on the main thread.
    This morning a lot of user send me feedback and crashlogs after updating to QuickTime 7.0.4.
    i hope that Apple will release a bugfix, so that we ( the developers ) will not have to rewrite our applications. I don't know why Apple has disabled this, i think they have huge problems with the second Core from there new Intel DualCore machines.
    Best
    Sven Janssen
    iMac G5 20' iSight   Mac OS X (10.4.4)  

    Earlier this week, I posted a complaint against Quicktime 7.0.4 causing really bad jerkiness in video playback and in Front Row animated menus. I had the Windows Media Plugin "Flip4Mac installed". I just noticed that Flip4Mac has posted a new version of their plugin yesturday to correct incompatibilities with Quicktime 7.0.4. After experiencing instbility with Quicktime 7.0.4, I uninstalled using the Apple uninstaller to revert back to 7.0.1, I then upgraded to 7.0.3 and all my issues were gone. Once I saw that Flip4Mac had posted a new version of it's plugin to correct incompatibilities, I was curious if this plugin was causing my issue so I re-installed Quicktime 7.0.4 and sure enough, my video playback became unstable again. I then went to macupdate.com and downloaded the newly released Flip4mac plugin for Quicktime. Sure enough, video playback was good again. I think the whole cause of the bad video issue after installing Quicktime 7.0.4 was due to the older version of Flip4Mac being installed. Just thought this might help some of you and also the Apple developers.

  • Problem with sendRedirect using relative URL in WebLogic 5.1 with SP7 & 8

    I patched to SP 7 (and also 8), and the request.sendRedirect() with relative
              URL failed. The browser simply displayed "404 - Page not found".
              This problem only happens in a cluster environment attached to a web server.
              SP6 or earlier does not have such problem.
              I noticed that the latest SP always formats the URL and returns it as a full
              absolute URL to the browser. The problem is it uses the Weblogic Server host
              URL where the request is processed (not the Web Server host URL) which is
              not visible to the internet.
              Is it possibly a bug in SP?
              

    I patched to SP 7 (and also 8), and the request.sendRedirect() with relative
              URL failed. The browser simply displayed "404 - Page not found".
              This problem only happens in a cluster environment attached to a web server.
              SP6 or earlier does not have such problem.
              I noticed that the latest SP always formats the URL and returns it as a full
              absolute URL to the browser. The problem is it uses the Weblogic Server host
              URL where the request is processed (not the Web Server host URL) which is
              not visible to the internet.
              Is it possibly a bug in SP?
              

  • Problems with encoding and files

    Hi friends pls some help my problems is the following
    I have a ftp server running on linux and in my program I download files from the ftp server using class specified below.When I download the file content not all content is coming ok. For example I have a string with
    Ra�l����1234%#=?[a_@ and when I read content using my methods this part is retirved ok Ra and this one is retrived wrong �����
    whith characteres very stranges.
    I suppose that the problem is with the encoding, then all day I tried some settings in the class new InputStreamReader.First the encoding UTF-8 because I have created the file using this encoding. Something like this:
    in = new InputStreamReader(new GZIPInputStream(localFtp.get(serverFile)),"UTF-8");
    but does not work
    After I realized that I use the statement localFtp.ascii();
    declaring that the content will be downloaded in ascii encoding so
    I made this change :
    in = new InputStreamReader(new GZIPInputStream(localFtp.get(serverFile)),"US-ASCII");
    but still does not work
    Please somebody can help me this is very urgent
    Here is my code
    Tkx
        code:
    {code}
    import sun.net.ftp.FtpClient;
    import java.util.ArrayList;
    import java.util.Vector;
    import java.io.*;
    import java.util.zip.*;
    * This is a basic wrapper around the sun.net.ftp.FtpClient
    * class, which is an undocumented class which is included
    * with Sun Java that allows you to make FTP connections
    * and file transfers.
    * <p>
    * Program version 1.0. Author Julian Robichaux, http://www.nsftools.com
    * @author Julian Robichaux ( http://www.nsftools.com )
    * @author Jpuerta (modified by)
    * @version 1.0
    public class SunFtpWrapper extends FtpClient {
         * Methods you might use from the base FtpClient class
         * // set the transfer type to ascii
         * public void ascii()
         * // set the transfer type to binary
         * public void binary()
         *// change to the specified directory
         * public void cd(String remoteDirectory)
         * // download the specified file from the FTP server
         * public TelnetInputStream get(String filename)
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.Vector;
    import java.util.ResourceBundle;
    import java.util.regex.Pattern;
    import java.util.zip.GZIPInputStream;
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    import com.banesco.lynx.common.SunFtpWrapper;
    import com.banesco.lynx.exceptions.FtpManagerException;
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    public class FtpManager extends SunFtpWrapper{
         ProcessParametersHelper parametersManager=ProcessParametersHelper.newInstance();
         ResourceBundle rb = ResourceBundle.getBundle("com.banesco.lynx.exceptions.lynx_exceptions");
         private Logger logger =null;
         public FtpManager(int i) throws FtpManagerException {          
              logger = Logger.getLogger(FtpManager.class);
              PropertyConfigurator.configure(parametersManager.getLog4j_path());
              //0 connect to source server
              //1 connect to destiny server
              if(i==0)               
                   connectToSourceServer(this);
              else if (i==1)
                   connectToDestinyServer(this);     
         private void connectToSourceServer(FtpManager ftp)throws FtpManagerException{
              try{          
                   ftp.openServer(parametersManager.getSourceServerInfo().getIp());
                   ftp.login(parametersManager.getSourceServerInfo().getUserName(), parametersManager.getSourceServerInfo                ().getPassword());
              catch (IOException e) {
                   //log error
                   logger.error("Ha ocurrido un error la descripcion del error es :" + e.getMessage());
                   throw new FtpManagerException(Integer.toString(FtpManagerException.CRITICAL),rb.getString                              ("error.ftpmanager.openconnection"));
         private void connectToDestinyServer(FtpManager ftp)throws FtpManagerException{
              try{          
                   ftp.openServer(parametersManager.getDestinyServerInfo().getIp());
                   ftp.login(parametersManager.getDestinyServerInfo().getUserName(), parametersManager.getDestinyServerInfo               ().getPassword());
              catch (IOException e) {
                   //log error
                   logger.error("Ha ocurrido un error la descripcion del error es :" + e.getMessage());
                   throw new FtpManagerException(Integer.toString(FtpManagerException.CRITICAL),rb.getString                              ("error.ftpmanager.openconnection"));
         public ArrayList downloadFileIntoMemory (String path,String serverFile, boolean isZipped) throws FtpManagerException {
              int i = 0;
              InputStreamReader in = null;
              ArrayList response = new ArrayList();
              FtpManager localFtp=null;
              try{          
                   localFtp=new FtpManager(0);
                   localFtp.cd(path);
                   //TODO modifico encoding
                   // moving file content from ftp server into memory
                   if (isZipped)     
                   {  localFtp.binary();
                   in = new InputStreamReader(new GZIPInputStream(localFtp.get(serverFile)));
                   else
                        localFtp.ascii();               
                        in = new InputStreamReader(localFtp.get(serverFile));
                   // moving file content from memory into arraylist
                   BufferedReader reader = new BufferedReader(in);          
                   String l = null;
                   while ( (l = reader.readLine()) != null)
                        response.add(l);
              catch(IOException e){
                   //TODO quitar esto
                   e.printStackTrace();
                   //log error               
                   logger.error("Ha ocurrido un error la descripcion del error es :" + e.getMessage());
                   throw new FtpManagerException(Integer.toString(FtpManagerException.CRITICAL),rb.getString                    ("error.ftpmanager.downloadfile"));
              catch (FtpManagerException e) {
                   //log error
                   logger.error("Ha ocurrido un error la descripcion del error es :" + e.getMessage());
                   throw new FtpManagerException(Integer.toString(FtpManagerException.CRITICAL),rb.getString                ("error.ftpmanager.downloadfile"));
              finally{
                   try{
                        localFtp.disconnect();
                   }catch(FtpManagerException e){
                        //log error
                        logger.error("Ha ocurrido un error la descripcion del error es :" + e.getMessage());
                        throw new FtpManagerException(Integer.toString(FtpManagerException.CRITICAL),rb.getString      ("error.ftpmanager.closeconection"));
              return response;

    Err.. GZIP files are not text files so why are you trying to read them using Readers?

Maybe you are looking for

  • How do I delete apps from the icloud account ?

    When I download an old app that used to work perfectly , it no longer works . I was told to delete it from my devise and reload it from the app store but I do not get that option when i search the app. I only get the option to load it from the cloud

  • Zen Micro firmware help

    Last night my Zen micro locked on the "creative" screen. It wouldn't power up or down. So i removed battery, held the on button and placed the batery in. I navigated to the "reload firmware option" and selected it. How long does this process take? It

  • Will Captivate 4 fix my FMR issues, using Flash 10

    Hi, I currently have Captivate 3 and we recently upgraded to Flash 10. I work in a large organization so I cannot control the Flash version, downgrading to 9 is not an option. I need to do minor drag and drops of folders (not the window itself, cuase

  • Custom user messages with pictures

    Hello, I am trying to make a "pop up message" (the name could be technically incorrect)  for the user when the test has completed.  All I want is to have a message saying "test is done" and then also have a picture in the message box.  I don't want t

  • Jelly Bean (4.1.1) update stops Wifi 802.1x

    Since getting the upgrade on my RAZR MAXX HD, I can no longer connect to wifi that requires 802.1x authentication (EAP/TLS/MSCHAPV2). Anybody have any solutions?