Comments

  • Sanjeevchauhan Orcl

    I believe you mean that you have created a BI report in fusion and you are able to invoke it using SOAP UI. Now you want to do same thing in JCS.

    SOAP UI is used to test webservice. *** it provides option to generate java code as well, but we generally don't use that. Instead we use JDev's feature of "Generating web-service proxy".

    You can right click on your project select New. Now select "Web Service Client and Proxy". It will ask for WSDL project. Once wizard is complete you will get java code that can invoke web-service. It will also provide a sample main method in client.java file to show you how to invoke message. You can also select OWSM policy "oracle/wss_username_token_client_policy". This will allow you to set username/password in WS-Security header of web-service.

    https://blogs.oracle.com/practicalbpm/creating-a-web-service-proxy-in-adf-to-consume-a-web-service

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    On JCS-SX you can't access all local files. You can only access /customer/scratch folder. You should do file writing only in that directory.

    https://docs.oracle.com/en/cloud/paas/javase-cloud/csjsu/preparing-applications-oracle-java-cloud-service-saas-extension…

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    1- Does JCS -SX provides seamless integration with cloud order management (I have seen couple of blogs which take uses cases with HCM or Sales cloud)

         I believe order management is ERP. It should have seamless integration. Better to say whatever integration you can do with HCM you should be able to do with ERP.

    2-can JCS -SX use the same DBCS which we are using with SOACS

         No. JCS-SX comes with its own database, which is database as schema. You can't have multiple schemas. Your jndi connection is already set in JCS-SX. You can see jndi name from JCS-SX console. You should use same jndi name in AM configuration of ADF.

    3-how does JCS-SX communicate with SAAS , can it directly access the all the DB tables in Oracle cloud or does it still requires web services provided by oracle

        You can't access SaaS tables directly. You can create a BI report and then access it as a SOAP service from JCS-SX.

    4- can we use bi report (sql queries ) to pull data from oracle cloud

         Yes you can do that.

    5- is there any document (user guide or metalink note) which  can be refered to for more details and have sample use cases

        JCS-SX: Usecase: https://cloud.oracle.com/developer/solutions?tab=tasks&solutionid=1385148959555

        Sample applications: https://cloud.oracle.com/developer/solutions?tab=scenarios

        Useful links: https://cloud.oracle.com/developer/jcs-sx

                https://docs.oracle.com/en/cloud/paas/javase-cloud/csjsu/index.html

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    Thank you Vikash. Let me try REST way to work with database here.

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    Hi Vikash, Thank you for information.

    I was also aware that we get database schema with JCS-SX, but then why Oracle is asking to provision DBCS as a prerequisite for JCS-SX. https://docs.oracle.com/en/cloud/paas/javase-cloud/csjsu/provisioning-database-instance.html#GUID-93E3B48E-DEFE-4F64-9D4…

    Can I assume this DBCS means database Apex Schema only not full DBCS.

    When I want sql developer connectivity my intent was to write a SQL/PLSQL script to export/import data from this database. I also want to automate that script. Ideally I would not be having sql developer in my local m/c but sql client or might be a java with jdbc. Can I do that? Alternatively I am thinking to expose database using REST services and then use them for export/import. What say? Is there any better alternative?

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    Both JCS and JCS-SX are weblogic based PaaS servers. You can think of them as Weblogic servers provided by Oracle and running on Oracle provided servers (cloud).

    JCS is mainly used to create java based (including ADF) applications and generally they are stand alone.

    JCS-SX is mainly used to create extensions of SaaS (which is your requirement). Here are few quick differences in JCS and JCS-SX

    1. JCS-SX is mainly used for SaaS extension. JCS is mainly used for standalone java based applications.

    2. JCS provides full control. You can do remote login to VM box and even run wlst scripts etc. You can assume it as a weblogic server running remotely and you have full access to VM, console, em.

        JCS-SX is managed by Oracle. Its patching etc is determined by Oracle. You don't have VM/Console/EM access. It has its own console to start/stop server, deploy application. You can even use Java client (SDK) to manage this instance.

    3. With JCS-SX you can get SSO enabled with SaaS. This is biggest advantage of JCS-SX. That is why it can provide seamless integration with SaaS.

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    Your code can't create file anywhere in JCS-SX.

    It can only create under /customer/scratch directory. Better to use System.getProperty("java.scratch.dir")

    More on this:

    https://docs.oracle.com/en/cloud/paas/javase-cloud/csjsu/preparing-applications-oracle-java-cloud-service-saas-extension…

    https://docs.oracle.com/en/cloud/paas/javase-cloud/csjsu/preparing-applications-oracle-java-cloud-service-saas-extension…

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    I believe it could be IE specific issue. Can you please try with some other browser as well.

    Generally in other browser also you get warning first which you can proceed further. Warning because em/console does not have signed certificate so you need to add it to exception list while accessing first time from browser.

    Also can you try 7001 with http protocol.

    http://129.157.218.98:7001/console

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    For extending Oracle SaaS, JCS-SX is best suited for below reasons.

    1. It is Oracle suggested solution. JCS-SX existence is to extend SaaS.

    2. You can achieve seamless integration using JCS-SX. No separate login when you move between ERP SaaS and JCS-SX screens. You can ask for SSO configuration and Oracle can do it for you.

    3. Oracle has RDK (Rapid Development Kit) available for JCS-SX development, which provides screens looking very similar to ERP SaaS. Which means user will not know when he is switching UI. In Apex case you have to develop it.

    4. With JCS-SX and ERP SaaS underline components are ADF and mostly user know how they are working. Like how date picker looks. How a tab looks, How panel accordion works etc. With Apex, you need to simulate all ADF components. Very tiring task.

    5. JCS-SX can be used to install applications from Oracle Market Place. You never know when your customer likes an app created by partners of Oracle and want to use it. Market place apps can be directly deployed on customer JCS-SX instance.

    For long term solution to ERP extension go for JCS-SX.

    For very small requirement (on of page you want) and customer is OK to relogin, to accept a different look and feel, you can try with APEX.

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    How are you testing your code?

    My assumption is

    1. you have jndi connection created on weblogic.

    2. You are deploying your code on same weblogic and then you are testing it.

    I suspect you are just trying to run your java file. In that case code is not deployed on weblogic and it runs as standalone java program. It may not be able to use jndi created in weblogic server.

    You may want to use hard coded details in that case.

        public Connection getConnection(){

            try {           

                DriverManager.registerDriver (new oracle.jdbc.OracleDriver());

                String connectionUrl = "jdbc:oracle:thin:<user>/<password>@//<host>:<port>/<sid-or-service>";

                OracleConnection conn = (OracleConnection)DriverManager.getConnection(connectionUrl);

                conn.setAutoCommit(false);

              return conn;

            } catch (Exception e) {

               e.printStackTrace();

               DiagnosticUtil.printStackTrace(e);

               throw new RuntimeException(e.getMessage());

            }

        }

    My suggestion would be to test standalone java you can use above method. The moment you decide to upload war/ear which needs connection inside use my previous post method.

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    You can follow these steps

    1. Create a JNDI connection in your weblogic and make sure you are able to successfully test connection. Let say jndi is jdbc/mydb

    2. In your java code (which is getting deployed on jcs), you can get connection simply using below lines.

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import javax.naming.InitialContext;

    import javax.naming.NamingException;

    import javax.sql.DataSource;

    public class ORCLConnection {

        public Connection getConnection(){

            InitialContext ctx;

            try {

                ctx = new InitialContext();

                DataSource ds = (DataSource)ctx.lookup("jdbc/mydb");

                Connection connection = ds.getConnection();

                return connection;

            } catch (NamingException e) {

               e.printStackTrace();

            } catch (SQLException e) {

                e.printStackTrace();

            }

        }

    }

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    It is HCM Cloud who generated JWT token so its only HCM Cloud who should verify if token is valid or not.

    Idea is if you invoke any SOAP/REST service of HCM Cloud without any username/password and include JWT token in header as authorization=bearer <JWTToken>, HCM Cloud should invoke webservice same way as if you provided username/password.

    If JWT token is valid, webserivce will go through otherwise you will receive errors.

    To sum up best way to validate if JWT token is valid or not

    1. get JWT from url

    2. invoke findSelfDetail service of HCM Cloud and pass JWT instead username/password. If service returns data, it means JWT is valid and its generated by the user, whose information is returned.

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    Many reasons for Not Found

    1. Connectivity is not there: Can you please try pinging your server from command prompt. [ping public_ip_of_load_balancer]. You can also try telnet public_id_of_load_balancer 443

        If you find connectivity issue then make sure your load balancer public ip is exposed. Use JCS set access rules option to enable load balancer ip accessible publicly.

        You might also be behind firewall so get in touch with your firewall team to enable connectivity with JCS.

    2. You are able to connect but there is no welcome page for your application. In your url you just mentionig context-root. You are not mentioning which exact page you want to access within that application. You may not have welcome page defined in web.xml so its throwing 404. You can typing actual page after context root to launch it.

    Thanks

    Sanjeev.

  • Sanjeevchauhan Orcl

    If its JCS instance you can make connection with weblogic as a normal application-server connection. You need not to select Oracle Cloud as connection type.

    For JCS you have every detail IP address, Port (7001/7002), weblogic admin user/password.

    For JCS-SX you will require Oracle Cloud type of connection. If you have JCS-SX, you can follow Technology Blog: JCS/JCS-SX: Creating application server connection

    Thanks

    Sanjeev

  • Sanjeevchauhan Orcl

    404 means you are hitting a wrong url. Anything could be wrong. Host/Port/context-root or rest of url. But definitely url is wrong. Please check your url once again. I assume you have enabled your JCS for public. Otherwise also you will get 404 as there is no connectivity to IP address that you are mentioning. For that you can login to your Cloud instance and select JCS instance and do "Set Access rule".

    Thanks

    Sanjeev