OC4J Scalability

Hi,
I had an "outOfMemory" error a couple of times running a few JSP applications on OC4J.
Should I use -Xmx to increase the heap size when running
an app-server? I have 2000 users and I am trying to
determine if I should increase it from 64m to 128m.
Thanks.

Christer,
There is a bug with the earlier versions of OC4J where it does use a large amount of memory for deployment. As previously suggested in this thread you can increase the memory alocated to both the client (running java -jar admin-jar) and the server (java -jar oc4j.jar). This should fix the problem.
This bug in turn has been fixed in the latest releases.
Rob

Similar Messages

  • Is standalone OC4J scalable for production environment

    Hi,
    Can our team use an OC4J standalone (a cluster perhaps) to deliver Web applications on a production environment?
    The Web app comprises JSPs and Servlets only at the moment, in future we are considering EJBs and other J2EE components.
    Will standalone OC4J scale well and is performance good enough for real world applications?
    Thank you
    Llies Meridja

    OC4J standalone is the exact same code that is packaged inside of Oracle9iAS so will have the same characteristics of Oracle9iAS. The benchmarks that Oracle markets with the ECPerf and SpecJAppServer is same thing ... so you should have no issues with performance etc.
    You might have seen that we recently released a Java Edition of Oracle9iAS, which focuses primarily on the Java features rather than the extended features like Portal, Wireless etc. If you look at this URL, you will see the feature set comparison of this minimal Java version compared to the other versions:
    http://www.oracle.com/ip/deploy/ias/index.html?pkgsum.html
    Further, as I understand it, as long as you license one of the Java Edition, Standard Edition or Enterprise Edition, you will be supported running the corresponding instance stand-alone instance of OC4J if you want to work outside of the out-of-the-box framework which Oracle9iAS provides for OC4J instances to run in.
    Mike.

  • Migrate the EJBs from JVM to OC4J...?

    We are plan to migrate the EJBs modules from Oracle8i JServer to OC4J.
    From now we have developed the EJBs by using JDeveloper as the following
    conditions;
    - JVM: Oracle8i JServer (8.1.6.3.0)
    - EJBs: Session Beans only
    - IDE tool: JDeveloper 3.2
    And now we wanna migrate or re-deploy to the OC4J. Is there any good
    suggestions or idea to do it? Also I wanna know sth to considerate...
    Thanks in advance for any advice
    Phyllis
    null

    It would be good for you to migrate to OC4J as performance in OC4J is a lot better. Here is a little migration writeup I had done sometime back. It is work in progress. Hope this helps.
    Migrating EJB components from Database EJB container to OC4J
    Author: Ashok Banerjee [[email protected]]
    Oracle recommends the new J2EE containers in Oracle9iAS (OC4J) for deploying J2EE components. The goal of this paper is to recommend ways to migrate existing EJB applications, from database EJB container, to OC4J.
    The database EJB container runs on the aurora session based Java Virtual Machine, whereas the new container runs on standard JDK (version 1.2.2 onward) .
    The database EJB container runs in a database session. The database is itself the middle tier, in such a configuration. Users therefore have a logically three tiered architecture, that runs physically on two tiers. The database serves as both the middle tier and the backend. In such situations users would use the "kprb" driver (used for requests made from within the database). No further authentication is needed if the backend database is the same as the middle tier. Users can also use one database as the middle tier and another database as the backend.
    In OC4J the middle tier does not require a database installation on the middle tier. This helps make the middle tier lightweight. OC4J is also seen to significantly faster than the EJB container inside the database. Since OC4J runs on regular JDK the user can run OC4J on the Java Virtual Machine which is best for his/her specific needs. OC4J however has a limitation in that does not support pure CORBA clients. Currently OC4J does not support RMI over IIOP either.
    To migrate existing EJB applications from inside the database to OC4J the set of changes is minimal.
    Code changes
    1. Change all references in the code and any configuration files using JDBC URLs from kprb driver to either thin or oci. "kprb" driver is only for applications running inside the database. The new OC4J runs outside the database and therefore it must use thin or oci driver.
    2. The database EJB container clientside JNDI lookups were like:
    env.put (Context.URL_PKG_PREFIXES, "oracle.aurora.jndi");
    env.put (Context.SECURITY_PRINCIPAL, user);
    env.put (Context.SECURITY_CREDENTIALS, password);
    env.put (Context.SECURITY_AUTHENTICATION, ServiceCtx.NON_SSL_LOGIN);
    Context ic = new InitialContext (env);
    while in OC4J container the lookup code should read:
    env.setProperty("java.naming.factory.initial","com.evermind.server.ApplicationClientInitialContextFactory");
    env.setProperty("java.naming.provider.url","ormi://localhost");
    env.setProperty("java.naming.security.principal","username");
    env.setProperty("java.naming.security.credentials","password");
    Context ic = new InitialContext (env);
    3) Remove all references to oracle.aurora.* classes - they will not work with OC4J. These classes are specific to the container in the database.
    4) Check for client demarcation of Bean Managed Transactions and remember that transaction in OC4J cannot be propagated across tiers. In other words client demarcated transaction will work provided the client is another EJB or a servlet in the same OC4J instance. This is also listed in the "Current Limitations" section.
    Build changes
    1. For EJB in the database we use loadjava to load classes into the database - this step is not necessary any longer for middle tier EJBs. The user merely needs to ensure that the classes are in the classpath.
    2. Similarly the concept of resolver specification in the database EJB container ceases to be useful in OC4J. To make classes "findable" the user sets the classpath. In OC4J any jars in the $OC4J_HOME/lib directory are on the server side classpath of the application classloader. The user can also include classes in their own ear files before they deploy the ear. [If you do not know about the resolver specification, then you have not used it and do not need to know about it].
    3. The database J2EE container did not have support for .ear files. The OC4J container supports J2EE standard .ear files. Both makefiles and ANT files are available in the code samples on OTN which show how to build ear files and also provides samples for the structure of the EAR files.
    EAR File contains META-INF/application.xml
    META-INF/orion-application.xml [optional]
    applicationEjb.jar
    applicationweb.war
    applicationEjb.jar contains
    META-INF/ejb-jar.xml
    META-INF/orion-ejb-jar.xml
    EJB classes
    applicationWeb.war contains
    WEB-INF/web.xml
    WEB-INF/orion-web.xml
    WEB-INF/lib/jar files needed
    WEB-INF/classes class files needed for JSP servlets
    For further information on how to write the xml files etc. please refer to their respective DTDs.
    Both web.xml and ejb-jar.xml should be unaffected by the migration.
    4. The deployejb tool used to deploy EJB to the database has been deprecated. In OC4J EJBs are deployed as shown below:
    % java -jar admin.jar ormi://localhost:<rmi-port> userName password -deploy -file ejbdemo.ear -deploymentName jndiName
    5. The ApplicationClientContainer does not need aurora_client.jar in the classpath instead it needs oc4j.jar in the classpath.
    Configuration Changes:
    1. In the database EJB container the configurations exist in database tables but in OC4J the configuration exists in industry standard XML files. By default these files are located at $OC4J_HOME/config directory. Users can start their OC4J instance with a different configuration using the -config switch to specify a different server.xml file.
    %java -jar oc4j.jar -config config1/server1.xml
    2. In the database EJB container scalability was achieved using the MTS architecture and session based Java Virtual Machine. In OC4J scalability is achieved by clustering and using the loadbalancer. For more details on loadbalancer please read <link to loadbalancer.doc>
    3. The bindds tool used to bind data-sources to the JNDI namespace of the database EJB container is deprecated. In OC4J datasources are bound to the the namespace using the data-sources.xml in $OC4J_HOME/config. Non oracle data-sources can also be bound to the namespace. A typical entry in data-sources.xml could look like:
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="OracleDS"
    location="jdbc/OracleCoreDS"
    xa-location="jdbc/xa/OracleXADS"
    ejb-location="jdbc/OracleDS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="scott"
    password="tiger"
    url="jdbc:oracle:thin:@dlsun1688:5521:jis2"
    inactivity-timeout="30"
    />
    4. Database EJB container used database authentication (database roles and database users) to authenticate users to the middle tier. OC4J uses principals.xml file to list groups and users and perform authentication. One can also implement UserManagers for OC4J to perform more complex authentication.
    5. The ports used by OC4J for RMI, JMS and HTTP are all specified in rmi.xml, jms.xml, web-site.xml.
    6. Both OC4J and the database container SSL (client authentication as well as server authentication).
    7. The database EJB container could only be remotely debugged using a jdb like interface by starting a debugagent on the server, and a debugproxy on the client. OC4J containers on the other hand run on JDK and can be debugged with any debugger. This is very useful for debugging EJB/Servlet application running in the server.
    8. The database EJB container comes with a database and hence has AQ (Advanced Queue) available for JMS. With OC4J there is a default in memory JMS implementation. OC4J server program can also connect to other JMS implementations(including AQ) using jms.xml. However a JNDI context may need to be implemented for AQ.
    Current Limitations
    1. The OC4J container at present does not support 2 phase commit.
    2. The OC4J container at present does not support transaction context propagation across tiers. Hence client demarcated transactions are not supported in OC4J except where the client demarcating the transaction is in the same container, for example an EJB having its transaction demarcated by another EJB or servlet, in the same container.
    3. In the classic container Oracle did not support RMI-IIOP tunneling through HTTP however in OC4J RMI over HTTP is supported.
    null

  • Problem with Enable scalable feature of XSLT processor

    Hi Gurus,
    I'm using BI Publisher 10.1.3.4.1. I've having a report, when running in a specific sequence (i.e. after running with XML dataset 1 then dataset 2), will yield an error. Here is the log I got in the xdo.log.
    [061411_110902953][][EXCEPTION] java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:91)
         at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:256)
         at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:81)
         at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:678)
         at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:255)
         at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
         at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
         at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:86)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
         at oracle.xdo.parser.v2.FilePageManager.pageLength(FilePageManager.java:242)
         at oracle.xdo.comp.CXMLStream.ensureReadCapacity(CXMLStream.java:1543)
    Then I tried turning off "Enable scalable feature of XSLT processor" (under the FO Processing, default is ON) This error cannot be reproduced again (i.e. my report can run in whatever sequence without an error).
    Would anyone explain to me what actually is the difference between setting the "Enable scalable feature of XSLT processor" to true and false. I'll be running the same report template with thousands of pages in some cases and I'm anxious whether turning OFF the "scalable feature" will make the performance suffer.
    Thanks in advance,
    Jonathan

    Are you running Enterprise Edition? I believe flashback database is only available with Enterprise.

  • LARGE Report | Heap space error | Scalable mode causes XDOIOException

    hi,
    we have a report that returns many records causing a fairly big memory consumption which results in a java heap space error.
    i have read the following post 'Error: Java Heap Space with the scalable mode setting.
    i activated the scalable mode feature for this report, however, after outputting the report again, i get the following exeption:
    oracle.apps.xdo.webservice.exception.OperationFailedException: PublicReportService::generateReport failed: due to oracle.apps.xdo.XDOIOException
    i activated the setting via the xdo.cfg in the according report-folder. the .cfg looks like this:
    <config version="1.0.0" xmlns="http://xmlns.oracle.com/oxp/config/">
    <properties>
    <property name="xslt-scalable">true</property>
    </properties>
    </config>
    can somebody give me a hint in which direction i should look for the error? the exeption tells me nothing to be honest.
    the report works fine with less records - with activated scalable mode however ill get the exception.
    would be very glad for advice.
    thanks a lot.
    Oracle BI Publisher: 10.1.3.4.1

    - Which Application server are you using: OC4J, Weblogic?
    - Did you increase the app server heap size?
    - Enable the DEBUG mode to troubleshoot this issue: http://bichaos.blogspot.com/2011/04/enabling-log-messages-in-bi-publisher.html
    - Start testing a small rowset and then continue increasing it until you get the error.
    regards
    Jorge

  • ADF business components and scalability ?

    Hello,
    I am new to the ADF Framework, I come from an open source background.
    I have a limitation to use Oracle technologies for an internet banking design.
    My concern is the large number of users accessing the system and how we scale up through clustering.
    Do you recommend ADF business components for this application, can ADF be simple POJOs handlers or EJB 3.0 session facades ? if that is the case, would you recommend EJB 3.0 for clustering and scalability for an internet banking system.
    Any guidance is appreciated.
    Thanks.

    Thanks for the reply, I will read the document, however,
    If I try to compare ADF to other frameworks, creating BCms as POJOs would take advantage of the Apache clustering(web tier, same as Tomcat clustering in Jboss), there is no need for OC4J services of the 10gAS, on the other hand, if I go with EJB3 stateless session beans BCms then i would need 10g OC4J container and its clustering capability(AS clustering).
    Your time is appreciated and please respond only if you time, i will go through the doc.

  • Starting the opmn managed OC4J in standalone mode ?

    Hi All,
    I have installed Oracle 10.1.3 production version of the applicartion server.
    i use opmn to start the server "opmnctl startall"
    by starting oc4j in this manner i am unable to get thread dumps, so i tried to start the server in standalone mode by using " java -jar oc4j.jar" but it fails to start throwing an error "unable to start HTTP Server" default website configuration may not be valid: Fatal error: server exiting
    Please help
    Thanks
    Raghavendra

    Deepak,
    Thanks for replying
    i am basically into performance engineering. in our team we basically put the application on a production environment and test for Performace scalability reliability etc now i need thread dumps at one particular load which can only be simulated in a large production environment.
    Today i googled a lot and found some methods
    1. A tool called Stacktrace.exe which allows to get thread dumps from java processes started as windows service
    -----but this is not working for me since intenet is blocked on my app server and this tool can only be run online
    2. their are a couple of free ware utilities which allow to get stack trace by giving input as PID ---here also i could not get, bcos of some of issue with user rights
    3. unixtool utility which runs on window--basically has unix commands simulated on windows--this allows to send kill -3 signal
    4. Last method--use JRockit JVM and get thread dumps from the JRockit Management console
    Thanks
    Raghavendra

  • How Standalone OC4J and the Oracle Application Server linked to each other

    Hi ,
    Please let me know what is the relation between a Standalone OC4J and the Oracle Application Server ?
    In my application The Oracle Application Server is installed in C drive and there is a Stand alone oC4j .
    Please tell me how they are linked to each other .
    Thank you .

    It depends on your need and what features and functionality of Oracle Application Server you are interested in. Note that OC4J is a component of Oracle Application Server that can run as a standalone component or within Oracle Application Server. Question #6 in earlier mentioned FAQ document states:
    OC4J standalone is J2EE 1.3 compatible (1.4 and 1.5 too in later releases of OC4J) and is able to be used in both development and small scale production environments. OC4J standalone provides its own inbuilt HTTP/S listener to allow clients to execute Web applications that it has deployed. Application deployment and server configuration of OC4J standalone is performed by the manual editing of a simple set of XML files.
    For large scale enterprise deployments, the Oracle Application Server product is likely to be more suitable with its comprehensive feature set including Oracle HTTP Server, process monitoring and management capabilities, and its configuration and management console.
    So if you are happy with what you see in standalone OC4J and scalability isn't an issue for you, you can stay with standalone OC4J and don't need to move to Oracle Application Server.
    PS: If you do decide to use OC4J that's embedded with Oracle Application Server, you can't move your standalone OC4J inside Oracle Application Server. You will have to reconfigure embedded OC4J again (as you might have done with standalone OC4J) and redeploy your applications.
    Hope this helps.
    Thanks
    Shail

  • OC4J and Forms Listener Servlet

    We are currently using Apache/JServ to deploy our Forms applications with the Forms Listener Servlet. Can we use the OC4J servlet container to deploy them and stop using JServ or must we keep the 2 containers (JServ and OC4J) in parallel ?

    Oracle9iDS includes a copy of OC4J so you can develop and test your Web applications on your own machine without the need to install the full Oracle9iAS.
    However when you finished developing and you want to deploy your application, you'll do this on an Oracle9iAS installation on a separate server since this is the scalable supported way. (and also the correct way in terms of licensing).

  • Migrate from Tomcat to OC4J

    Hi! Everyone,
    I developed a Servlet/JSP application on tomcat, now I am going to deploy it to OC4J. In OC4J, directly under default-web-apps, I created a directory called misc, and put my servlets (in default-web-apps/misc/WEB-INF/classes), jsp (in default-web-apps/misc/jsp), beans (in default-web-apps/misc/WEB-INF/classes/beans) there (no EJB). The OC4J server can run jsp correctly, but it can not locate servlets. It can only locate servlets under default-web-apps/WEB-INF/classes directory.
    It means it is not scalable if I put my servlets directly in default-web-apps/WEB-INF/classes, because if I deploy another project, which has a servlet, I also need to put it in the same directory.
    All in all, OC4J can locate the servlet by "http://127.0.0.1:port/servlet/myservlet", but if I put the servlet in misc/WEB-INF/classes directory, it can not locate the servlet by "http://127.0.0.1:port/misc/servlet/myservlet".
    In tomcat, it is good because every time I created a new project, I just create a new directory "misc" parallel to "examples", and I can access that project by "http://127.0.0.1:port/misc/servlet/myservlet". By doing this way, different projects are in different directory. But in OC4J, different projects' servlet has to be in the same directory (I know I can create a directory under WEB-INF/classes called misc, and then call my servlet by "http://127.0.0.1:port/servlet/misc.myservlet, but this is not what I want).
    Is there a way to let OC4J to deploy projects like tomcat? The documentation said OC4J is 100% compatible with tomcat, but I think it is not.
    Thanks a lot if you can provide help.
    Jingzhi

    Hi! Everyone,
    I developed a Servlet/JSP application on tomcat, now I am going to deploy it to OC4J. In OC4J, directly under default-web-apps, I created a directory called misc, and put my servlets (in default-web-apps/misc/WEB-INF/classes), jsp (in default-web-apps/misc/jsp), beans (in default-web-apps/misc/WEB-INF/classes/beans) there (no EJB). The OC4J server can run jsp correctly, but it can not locate servlets. It can only locate servlets under default-web-apps/WEB-INF/classes directory.
    It means it is not scalable if I put my servlets directly in default-web-apps/WEB-INF/classes, because if I deploy another project, which has a servlet, I also need to put it in the same directory.
    All in all, OC4J can locate the servlet by "http://127.0.0.1:port/servlet/myservlet", but if I put the servlet in misc/WEB-INF/classes directory, it can not locate the servlet by "http://127.0.0.1:port/misc/servlet/myservlet".
    In tomcat, it is good because every time I created a new project, I just create a new directory "misc" parallel to "examples", and I can access that project by "http://127.0.0.1:port/misc/servlet/myservlet". By doing this way, different projects are in different directory. But in OC4J, different projects' servlet has to be in the same directory (I know I can create a directory under WEB-INF/classes called misc, and then call my servlet by "http://127.0.0.1:port/servlet/misc.myservlet, but this is not what I want).
    Is there a way to let OC4J to deploy projects like tomcat? The documentation said OC4J is 100% compatible with tomcat, but I think it is not.
    Thanks a lot if you can provide help.
    Jingzhi

  • OC4J Webservices

    First question: What is the main difference between OC4J
    WebServices and WebServices using Apache SOAP 2.2?
    Second question: Is the OC4J style going to replace Apache
    SOAP2.2?
    Third question: (How) Is the Oracle XDK (going to be) used OC4J
    WebServices and/or Apache SOAP2.2?
    Question regarding How-To document:
    I've deployed the HelloWS (stateless) pure Java Web Service in
    OC4J 9.0.2.0.0 and I can access it's home page. There I can make
    a selection for either WSDL, proxy jar or proxy source. If I
    select to output the WSDL: http://..../hellows/helloService?wsdl
    the webservice returns a internal server error 500, indicating a
    NullPointer exception. Analyzing the stacktrace shows me that
    the error occurs at or due to:
    oracle.xml.jaxp.JXSAXTransformerFactory.getAssociatedStylesheet
    (JXSAXTransformerFactory.java:424). The NullpointerException
    occurs at oracle.xml.parser.v2.DOMLocator.getSystemId
    (DOMLocator.java:104).
    Any clues to what I'm missing here? Remember the proxy_jar and
    proxy_soruce both return without error.

    First question: What is the main difference between OC4J
    WebServices and WebServices using Apache SOAP 2.2?
    Answer:OC4J Web Service is much more scalable than Apache
    SOAP2.2 and is in tune with JSR 109 which is going to be part of
    J2EE 1.4.
    Second question: Is the OC4J style going to replace Apache
    SOAP2.2?
    Answer:Our direction is OC4J Web Services but we also support
    for Apache SOAP 2.2 for backward compatibility. Jdeveloper has
    option for deploying to either.
    Third question: (How) Is the Oracle XDK (going to be) used OC4J
    WebServices and/or Apache SOAP2.2?
    Question regarding How-To document:
    I've deployed the HelloWS (stateless) pure Java Web Service in
    OC4J 9.0.2.0.0 and I can access it's home page. There I can make
    a selection for either WSDL, proxy jar or proxy source. If I
    select to output the WSDL: http://..../hellows/helloService?wsdl
    the webservice returns a internal server error 500, indicating a
    NullPointer exception. Analyzing the stacktrace shows me that
    the error occurs at or due to:
    oracle.xml.jaxp.JXSAXTransformerFactory.getAssociatedStylesheet
    (JXSAXTransformerFactory.java:424). The NullpointerException
    occurs at oracle.xml.parser.v2.DOMLocator.getSystemId
    (DOMLocator.java:104).
    Any clues to what I'm missing here? Remember the proxy_jar and
    proxy_soruce both return without error.
    Answer:I actually I have it running on without any errors. I
    can&#8217;t think of any problems other than Jdk issues. The certified
    JDK is 1.3

  • Scalability Issues for Creating Pl/sql Web Services

    While Creating Pl/Sql Web Services , jdeveloper automatically creates wrappers files for the same, When using complex types for pl/sql Procedures, the wrappers contain huge no of attributes , Will there be a scalability issue for such kind of complex PL/SQL API Web services, will there be a round trips to database in order to map the attributes of java wrapper files with the Pl/SQL API files
    Also there is something called as Public View Object VO, how different it is from the normal View Object,is there a specific way to create Public View Object and XSD file for that, or its just a normal VO exposed publicly?

    Hello
    Accessing the pl/sql webservices from the application server:
    I have created pl/sql webservice using the nested tables. This will insert the object data into database tables.after deplying the webservice into external oc4j, when I test the webservice locally with url: http://localmachine:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort
    The above web-services working and I am able to insert into the database tables.
    Same when I want to access through the application server, I have changed the wsdl file soap address as
    <soap:address location="http://10.91.20.7:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort"/>
    When I access this url, I am able to give the input data
    http://10.91.20.7:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort
    but the out from the web-service is:
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>env:Server</faultcode>
    <faultstring>Error creating target: DBConnImpMftest.ObjWebserviceUser</faultstring>
    <faultactor/>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Err from the OC4j log:<PAYLOAD>
    <MSG_TEXT>An error occurred for port: {http://dbconnimpmftest/Nested_Webserv.wsdl}Nested_WebservSoapHttpPort: javax.xml.rpc.JAXRPCException: Error creating target: dbconnimpmftest.Nested_WebservUser.</MSG_TEXT>
    </PAYLOAD>
    Could any one help me to solve the above issue?
    Kind regards
    Malathi

  • Scalable Chat Server

    Hello
    I am developing a solution that uses a Socket based Java
    application and a VC++ based Socket Client.
    We started off with the server spining off one thread per client
    but shortly but surely my server was running out of memory and
    other resources.
    Hence we took the approach of One Thread per multiple
    connections. So this approach also is dying due to limitation of
    JDK1.4 that it does not allow more than 62 connections per
    Selector channel.
    Now my next thinking was that we shift the OS base -- read that
    the same JDK version does not have this limitation on Linux BUT
    we can also server the Socket Server (which is naturally
    connection oriented) via a Middle-ware or an application server
    such as Tomcat, Apache or even Oracle 9iApplication server as it
    it J2EE compliant.
    So please somebody suggest me on how can we support thousands of
    users that too of different variety like few accessing via an
    applet, few accessing via an application (VC++).
    So the answer to my question will decide does really J2EE made
    for the enterprise which requires scalability and stability.
    Hoping for an early answer

    Anup,
    VC++? Why not Java? And why not an applet client in a web page?
    I can't tell you have many applet clients are used for chat
    rooms on the web....there's just too many to count.
    OC4J has soap built in. You can use your applet client or vc++
    client directly connect to oc4j with soap.
    With a jms server built directly into oc4j, you can integrate
    your soap messages with a jms server.
    All of this loadbalanced, and clustered.
    Regards,
    the elephantwalker
    www.elephantwalker.com

  • Mulitple instances of OC4j

    hi all,
    I am using oc4j standalone for development. Is it poosible to run multiple instances of oc4j on the same jvm? If so please guide me... Also could i deploy two applications with different contexts in the seperate instances?
    Thanks in advance

    Hello,
    First of all you can not have multiple OC4J instances in 1 single JVM, but you can configure your application to use multiple instances of OC4J -each one running in its own VM-; and you do this for scalability and load balancing.
    When you have multiple JVM, and you are running a stateful application (EJB and/or Servlet sessions) you have to configure your OC4J instances to replicate the session information in the different nodes (this is where in the context of OracleAS -not stand-alone OC4J- we are talking about "islands")
    So to comment Stefano answer, yes you can have your application deployed to multiple OC4J instances, and if configure correctly it will appear like 'one single' application; but as I said before each instance is running in its own JVM.
    Niranjan, I would like to understand better why do you wan to use multiple instances? This will help us to answer you question...
    Regards
    Tugdual Grall

  • OC4J SOAP Question

    I am working on a new service provider and thinking to write it in Java and put it into the OC4J. I have successfully deployed a simple program which can take a string as the input value and sent it over http/SOAP and then return another string as the out put. The SOAP request is like:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getEmpSalary xmlns:ns1="EmpService" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <empNo xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">asdf</empNo>
    </ns1:getEmpSalary>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    In this case, I know that my Java program need to have a method call getEmpSalary and it will take a String input.
    The new service I am working on will typically send me the SOAP request like:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap-env:Body>
    <batchRequest xmlns="urn:oasis:names:tc:XXX:2:0:core">
    <smallRequest namevalue1 inputA="someValueA" inputB="someValueB" inputC="someValueC" inputD="someValueD" inputE="someValueE">
    <somethingElse>
    <present name="someName"/>
    </somethingElse>
    </smallRequest>
    <smallRequest namevalue2 inputA="someValueA" inputB="someValueB" inputC="someValueC" inputD="someValueD" inputE="someValueE">
    <somethingElse>
    <present name="someName"/>
    </somethingElse>
    </smallRequest>
    </batchRequest>
    </soap-env:Body>
    </soap-env:Envelope>
    My questions are:
    What's the name of the Java method I should implement for this particular request? searchRequest? What will be the types of input parameters? How can we handle the "somethingElse" item? Note that it's a grouped request with two smallRequests in it.
    I am very new to this field and would really appreciate the help, or if you could just indicate some pointers.
    Thanks for the help.
    - DCFL

    First question: What is the main difference between OC4J
    WebServices and WebServices using Apache SOAP 2.2?
    Answer:OC4J Web Service is much more scalable than Apache
    SOAP2.2 and is in tune with JSR 109 which is going to be part of
    J2EE 1.4.
    Second question: Is the OC4J style going to replace Apache
    SOAP2.2?
    Answer:Our direction is OC4J Web Services but we also support
    for Apache SOAP 2.2 for backward compatibility. Jdeveloper has
    option for deploying to either.
    Third question: (How) Is the Oracle XDK (going to be) used OC4J
    WebServices and/or Apache SOAP2.2?
    Question regarding How-To document:
    I've deployed the HelloWS (stateless) pure Java Web Service in
    OC4J 9.0.2.0.0 and I can access it's home page. There I can make
    a selection for either WSDL, proxy jar or proxy source. If I
    select to output the WSDL: http://..../hellows/helloService?wsdl
    the webservice returns a internal server error 500, indicating a
    NullPointer exception. Analyzing the stacktrace shows me that
    the error occurs at or due to:
    oracle.xml.jaxp.JXSAXTransformerFactory.getAssociatedStylesheet
    (JXSAXTransformerFactory.java:424). The NullpointerException
    occurs at oracle.xml.parser.v2.DOMLocator.getSystemId
    (DOMLocator.java:104).
    Any clues to what I'm missing here? Remember the proxy_jar and
    proxy_soruce both return without error.
    Answer:I actually I have it running on without any errors. I
    can&#8217;t think of any problems other than Jdk issues. The certified
    JDK is 1.3

Maybe you are looking for

  • Double Click on Graphic in Map is not Working

    Hi, I had created an application where the user can click on map and a marker will be created and it stores x y values and stored in database and user can also drag the marker and place it to appropriate position and after the user drag and drop the

  • Where is iTunes storing my album artwork?

    Running: OS X 10.9 Mavericks iTunes 11.1.3 All of my 500+ albums in iTunes have artwork, however my Album Artwork folder on my mac is empty and has no photos. I've looked in iTunes media and all other files and I can't find it anywhere. (I want to se

  • Instead of my photo's I just see an exclamation point

    When I am in my iPhoto I can't see some pictures when viewing the album and then when I click on them I get an !  Are they lost forever or is it in iPhoto issue?

  • HT5312 How to change rescue email. I have forgot my security answers ...

    Please help me with this I have money in my account and I cannot use it

  • CS3 FTP will not connect!

    I am quite furious with Adobe. I paid the $450 to upgrade from 8 to the Creative Suite 3 Web Standard package and installed it last night. The main reason for the purchase was for Dreamweaver CS3. I manage about 10 sites for clients and wanted to upg