6 Replies Latest reply: Apr 13, 2012 5:32 PM by 927943 RSS

    Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA

    927943
      I have integrated CRMOD with OPA and able to see my screens and enter data and review after submitting screen data, but when I click "Save" on TOP right of the Applet Test page throws below exception. Please help

      ===================================================================

      0 [Thread-2] INFO com.oracle.util.plugins.PluginRegistry - Successfully created plugin factory: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
      21 [Thread-2] INFO com.oracle.util.plugins.PluginRegistry - Successfully created plugin factory: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
      91903 [http-8080-1] INFO com.oracle.determinations.web.crmod.config.ConnectorProperties - Config File path : configuration/crmod-data-adapter.properties
      91934 [http-8080-1] INFO com.oracle.determinations.web.crmod.plugins.CrmodAdapter - Found mapping file ScreeningInterview-mapping.xml.
      92045 [http-8080-1] INFO com.oracle.util.plugins.PluginRegistry - Successfully created instance of plugin: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
      92045 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - Data adaptor plugin ( class com.oracle.determinations.web.crmod.plugins.CrmodAdapter ) found - attaching to session.
      92045 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No Commentary plugin supplied - using default
      92049 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No List provider supplied - using default
      92051 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No DocGen plugin supplied - using default
      175526 [http-8080-1] ERROR com.oracle.determinations.web.platform.servlet.WebDeterminationsServletUtility - com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [Missing or unparsable CaseId.]
      com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [Missing or unparsable CaseId.]
           at com.oracle.determinations.web.crmod.plugins.CrmodAdapter.save(CrmodAdapter.java:95)
           at com.oracle.determinations.web.platform.controller.actions.SaveAction.doSave(SaveAction.java:133)
           at com.oracle.determinations.web.platform.controller.actions.SaveAction.getResource(SaveAction.java:61)
           at com.oracle.determinations.web.platform.servlet.WebDeterminationsServlet.doGet(WebDeterminationsServlet.java:80)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at com.oracle.determinations.web.platform.util.CharsetFilter.doFilter(CharsetFilter.java:46)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
           at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
           at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
           at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
           at java.lang.Thread.run(Unknown Source)

      ========== MY ADAPTER PROPERTIES FILE : crmod-data-adapter.properties HAS BELOW DATA ============
      ## REQUIRED SETTINGS

      ## Properties for CRMOD Web Services
      web-service-url                         =https://secure-ausomxapa.crmondemand.com/Services/Integration
      ## Supports WS1.0 and WS2.0
      web-service-version                    =1.0

      ## Properties for Authentication
      ## Username and password must be encrypted using configuration-encrypter tool provided by the product.
      ## Please refer to Configuring CRM On Demand Connector for Web Determinations of Developer Help for more details.
      username                              =Y3JtaXQtZGVtby9jcm1pdA==
      password                              =T25EZW1hbmQ=

      ## OPTIONAL SETTINGS

      ## Set fixed-authentication to false if you want to implement other forms of authentication
      fixed-authentication                =false

      ## Properties for the mapping file
      mapping.load.from.rulebase           =true
      ## Set the mapping path if load from rulebase is set to false e.g. /configuration/mapping
      mapping.location.path               =/configuration/mapping

      ========= MY Custom Web APPLET URL in CRMOD HAS BELOW ===============

      http://localhost:8080/crmod-web-determinations?caseID=new
        • 1. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
          PhilWhitwell
          [Missing or unparsable CaseId]

          The CaseId is case sensitive- try changing the URL

          ========= MY Custom Web APPLET URL in CRMOD HAS BELOW ===============

          http://localhost:8080/crmod-web-determinations?*CaseId*=new
          • 2. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
            927943
            Dear Phil,

            As discussed and showed on WebEx , this issue is not resolved with caseID , but as per my analysis there is a SOAP request XML which was built while submitting data entered in screen and click on "SAVE", which is not correct. I am exploring today as per your advice and keep you posted ..

            ============= Phild posted message ============
            Sorry I am swamped with customer meetings.


            As I suggested yesterday...


            You should install SOAPUI
            Add the WSDL from your CRMoD system
            Connect using the parameters in your CRMOD data adapter properties file
            Try building a minimal SOAP message


            The other tool you could use to investigate is TCPMon. If you set TCPMon to listen on a certain port and change the URL entry in the properties file to point to this machine and port you will be able to see the SOAP message sent from the OWD.


            Hope this helps
            I can have a look on Tuesday next week if you are still struggling


            Cheers
            Phil
            Phil Whitwell | Director Product Strategy
            Phone: +44 1962 841516 | Mobile: +44 7917035625 | Email: phil.whitwell@Oracle.com

            Edited by: 924940 on Apr 8, 2012 9:33 PM
            • 3. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
              927943
              Dear Phil,

              I am following your adviced steps as mentioned in the thread :

              Step 1: Installed SOAP UI in my m/c

              Step 2: While creating Soap UI project I am specifying/importing to SOAPUI, WSDL (*Imported from ORACLE - CRMOD web site*) . I am getting an attached error ..What’s the next step? Kindly advice.

              +*"Error loading[file:D:\RANDD\OPA\Account_Generic_WSDL.wsdl]*+
              org.apache.xmlbeans.XMLException:org.apache.xmlbeans.XMLException:error:Unexpected end of file after xsd:element"+

              Step 3: Connect using the parameters in your CRMOD data adapter properties file

              Step 4: Try building a minimal SOAP message.

              Regards
              Bhaskara Reddy Sannapureddy
              +91-9008466722
              bhaskara.sannapureddy@crmit.com

              Edited by: 924940 on Apr 9, 2012 9:46 PM

              Edited by: 924940 on Apr 9, 2012 9:47 PM

              Edited by: 924940 on Apr 9, 2012 9:47 PM
              • 4. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
                927943
                A small update ..I am able to import Account_Custom_WSDL.wsdl to SOAP UI project


                Let me jump to Step 3 now ..testing ..keep you posted



                Thanks & Regards,

                Bhaskara Reddy Sannapureddy - Technical Architect

                Board: +91-80-4292 5555 | Desk: +91-80-4292 5540 | Mob: +91-9008466722 (UTC/GMT+05:30)

                E-Mail: bhaskara.sannapureddy@crmit.com

                Visit us : http://www.crmit.com

                Linked In:http://www.linkedin.com/profile/view?id=40123236

                [Work Smart, Not Hard]
                • 5. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
                  927943
                  On Save click getting below error from CRMOD:

                  9816032 [http-8080-1] ERROR com.oracle.determinations.web.platform.servlet.WebDeterminationsServletUtility - com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [SOAP Response Parser: CRM On Demand errors found in the SOAP request for saving.

                  Internal Error: Session is not available. Aborting.]

                  com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [SOAP Response Parser: CRM On Demand errors found in the SOAP request for saving.

                  Internal Error: Session is not available. Aborting.]

                  =============
                  Phil Whitwell | Director Product Strategy Advised as to check SOAP Request using TCPMon. Then I followed the below steps:

                  Step 1) changed URL entry in crmod-data-adapter.properties file

                  ## Properties for CRMOD Web Services

                  web-service-url =http://localhost:5049/Services/Integration

                  # earlier entry

                  #web-service-url =https://secure-ausomxapa.crmondemand.com/Services/Integration

                  Step 2) Restarted TOMCAT6

                  Step 3) Started TCPMon after setting tcpmon port as below

                  [My Tomcat is listening on 8080, I cannot bind tcpmon to listen there as well.  the way to use tcpmon correctly is to set the target port to 8080 and set the listen port to some currently unused port (say 5049) and Setup My client – CRMOD As mentioned in Step 1]


                  Step 4) I got below SOAP Request XML after executing “SAVE” in CRMOD .

                  Below SOAP Request XML sent on “SAVE” option from CRMOD:
                  - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:crmondemand/ws/account/10/2004" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

                  <SOAP-ENV:Header />

                  - <SOAP-ENV:Body>

                  - <ns:AccountWS_AccountInsert_Input>

                  - <ListOfAccount>

                  - <Account>

                  <Location>UK</Location>

                  <AccountName>Phil</AccountName>

                  <Industry>BFSI</Industry>

                  </Account>

                  </ListOfAccount>

                  </ns:AccountWS_AccountInsert_Input>

                  </SOAP-ENV:Body>

                  </SOAP-ENV:Envelope>


                  =======================================================

                  What is incorrect in the above SOAPRequest.xml, why CRMOD is throwing an error on "SAVE",
                  Can someone please advice?
                  • 6. Re: Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA
                    927943
                    Hi Phil,

                    I have found the issue, after reading OPA documentation carefully

                    Thanks for the hint, If we encrypt user credentials using custom approach then it will throw the below mail exception. I did some magic by using encrypter which was provided in OPA installation kit. Updated crmod-data-adapter.properties file with the below. After these changes I am able to SAVE data now.

                    THANKS FOR ALL YOUR HELP & TIME, Why it’s failing if we encrypt user credentials using custom approach? I am thinking Decoder is unable to understand my encrypted details. Hence Not producing this tag also correctly within SOAPHeader in generated SOAPRequest.xml

                    <SOAP-ENV:Header>
                    <wsse:Security>
                    <wsse:UsernameToken>
                    <wsse:Username>###</wsse:Username>
                    <wsse:Password Type = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-
                    1.0#PasswordText">###</wsse:Password>
                    </wsse:UsernameToken>
                    </wsse:Security>
                    </SOAP-ENV:Header>

                    web-service-url=https://secure-ausomxapa.crmondemand.com/Services/Integration
                    web-service-version=1.0
                    username=r9MsHr4aG2wujp7G21PPbRV4NHmfXr4PqDuCkhBBYM8HIR8+9VIoIVR4nzMspnWy
                    password=r9MsHr4aG2wujp7G21PPbRV4NHmfXr4PqDuCkhBBYM+Ev+FnOAQEMmwpRtOnuQW/
                    fixed-authentication=true
                    mapping.load.from.rulebase=true
                    mapping.location.path=/configuration/mapping


                    Regards
                    Bhaskara

                    Edited by: 924940 on Apr 13, 2012 3:32 PM