<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4665425556705896314</id><updated>2011-11-27T16:11:56.790-08:00</updated><category term='Jquery Oracle CRM On Demand OCOD OSOD AJAX'/><title type='text'>Denizens of Technology</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://deepakandeli4tech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4665425556705896314/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://deepakandeli4tech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Messer</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_mzw2va37MG0/Sbzb4kM4xiI/AAAAAAAABVE/9o4j5LxOR5s/S220/IMG_NH.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4665425556705896314.post-1665796383434316146</id><published>2009-11-28T01:25:00.001-08:00</published><updated>2009-11-30T03:21:26.083-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jquery Oracle CRM On Demand OCOD OSOD AJAX'/><title type='text'>OCOD integration using Jquery</title><content type='html'>Ever since I have been mesmerized by JQuery , I have been desperate to implement something on it, well there is already enough post related to JQuery  over internet my post would end-up one among the pile, which is when I decided it do something different.&lt;br /&gt;Being an Oracle CRM Consultant for over 3 years now, I decided it to be on JQuery shaking hands with Oracle CRM on Demand.&lt;br /&gt;Of all my experiments on JQuery (apart from UI)I have been around Ajax features in JQuery, hence I decided to come up with integration Code on JQuery  using Ajax and Oracle CRM On-Demand.&lt;br /&gt;Well, every Oracle CRM On-Demand Integration Developer understands and knows that the first thing that you need to get started with integration is a token generally termed as &lt;span style="font-weight: bold;"&gt;JSessionId&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;And this is exactly what I intent to generate in this Post.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;URL for Login&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;A client invokes login by sending an HTTP request to a URL like the following:&lt;br /&gt;&lt;br /&gt;https://[Oracle CRM URL]/Services/Integration?command=login&lt;br /&gt;&lt;br /&gt;[Oracle CRM URL]: This part of the URL would different for companies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;JQUERY &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;var url = ‘https://[Oracle CRM URL]/Services/Integration?command=login’;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;$.ajax({url:url, .. , ..l});&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;User Name and Password&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;XMLHTTP Request would be set with 2 Headers, where the Keys would be UserName, Password and values would be users dynamic User Name and Password&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;JQUERY &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;beforeSend &lt;/span&gt;option in &lt;span style="font-weight: bold;"&gt;Jquery &lt;/span&gt;.&lt;span style="font-weight: bold;"&gt;ajax &lt;/span&gt;method is a pre-callback to modify the XMLHttpRequest object before it is sent and allows you to set our own set of custom headers etc..&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;var url = ‘https://[Oracle CRM URL]/Services/Integration?command=login’;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;$.ajax({&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; url:url,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; beforeSend:function(requestObject){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;requestObject.setHeader(“UserName”,[username]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;requestObject.setHeader(“Password”,[password]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;, ..&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;});&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[UserName]:User specific UserName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Password]:User specific Password&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Not success, but error:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Jquery a typical ajax OnReadyStateChange is done using &lt;span style="font-weight: bold;"&gt;success &lt;/span&gt;option for &lt;span style="font-weight: bold;"&gt;Jquery .ajax&lt;/span&gt; method, but in order to get the expected Session Id I had to use &lt;span style="font-weight: bold;"&gt;error &lt;/span&gt;option, though it’s still unexplainable but I’m happy as long it works fine.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);"&gt;JQUERY &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;var url = ‘https://[Oracle CRM URL]/Services/Integration?command=login’;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;var sessionId=’’;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;$.ajax({&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;url:url,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;beforeSend:function(requestObject){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;requestObject.setHeader(“UserName”,[username]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;requestObject.setHeader(“Password”,[password]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;},&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;success:function(){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;//Have nothing to do&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;},&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;error:function(requestObject, textStatus, errorThrown){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;sessionId=requestObject.getResponseHeader("Set-Cookie");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;alert(sessionId);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;l});&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;if(sessionId==’’){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;alert(‘Could not Connect to System’);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;}else{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;alert(‘Connected to System’);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PS: Currently this operation is well verse with IE, but seems not to be working on Firefox, will soon try to find a way out.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4665425556705896314-1665796383434316146?l=deepakandeli4tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepakandeli4tech.blogspot.com/feeds/1665796383434316146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://deepakandeli4tech.blogspot.com/2009/11/ocod-integration-using-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4665425556705896314/posts/default/1665796383434316146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4665425556705896314/posts/default/1665796383434316146'/><link rel='alternate' type='text/html' href='http://deepakandeli4tech.blogspot.com/2009/11/ocod-integration-using-jquery.html' title='OCOD integration using Jquery'/><author><name>Messer</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_mzw2va37MG0/Sbzb4kM4xiI/AAAAAAAABVE/9o4j5LxOR5s/S220/IMG_NH.jpg'/></author><thr:total>0</thr:total></entry></feed>
