This discussion is archived
6 Replies Latest reply: Apr 13, 2012 3:32 PM by 927943 RSS

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

927943 Newbie
Currently Being Moderated
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 Explorer
    Currently Being Moderated
    [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 Newbie
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points