<?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-6570525136912736120</id><updated>2012-02-16T12:31:56.071-08:00</updated><category term='Nhibernate Oracle Sequence'/><category term='Enter Key IE'/><category term='WCF Java Axis Interoperability certificate'/><category term='NHibernate possible nonthreadsafe access to session'/><category term='RSA in Java'/><category term='RSA in C#'/><title type='text'>Technical Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-5527908643245418647</id><published>2011-05-19T14:41:00.001-07:00</published><updated>2011-05-19T15:07:52.784-07:00</updated><title type='text'>Javascript Graph Libraries</title><content type='html'>Following are nice Javascript Libraries which can be used for web applications&lt;br /&gt;&lt;br /&gt;JQPlot http://www.jqplot.com/&lt;br /&gt;Sparklines  http://omnipotent.net/jquery.sparkline/&lt;br /&gt;Protovis&lt;br /&gt;JQuery Flot&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-5527908643245418647?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/5527908643245418647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=5527908643245418647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5527908643245418647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5527908643245418647'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2011/05/javascript-graph-libraries.html' title='Javascript Graph Libraries'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-3178249037115359776</id><published>2009-12-09T06:04:00.001-08:00</published><updated>2009-12-11T05:59:40.438-08:00</updated><title type='text'>Good Links</title><content type='html'>http://www.cs.utexas.edu/users/EWD/welcome.html&lt;br /&gt;http://c2.com&lt;br /&gt;http://www.infoq.com/presentations/metaprogramming-ruby&lt;br /&gt;&lt;br /&gt;http://www.rubyrailways.com/the-top-10-rubyrails-blogs/&lt;br /&gt;http://rubyinside.com&lt;br /&gt;http://javascript.crockford.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-3178249037115359776?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/3178249037115359776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=3178249037115359776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3178249037115359776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3178249037115359776'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/12/good-links.html' title='Good Links'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-542751433517482104</id><published>2009-12-09T06:00:00.001-08:00</published><updated>2009-12-09T06:00:46.605-08:00</updated><title type='text'>SEO good links</title><content type='html'>http://www.seowhitehats.com/2009/12/04/10-seo-facebook-tips.html&lt;br /&gt;http://research.microsoft.com/pubs/81492/fp083-fetterly.pdf&lt;br /&gt;http://www.cond.org/resonance-final-submit.pdf&lt;br /&gt;http://research.microsoft.com/pubs/80233/sigir022-konig.pdf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-542751433517482104?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/542751433517482104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=542751433517482104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/542751433517482104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/542751433517482104'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/12/seo-good-links.html' title='SEO good links'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-1245326167224752395</id><published>2009-12-09T05:59:00.001-08:00</published><updated>2009-12-24T00:49:50.806-08:00</updated><title type='text'>Restful services good links</title><content type='html'>the source of truth&lt;br /&gt;http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm - &lt;br /&gt;&lt;br /&gt;less intense&lt;br /&gt;&lt;br /&gt;http://www.infoq.com/articles/rest-introduction&lt;br /&gt;http://www.infoq.com/news/2009/06/rest-ts&lt;br /&gt;http://www.infoq.com/articles/webber-rest-workflow&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://iansrobinson.com/2009/07/16/how-do-you-link/&lt;br /&gt;&lt;br /&gt;PDF&lt;br /&gt;Rest in Practice by Jim webber and Ian Robinson&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://tools.ietf.org/html/rfc5023#section-10&lt;br /&gt;http://code.google.com/apis/gdata/docs/2.0/reference.html#Queries a&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-1245326167224752395?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/1245326167224752395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=1245326167224752395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/1245326167224752395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/1245326167224752395'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/12/restful-services-good-links.html' title='Restful services good links'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-471202667942720923</id><published>2009-12-08T20:12:00.001-08:00</published><updated>2009-12-09T06:05:45.272-08:00</updated><title type='text'></title><content type='html'>Started working on rails project on nov 2, 2009. it is been fun. it is jruby + java.&lt;br /&gt;&lt;br /&gt;uses lucene as search engine, planning to use apache solr and acts as solar plugin ruby&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-471202667942720923?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/471202667942720923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=471202667942720923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/471202667942720923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/471202667942720923'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/12/started-working-on-rails-project-on-nov.html' title=''/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-6267170850255740186</id><published>2009-10-07T05:05:00.001-07:00</published><updated>2009-10-07T05:06:39.117-07:00</updated><title type='text'>seeing compilation errors for procedures in oracle</title><content type='html'>c:&gt;sqlplus -S -L user/password@sid @x.sql&lt;br /&gt;then type show error&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-6267170850255740186?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/6267170850255740186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=6267170850255740186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/6267170850255740186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/6267170850255740186'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/10/seeing-compilation-errors-for.html' title='seeing compilation errors for procedures in oracle'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-8929657859361805986</id><published>2009-09-11T02:02:00.000-07:00</published><updated>2009-09-11T02:33:32.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate possible nonthreadsafe access to session'/><title type='text'>NHibernate.AssertionFailure was unhandled possible nonthreadsafe access to session</title><content type='html'>One of our project we faced this issue, my teammates and i worked to reproduce this.&lt;br /&gt;&lt;br /&gt;How to Reproduce -&lt;br /&gt;&lt;br /&gt;namespace NHibernatePossibleThreadIssue&lt;br /&gt;{&lt;br /&gt;    public class Program&lt;br /&gt;    {&lt;br /&gt;        private static ISession Session;&lt;br /&gt;&lt;br /&gt;        public static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            Configuration conf = new Configuration();&lt;br /&gt;            IDictionary properties = new Dictionary&lt;string,string&gt;&lt;br /&gt;                                         {&lt;br /&gt;                                             {"hibernate.connection.driver_class", "NHibernate.Driver.OracleClientDriver"},&lt;br /&gt;                                             {"hibernate.connection.connection_string", "Data Source=XE; user ID=sso; Password=sso"},&lt;br /&gt;                                             {"hibernate.dialect", "NHibernate.Dialect.Oracle9Dialect"},&lt;br /&gt;                                             {"hibernate.show_sql", "true"}&lt;br /&gt;                                         };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            conf.SetProperties(properties);&lt;br /&gt;            conf.AddClass(typeof (SomeDomain));&lt;br /&gt;            conf.AddClass(typeof (SomeChild));&lt;br /&gt;            ISessionFactory factory = conf.BuildSessionFactory();&lt;br /&gt;            &lt;br /&gt;            Session = factory.OpenSession();&lt;br /&gt;            LoadInSessionTwice();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            //ConfigureCastle();&lt;br /&gt;&lt;br /&gt;            //TryThreading();&lt;br /&gt;            Console.ReadKey();&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private static void LoadInSessionTwice()&lt;br /&gt;        {&lt;br /&gt;         &lt;br /&gt;                SomeDomain domain = Session.Load&lt;SomeDomain&gt;(91286L);&lt;br /&gt;                IQuery query = Session.CreateQuery(" from SomeDomain d where d.desc= :desc ");&lt;br /&gt;                query.SetParameter("desc", "helloworld");&lt;br /&gt;                SomeDomain evicted = query.List&lt;SomeDomain&gt;()[0];&lt;br /&gt;                &lt;br /&gt;                Session.Evict(evicted);&lt;br /&gt;                Session.Flush();&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Mapping and domain classes&lt;br /&gt;&lt;br /&gt; public class SomeDomain&lt;br /&gt;    {&lt;br /&gt;        public long id { get; set; }&lt;br /&gt;        public string desc { get; set; }&lt;br /&gt;&lt;br /&gt;        private SomeChild child;&lt;br /&gt;&lt;br /&gt;        public SomeChild Child&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                if (child == null)&lt;br /&gt;                    child = new SomeChild {Domain = this};&lt;br /&gt;&lt;br /&gt;                return child;&lt;br /&gt;            }&lt;br /&gt;            set { child = value; }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; public class SomeChild {&lt;br /&gt;&lt;br /&gt;        public long Id { get; set; }&lt;br /&gt;&lt;br /&gt;        public SomeDomain Domain { get; set;}&lt;br /&gt;&lt;br /&gt;        public string description { get; set; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;&amp;lt;hibernate-mapping xmlns=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot; assembly=&amp;quot;NHibernatePossibleThreadIssue&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;class name=&amp;quot;NHibernatePossibleThreadIssue.SomeDomain&amp;quot; lazy=&amp;quot;false&amp;quot; table=&amp;quot;SOMEDOMAIN&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;id name=&amp;quot;id&amp;quot; type=&amp;quot;long&amp;quot; column=&amp;quot;ID&amp;quot; unsaved-value = &amp;quot;0&amp;quot;        &amp;gt;&lt;br /&gt;      &amp;lt;generator class=&amp;quot;native&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;param name=&amp;quot;sequence&amp;quot;&amp;gt;COR_SEQ&amp;lt;/param&amp;gt;&lt;br /&gt;      &amp;lt;/generator&amp;gt;&lt;br /&gt;    &amp;lt;/id&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;desc&amp;quot; column=&amp;quot;text&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;one-to-one name=&amp;quot;Child&amp;quot;&lt;br /&gt;       class=&amp;quot;NHibernatePossibleThreadIssue.SomeChild&amp;quot; cascade=&amp;quot;all-delete-orphan&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/class&amp;gt;&lt;br /&gt;&amp;lt;/hibernate-mapping&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;&amp;lt;hibernate-mapping xmlns=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot; assembly=&amp;quot;NHibernatePossibleThreadIssue&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;class name=&amp;quot;NHibernatePossibleThreadIssue.SomeChild&amp;quot; lazy=&amp;quot;false&amp;quot; table=&amp;quot;SOMECHILD&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;id name=&amp;quot;Id&amp;quot; column=&amp;quot;SD_ID&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;generator class=&amp;quot;foreign&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;param name=&amp;quot;property&amp;quot;&amp;gt;Domain&amp;lt;/param&amp;gt;&lt;br /&gt;      &amp;lt;/generator&amp;gt;&lt;br /&gt;    &amp;lt;/id&amp;gt;&lt;br /&gt;    &amp;lt;one-to-one name=&amp;quot;Domain&amp;quot; class=&amp;quot;NHibernatePossibleThreadIssue.SomeDomain&amp;quot; constrained=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/class&amp;gt;&lt;br /&gt;&amp;lt;/hibernate-mapping&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-8929657859361805986?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/8929657859361805986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=8929657859361805986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/8929657859361805986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/8929657859361805986'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/09/nhibernateassertionfailure-was.html' title='NHibernate.AssertionFailure was unhandled possible nonthreadsafe access to session'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-8512577693090200025</id><published>2009-09-10T21:12:00.000-07:00</published><updated>2009-09-10T21:18:55.191-07:00</updated><title type='text'>NHibernate and Session Flushing</title><content type='html'>We have some bad code in our application which was using same hibernate session across multiple threads.  We were not flushing the session, but data was still getting saved in database.&lt;br /&gt;&lt;br /&gt;The reason was when first thread use to save, data was in hibernate session, but when second thread was trying to read a data using same hibernate session, hibernate was flushing the data in its session, thus it was not possible to find this error from UI as first requests data even though not saved in DB, will be seen in second request because second request is going to make hibernate session flush the data as it was read data request.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-8512577693090200025?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/8512577693090200025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=8512577693090200025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/8512577693090200025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/8512577693090200025'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/09/nhibernate-and-session-flushing.html' title='NHibernate and Session Flushing'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-3140487381233120951</id><published>2009-09-10T21:10:00.000-07:00</published><updated>2009-09-10T21:12:29.468-07:00</updated><title type='text'>Learning Scala</title><content type='html'>We had first hands on session on Scala 10 Sept,2009, a functional programming language, here is simple example which adds all numbers upto 1000 which are multiple of 3 or 5.&lt;br /&gt;&lt;br /&gt;package test&lt;br /&gt;&lt;br /&gt;object Example1 extends Application {&lt;br /&gt;&lt;br /&gt;  val answers =(1 until 1000).filter {eachNumber =&gt; eachNumber%3==0 || eachNumber%5==0}&lt;br /&gt;  val sum = answers.foldLeft(0) { _+ _ }&lt;br /&gt;  println(sum) &lt;br /&gt;   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-3140487381233120951?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/3140487381233120951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=3140487381233120951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3140487381233120951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3140487381233120951'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/09/learning-scala.html' title='Learning Scala'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-5150694783401270915</id><published>2009-09-08T07:17:00.000-07:00</published><updated>2009-09-08T22:51:05.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSA in Java'/><category scheme='http://www.blogger.com/atom/ns#' term='RSA in C#'/><title type='text'>Using RSA private-public key with c# app for decyption(server) and java app for encryption(client)</title><content type='html'>Using RSACryptoServiceProvider (c#) we created public and private key pair. Public key is then used by Java client to encrypt data and corresponding private key is used by c# server to decrypt data encrypted by java client &lt;br /&gt;&lt;br /&gt;Java client encryting message with public key as  following xml&lt;br /&gt;&lt;br /&gt;&amp;lt;rsakeyvalue&amp;gt;&amp;lt;modulus&amp;gt;z3iQSLN4e7LEZDkb6QSvHXXmQuMRPOYpP6R18WflUGMUk38xGEwd6ieO5DqpqdLnQ+GafFuKOnnPv9wXSuGX0xb9mTgaKQJX0LJSFKHc8G7A511UYn2wuOBDnRSOB09GcPa4T/CYjdP1MRxMecwL2eZ7BJWHU94TtBxfe0soQf0=&amp;lt;/modulus&amp;gt;&amp;lt;exponent&amp;gt;AQAB&amp;lt;/exponent&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class RSATest {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void Encrypt() throws Exception {&lt;br /&gt;&lt;br /&gt;    Cipher rsa = Cipher.getInstance("RSA");&lt;br /&gt;&lt;br /&gt;    KeyFactory keyFactory = KeyFactory.getInstance("RSA");&lt;br /&gt;&lt;br /&gt;    byte[] modulusBytes = new BASE64Decoder().decodeBuffer("z3iQSLN4e7LEZDkb6QSvHXXmQuMRPOYpP6R18WflUGMUk38xGEwd6ieO5DqpqdLnQ+GafFuKOnnPv9wXSuGX0xb9mTgaKQJX0LJSFKHc8G7A511UYn2wuOBDnRSOB09GcPa4T/CYjdP1MRxMecwL2eZ7BJWHU94TtBxfe0soQf0=");&lt;br /&gt;    byte[] exponentBytes = new BASE64Decoder().decodeBuffer("AQAB");&lt;br /&gt;&lt;br /&gt;    BigInteger modulus = new BigInteger(1, modulusBytes);&lt;br /&gt;    BigInteger exponent = new BigInteger(1, exponentBytes);&lt;br /&gt;&lt;br /&gt;    RSAPublicKeySpec keySpec = new RSAPublicKeySpec(modulus, exponent);&lt;br /&gt;    PublicKey publicKey = keyFactory.generatePublic(keySpec);&lt;br /&gt;&lt;br /&gt;    rsa.init(Cipher.ENCRYPT_MODE, publicKey);&lt;br /&gt;&lt;br /&gt;    byte[] encryptedData = rsa.doFinal("password would workahdsasdfiosfadioasdio".getBytes(new US_ASCII()));&lt;br /&gt;&lt;br /&gt;    String encryptedString = HexConversions.bytesToHex(encryptedData);&lt;br /&gt;    System.out.println(encryptedString);&lt;br /&gt;    System.out.println(encryptedString.length());&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String []arg) throws Exception {&lt;br /&gt;    Encrypt();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;C# Code to decrypt what was encrypted by java client&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Globalization;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Security.Cryptography;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;    internal class Program&lt;br /&gt;    {&lt;br /&gt;        private static RSACryptoServiceProvider rsa;&lt;br /&gt;        private static string publicKey;&lt;br /&gt;        private static string privateKey;&lt;br /&gt;&lt;br /&gt;        private static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            GenerateKeys();&lt;br /&gt;            string encryptedPassword = EncryptData();&lt;br /&gt;&lt;br /&gt;            string decryptedPassword = &lt;br /&gt;&lt;br /&gt;DecryptData("57851E00296519064288CF5B014FE478B703D046648D8F3DEFE715C424670E63F6EFBDC2D7964E17C7C7618EF206F46871536184663725F2EB16FBE9E76872D1&lt;br /&gt;&lt;br /&gt;2977F50EE2BDC2C6289A4FBC3C4DA48ED85F12734F97170BA1670BAF610FBA5DB407B18A98CECAA9EFEC4D48C5FA13B4AB771029239B501BB5CCC6235E4041F6");&lt;br /&gt;&lt;br /&gt;            Console.WriteLine(decryptedPassword);&lt;br /&gt;            Console.ReadKey();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;        private static string DecryptData(string encryptedPassword)&lt;br /&gt;        {&lt;br /&gt;            RSACryptoServiceProvider clientRSAProvider = new RSACryptoServiceProvider();&lt;br /&gt;            clientRSAProvider.FromXmlString(File.ReadAllText("D:\\wsgCertificates\\privateKey.txt"));&lt;br /&gt;            byte[] bytes = new byte[encryptedPassword.Length/2];&lt;br /&gt;            for (int i = 0; i &lt; encryptedPassword.Length; i += 2)&lt;br /&gt;            {&lt;br /&gt;                bytes[i/2] = byte.Parse(encryptedPassword.Substring(i, 2), NumberStyles.HexNumber);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            byte[] decrypt = clientRSAProvider.Decrypt(bytes, false);&lt;br /&gt;            return Encoding.ASCII.GetString(decrypt);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string EncryptData()&lt;br /&gt;        {&lt;br /&gt;            RSACryptoServiceProvider clientRSAProvider = new RSACryptoServiceProvider();&lt;br /&gt;            clientRSAProvider.FromXmlString(publicKey);&lt;br /&gt;&lt;br /&gt;            byte[] encrypt = clientRSAProvider.Encrypt(Encoding.ASCII.GetBytes("hi tesint aaaaaaaaassword"), false);&lt;br /&gt;            StringBuilder stringBuilder = new StringBuilder();&lt;br /&gt;            foreach (var byteValue in encrypt)&lt;br /&gt;            {&lt;br /&gt;                stringBuilder.Append(byteValue.ToString("X2"));&lt;br /&gt;            }&lt;br /&gt;            return stringBuilder.ToString();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string EncryptDataDSA()&lt;br /&gt;        {&lt;br /&gt;            DSACryptoServiceProvider clientRSAProvider = new DSACryptoServiceProvider();&lt;br /&gt;            clientRSAProvider.FromXmlString(publicKey);&lt;br /&gt;&lt;br /&gt;            byte[] encrypt = clientRSAProvider.SignData(Encoding.ASCII.GetBytes("hi tesint aaaaaaaaassword"));&lt;br /&gt;            StringBuilder stringBuilder = new StringBuilder();&lt;br /&gt;            foreach (var byteValue in encrypt)&lt;br /&gt;            {&lt;br /&gt;                stringBuilder.Append(byteValue.ToString("X2"));&lt;br /&gt;            }&lt;br /&gt;            return stringBuilder.ToString();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static void GenerateKeys()&lt;br /&gt;        {&lt;br /&gt;            RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider();&lt;br /&gt;            publicKey = rsaCryptoServiceProvider.ToXmlString(false);&lt;br /&gt;            privateKey = rsaCryptoServiceProvider.ToXmlString(true);&lt;br /&gt;            WriteKey(publicKey, "D:\\wsgCertificates\\publicKey.txt");&lt;br /&gt;            WriteKey(privateKey, "D:\\wsgCertificates\\privateKey.txt");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;        private static void WriteKey(string key, string keyFileName)&lt;br /&gt;        {&lt;br /&gt;            StreamWriter writer = new StreamWriter(keyFileName);&lt;br /&gt;            writer.WriteLine(key);&lt;br /&gt;            writer.Close();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-5150694783401270915?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/5150694783401270915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=5150694783401270915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5150694783401270915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5150694783401270915'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/09/using-rsa-private-public-key-with-c-app.html' title='Using RSA private-public key with c# app for decyption(server) and java app for encryption(client)'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-2986312853805144651</id><published>2009-07-13T03:06:00.000-07:00</published><updated>2009-07-13T03:09:07.737-07:00</updated><title type='text'>NHibernate pagination returning same records on different pages</title><content type='html'>Oracle uses rownum for paginating queries. If  order by clause can not unique order records ie. if all records have same first , last name and we are ordering by first,last name, then different pages may get same records.&lt;br /&gt;here is good post&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-2986312853805144651?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/2986312853805144651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=2986312853805144651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/2986312853805144651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/2986312853805144651'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/07/nhibernate-pagination-returning-same.html' title='NHibernate pagination returning same records on different pages'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-3441466486632734021</id><published>2009-05-21T05:36:00.000-07:00</published><updated>2009-05-21T05:51:06.740-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF Java Axis Interoperability certificate'/><title type='text'>WCF Web service and Java Axis client - Message level security with certificates.</title><content type='html'>We were facing issue with Axis 2 client talking to WCF service protected using message level security.&lt;br /&gt;&lt;br /&gt;Note that client will sign message using its private key and encrypt using server's public key while server while sending response will sign with his private key and encrypt using clients public key&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solution -&lt;br /&gt;We tried using Test certificate which has DN  = "Test" as server's private key and it worked fine.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;we configured wcf webservice with private key of test.pfx and  java axis client with public key of test.pfx. We used verisign original certificate as client private key.&lt;br /&gt;&lt;br /&gt;Request has&lt;br /&gt;&lt;ds:x509issuername&gt;CN=Test&lt;/ds:x509issuername&gt;&lt;br /&gt;&lt;br /&gt;Response has&lt;br /&gt;&lt;br /&gt;&lt;x509issuerserial&gt;&lt;x509issuername&gt;CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2, OU=Terms of use at https://www.verisign.com/rpa (c)08, OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US&lt;/x509issuername&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2)&lt;br /&gt;By using verisign certificate, we also tried using  &lt;sp:mustsupportrefkeyidentifier&gt;  instead of   &lt;sp:mustsupportrefissuerserial&gt;   in client policy file , but got same exception on WCF side,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3)&lt;br /&gt;&lt;br /&gt;We looked at java axis source code, to see how it contructs X509IssuerName in soap message, code says that is follows  RFC 2253 (http://www.ietf.org/rfc/rfc2253.txt) , so it seems that Java axis is normalizing the IssuerName as per rfc 2253 i.e No spaces after comma between CN and OU and so on. Also it uses \ to esacpe comma inside O=VeriSign, Inc. as per rfc 2253&lt;br /&gt;&lt;br /&gt;e.g (CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)08,OU=VeriSign Trust Network,O=VeriSign\, Inc.,C=US),&lt;br /&gt;&lt;br /&gt;So it seems that wcf does not support above normalization&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------------&lt;br /&gt;Client  - Axis-2 Version 1.3 with Rampart version 1.3&lt;br /&gt;&lt;br /&gt;Service - WCF Service with message level security on .Net3.5 service SP1&lt;br /&gt;&lt;br /&gt;Web.config of WCF Web Service is&lt;br /&gt;&lt;br /&gt;&lt;p2&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;appsettings&gt;&lt;br /&gt;&lt;connectionstrings&gt;&lt;br /&gt;&lt;system.servicemodel&gt;&lt;br /&gt;&lt;br /&gt;  &lt;services&gt;    &lt;br /&gt;    &lt;service behaviorconfiguration="WSGWcfService.v2.0.ServiceBehavior" name="Core.AuthenticationService.AuthenticationService"&gt;&lt;br /&gt;      &lt;endpoint address="" binding="basicHttpBinding" contract="Core.AuthenticationService.IAuthenticationService" name="v2" bindingconfiguration="WSGVersionTwoBinding"&gt;&lt;br /&gt;        &lt;identity&gt;&lt;br /&gt;          &lt;dns value="localhost"&gt;&lt;br /&gt;        &lt;/dns&gt;&lt;br /&gt;      &lt;/identity&gt;&lt;br /&gt;      &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"&gt;&lt;br /&gt;    &lt;/endpoint&gt;    &lt;br /&gt;  &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;  &lt;behaviors&gt;&lt;br /&gt;    &lt;servicebehaviors&gt;&lt;br /&gt;      &lt;behavior name="WSGWcfService.v2.0.ServiceBehavior"&gt;&lt;br /&gt;        &lt;servicemetadata httpgetenabled="true"&gt;&lt;br /&gt;        &lt;servicedebug includeexceptiondetailinfaults="true"&gt;&lt;br /&gt;        &lt;servicecredentials&gt;&lt;br /&gt;          &lt;servicecertificate findvalue="A28E6D661CB1E33674307D9E0DC223FBEA005667" x509findtype="FindByThumbprint" storename="My" storelocation="LocalMachine"&gt;&lt;br /&gt;          &lt;clientcertificate&gt;&lt;br /&gt;            &lt;authentication certificatevalidationmode="Custom" customcertificatevalidatortype="Core.Security.WSGCertificateAuthenticator, Core"&gt;&lt;br /&gt;          &lt;/authentication&gt;&lt;br /&gt;        &lt;/clientcertificate&gt;&lt;br /&gt; &lt;!--          &lt;servicesecurityaudit auditloglocation="Application" messageauthenticationauditlevel="SuccessOrFailure" serviceauthorizationauditlevel="SuccessOrFailure" suppressauditfailure="false"&gt;--&gt;&lt;br /&gt;        &lt;wsgservicebehaviorversiontwo&gt;&lt;br /&gt;      &lt;/wsgservicebehaviorversiontwo&gt;&lt;br /&gt;    &lt;/servicecertificate&gt;&lt;br /&gt;  &lt;/servicecredentials&gt;&lt;br /&gt;&lt;br /&gt;  &lt;bindings&gt;&lt;br /&gt;    &lt;basichttpbinding&gt;&lt;br /&gt;      &lt;binding name="WSGVersionTwoBinding"&gt;&lt;br /&gt;        &lt;security mode="Message"&gt;&lt;br /&gt;          &lt;message clientcredentialtype="Certificate"&gt;&lt;br /&gt;        &lt;/message&gt;&lt;br /&gt;      &lt;/security&gt;&lt;br /&gt;    &lt;/binding&gt;&lt;br /&gt;  &lt;/basichttpbinding&gt;&lt;br /&gt;&lt;br /&gt;&lt;/bindings&gt;&lt;br /&gt;&lt;/servicedebug&gt;&lt;br /&gt;&lt;br /&gt;&lt;/servicemetadata&gt;&lt;br /&gt;1.&lt;br /&gt;&lt;br /&gt;We are trying to consume above WCF web service which is using Message Level Security [using client and server certificates.]. WCF service throws Soap Fault exception saying " An error occurred when verifying security for the message.".&lt;br /&gt;&lt;br /&gt;After enabling message level logging on WCF service, we see following error in event viewer:&lt;br /&gt;&lt;br /&gt;Message authentication failed.&lt;br /&gt;Service: http://xxx/Gateway/v2.0/Authentication.svc&lt;br /&gt;Action: http://xxxxxx/v2.0/Authentication/Login&lt;br /&gt;ClientIdentity:&lt;br /&gt;ActivityId: &lt;null&gt;&lt;br /&gt;MessageSecurityException: The EncryptedKey clause was not wrapped with the required encryption token 'System.IdentityModel.Tokens.X509SecurityToken'.&lt;br /&gt;&lt;br /&gt;Soap message created by Axis2 client is&lt;br /&gt;&lt;br /&gt;&lt;soapenv:envelope soapenv="http://schemas.xmlsoap.org/soap/envelope/" xenc="http://www.w3.org/2001/04/xmlenc#"&gt;&lt;br /&gt;&lt;soapenv:header&gt;&lt;br /&gt;  &lt;wsse:security wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" mustunderstand="1"&gt;&lt;br /&gt;    &lt;wsu:timestamp wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" id="Timestamp-6349096"&gt;&lt;br /&gt;      &lt;wsu:created&gt;2009-03-17T11:21:36.389Z&lt;/wsu:created&gt;&lt;br /&gt;      &lt;wsu:expires&gt;2009-03-17T11:26:36.389Z&lt;/wsu:expires&gt;&lt;br /&gt;    &lt;/wsu:timestamp&gt;&lt;br /&gt;    &lt;xenc:encryptedkey id="EncKeyId-1281123"&gt;&lt;br /&gt;      &lt;xenc:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"&gt;&lt;br /&gt;      &lt;ds:keyinfo ds="http://www.w3.org/2000/09/xmldsig#"&gt;&lt;br /&gt;        &lt;wsse:securitytokenreference&gt;&lt;br /&gt;          &lt;ds:x509data&gt;&lt;br /&gt;            &lt;ds:x509issuerserial&gt;&lt;br /&gt;              &lt;ds:x509issuername&gt;C=US,O=VeriSign\, Inc.,OU=VeriSign Trust Network,OU=Terms of use at https://www.verisign.com/rpa (c)08,CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2&lt;/ds:x509issuername&gt;&lt;br /&gt;&lt;br /&gt;              &lt;ds:x509serialnumber&gt;42434585466876238486390762643181460020&lt;/ds:x509serialnumber&gt;&lt;br /&gt;            &lt;/ds:x509issuerserial&gt;&lt;br /&gt;          &lt;/ds:x509data&gt;&lt;br /&gt;        &lt;/wsse:securitytokenreference&gt;&lt;br /&gt;      &lt;/ds:keyinfo&gt;&lt;br /&gt;      &lt;xenc:cipherdata&gt;&lt;br /&gt;        &lt;xenc:ciphervalue&gt;pp5rBoUSRinB0gYpO5gezf2AZYnsmwLefDX9HIs0kvf0vEzQox8qL3xyMzQpL+P8wSV+PejhxUwURUVZqHoYTp8Xd+XtTVTHKojL23phrIWBh4658qx8hkGL86cbsyW0gVqPzg960y2SJafKRzzq60O1M/kLeZX2ej4bc1dTwmKu3eCSGYmLKi3VF9FOpV6sYPFgr5Z9vfUsh4AtBZN53yO9BnzvgHcJ9Bpr6fz9OxZH4cLnv5U02xUhxmbLnl9F0mtF0DSImicII8BwJFt8K2/wpWlhuTSjuzcK4iea+XEjakTDJkcxUWn3GZLNhmFZA3tUe9zoX1M7T2APV0m9qw==&lt;/xenc:ciphervalue&gt;&lt;br /&gt;      &lt;/xenc:cipherdata&gt;&lt;br /&gt;      &lt;xenc:referencelist&gt;&lt;br /&gt;        &lt;xenc:datareference uri="#EncDataId-25899876"&gt;&lt;br /&gt;        &lt;xenc:datareference uri="#EncDataId-32915800"&gt;&lt;br /&gt;      &lt;/xenc:datareference&gt;&lt;br /&gt;    &lt;/xenc:datareference&gt;&lt;br /&gt;    &lt;wsse:binarysecuritytoken wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" encodingtype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" valuetype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" id="CertId-371635075"&gt;MIIE9TCCA92gAwIBAgIQcr2EElpLCvNFlLc2BcKXdTANBgkqhkiG9w0BAQUFADCBwjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwODE8MDoGA1UEAxMzVmVyaVNpZ24gQ2xhc3MgMiBNUEtJIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEcyMB4XDTA4MDczMTAwMDAwMFoXDTA5MDczMTIzNTk1OVowgeQxGzAZBgNVBAoUElRSQUlOTElORS5DT00gTFRELjELMAkGA1UECxQCSVMxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9DUFMgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTkxJzAlBgNVBAsUHldTRyBDb25zdW1lciBJRCAtIElXU0dfVFdfQ09SUDEbMBkGA1UEAxMSQ29ycG9yYXRlIENvbnN1bWVyMSowKAYJKoZIhvcNAQkBFhthbmFudC5lYXN0QHRoZXRyYWlubGluZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCabWfkZ9jgI1tvROaiLy1I5qIm4o1adi0f/NH0dmx2x6UZx11i7IzVCMcN0olAg15TSefnfS3ULzIGQdm4JpCwbRfFFKpby45poLpfGyL7HwCCiowsnpWolY+wEfodZZLjQJH8dA0nSxRFo7lUOIVibaGvmS2MuDXOTPxXsFvja+otaeREFtLWSvrmX2eiZMu2qawHhklR5hD9rdJQuMqsberoNbfj8vX8IBxSuWoXAutDRVN1DB4GFACSpxTDOGf/pbZySYOKMg86ybFKryiKoTv7G6+hU/lCN9igbiNxbIwyw+bj9aoGf9krc6Z472riE1odoqoKSIOg3Rga5AX1AgMBAAGjgcIwgb8wCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcCMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYDVR0PBAQDAgWgMBEGCWCGSAGG+EIBAQQEAwIHgDBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vb25zaXRlY3JsLnZlcmlzaWduLmNvbS9PblNpdGVQdWJsaWMvTGF0ZXN0Q1JMLUcyLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAX4cTwrwSxIdGEwXAdgebkz56ZmsRg6zQgiCq2SLi8JEHKgPJIE6jXgDi+miwp2scU7XmH8AxYVHzBX0GQ70HUn0iWgPFl5jT0q8zVT4IWZaiXtswvltkAqMmT2xofgmDBpde2P+GB7Nf38RIuoMt8z1VFO2x47RjzPKaEt+MQqC4nq/2Ra5DUWaUb62qjs+fBOa4tfBirLoYOQYtb5n8UKQMEmi14cqCU3alU2iHXbvDP1UoMTUN4AiFt/aWqzJtHybUn+PygBqgUdj47ObIaTHd/r/XryD4VDGbP8rUVijS54pqxfzMmtt5AlJR2DdnGclXTezpYuVo2Udhu37C9A==&lt;/wsse:binarysecuritytoken&gt;&lt;br /&gt;    &lt;xenc:encrypteddata id="EncDataId-32915800" type="http://www.w3.org/2001/04/xmlenc#Element"&gt;&lt;br /&gt;      &lt;xenc:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"&gt;&lt;br /&gt;      &lt;ds:keyinfo ds="http://www.w3.org/2000/09/xmldsig#"&gt;&lt;br /&gt;        &lt;wsse:securitytokenreference&gt;&lt;br /&gt;          &lt;wsse:reference uri="#EncKeyId-1281123"&gt;&lt;br /&gt;        &lt;/wsse:reference&gt;&lt;br /&gt;      &lt;/wsse:securitytokenreference&gt;&lt;br /&gt;      &lt;xenc:cipherdata&gt;&lt;br /&gt;        &lt;xenc:ciphervalue&gt;&lt;br /&gt;          t+xlmsXcb2w+vjV6Sg05Lk6r75W7UnoMkvJNijW9cC1ddVGRwFA5hf5MEgT3IjkavjN6xE+UFf2s&lt;br /&gt;          NoWsXUQuqnUrsugWB2X47Ad68Xurq5gBPwkqxGv6fI/w1OZmh28hw1mMBLuX8BvL2+2Lzq4dh3zW&lt;br /&gt;          jIh64hqQjKYxW5O+ZPkiib+JJ/Tl6XYiVN8v5JvQlzv+BzgfMDKHEjKtEnDtNc4BnDM3EZxC0OVx&lt;br /&gt;          t8b+5H00oJS6gtn/zw/LaOVOkNe5Pa6hDRNEgYdo8JlYKPfR0gHc3JIxqfbwn260v/j0b6QcGWfw&lt;br /&gt;          gHv1sHwlWOOe1T9BtF0cH6wZabFPxDf6h8LQZdc9YpA6S65JCf6p9IhOSU/rB0K//8G8mrF5P1Kd&lt;br /&gt;          4ThwAgpfWF4N3ZO93xRt3Kg6y6SOkaF7fTkqgdFTtR3eo9g+a9N0GCfm+cuzfgyEjFdwzrM1P6fd&lt;br /&gt;          4A4PTqICNZXmzLrLSTV5zkcyLDPqDAi/7Ts1iXq8zGCiGJMRlOdw65akYkMctFH8yw4Ry3Py2cA5&lt;br /&gt;          KK5cB/Rm5TnJfLCRDvySJ2UYDZ6TcI2Zh7jDPyll2PPeKnlEGxutHTh7MT5u/Cny4uQYJgRVSeZ9&lt;br /&gt;          fNc6m9ZeaBmvdT8VShIAWianxB7cCwM7so9AEsinAunRtkUS7YQ2DKbfQi97RYiAZkEw4ty2AsmY&lt;br /&gt;          J1l3Y1v8aCUNcH3GPdY2AIH8LhsYyP9B/s07DYfQMFlhq2W0lp+R3b56NQPfi9irP5zMhevrCroA&lt;br /&gt;          h7LmBQywksbRvHwphQQLA5j1guz/pB+Tf5It3KPeO0WLa263hHwuS+lsfubKIQHTi45k9ehfjLUC&lt;br /&gt;          ypcheFz/oqVr+lbiPqBpluPEqSYxK6pEm4byLaVo7cfkCcl3J7J+cn+xHa4l1Nr97BOc6d6KmBb6&lt;br /&gt;          ykI5VYGCyS8HiQ1nZURqcH+kJSiO3DKqhUDtQYFcZUzS3TfcCt9H7B52+/FwF7J1RDd34+XGA5aQ&lt;br /&gt;          /BGEWeRxA745KCYkVxYZWWc7p6pbbteXcltyIfp/5R+Si1L8S6JEKmLkNOgUY6XJpUQq26fwh4O+&lt;br /&gt;          fdLt5v3IdDdoajXoIVNy6o9s8w32RSzW7JxS2PM9vgbDA8tRNnZVsHTKvY4fIymcVAgW0PtuveVS&lt;br /&gt;          ExrjRUf1zlqc5AikO64qNwUUzR9NE421iFJsUBeaeUEwHQWvLTUwkvFNnxWYOX4FZHd6i85iOuyP&lt;br /&gt;          wgpLl8kLHlhqgp8agou9VgiVgrkLQUh/wL7OKZBpoARxWzBBKGcQdAbpvBzl09vR4B+aI7Qftokh&lt;br /&gt;          ilgSoTCjduJ0MpEGoiVa1en0i9ZGVZLxD2UttUw7Ng7AAyQw8Eczly03A4RJe4QHhoR0u82tvBnx&lt;br /&gt;          423Tdmv8DWUNPYYnO1U/mT98SBI05Y9dPcs8IJj1DHl1vxtXr8BuC3944M7EAhK7BVnoFhfqlflK&lt;br /&gt;          EDxYGCeYavmrxRc7t7G+nKueIGrXBAdgzxT07zCQmrEwYx8hNYpGhEo/U4j3uBgPmSQfy0UhHKBl&lt;br /&gt;          iZMWSjJg1IlRWif5/S70CJaGpeHYnlQgEmbaW3VuQPjQh4Jd+Z7js3uCfgTWEg5lpkiLs5Nh6VkL&lt;br /&gt;          4iS5el4gghTmmW2N8zKEWaBWhK8a1Jn9gVGq1RtHXxOTlXrK7tcRe/9sFYqY1aaIPxNNk6x+qDkL&lt;br /&gt;          aSxJIZQdiezRj5J9iJln6yD7h4lAVL7xh7gIgIzM82K8jdgZ6fufXtwtVwQC4F14RkQzwY8YArRf&lt;br /&gt;          TH1wy8YqQZrPTVsDM00bm56BZvcyVJFlK7sUuYb8/ouFeUd8mCgsXHZcWT6BjzrFw6vLKKXfscQE&lt;br /&gt;          Q7IrTbKFZJiQ13CNCLdq8qkgQ43wR0RXo0eJZmrx/299FJuk3Ouek9ZZ7f8/+IvqngNqBcr3fzT+&lt;br /&gt;          RwdKHdu6+h0zfWE+JL2wxw+JkZg5HOKkyhRtFslCT9DWYaAWT0gnzoORr1fO4VKBzkCu9ipHWHP5&lt;br /&gt;          BWVSN8Pg/eHldMGGhdo4eUThH/C21crpQUZhih/woJQlgCZNOEny3wMvFGgGPFTHB1tDlRS8ROXD&lt;br /&gt;          1zVNxJZEbrpm8ge9qw3QjbT/SUcrvZy22Car3922vOQxPUeA5+mFZvS5vPWilx9n/yGNJZxSlgls&lt;br /&gt;          4P9agPu3sDgfiJ1H50T20+OmF6Lgfk+0KXI2d0/Jt0ygeFa5bNLwMwd1C4EayRJAfv5wvgWHG/3+&lt;br /&gt;          zVAT13voDkgaPTWW7wL2xlvLyQCpFLez/IoCf1WDNgvARO74M9RKKmCYrtChQNjg7ExJh16NhAFW&lt;br /&gt;          CR4vV/Tnbaku3CR2g2KxjT/r0SXDVcIMnnU85oiBwmI8rg4ryGMStsvJ4eGFVDwL/AhUWwnlJL5M&lt;br /&gt;          a+EEBb0PB9jnaaYD6YuVYwtVLkq5OcIjRl/00V9lcb3mG4ZX/oDC9gAV/Gd4i6U3YihqJKEPoNSL&lt;br /&gt;          f82weoOKtA8+UlU1vMgb99fQIJJBzGUlxE6ohaxA9bo=&lt;br /&gt;        &lt;/xenc:ciphervalue&gt;&lt;br /&gt;      &lt;/xenc:cipherdata&gt;&lt;br /&gt;    &lt;/ds:keyinfo&gt;&lt;br /&gt;  &lt;/xenc:encryptionmethod&gt;&lt;br /&gt;&lt;/xenc:encrypteddata&gt;&lt;br /&gt;&lt;soapenv:body wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" id="Id-25899876"&gt;&lt;br /&gt;  &lt;xenc:encrypteddata id="EncDataId-25899876" type="http://www.w3.org/2001/04/xmlenc#Content"&gt;&lt;br /&gt;    &lt;xenc:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"&gt;&lt;br /&gt;    &lt;ds:keyinfo ds="http://www.w3.org/2000/09/xmldsig#"&gt;&lt;br /&gt;      &lt;wsse:securitytokenreference wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;&lt;br /&gt;        &lt;wsse:reference uri="#EncKeyId-1281123"&gt;&lt;br /&gt;      &lt;/wsse:reference&gt;&lt;br /&gt;    &lt;/wsse:securitytokenreference&gt;&lt;br /&gt;    &lt;xenc:cipherdata&gt;&lt;br /&gt;      &lt;xenc:ciphervalue&gt;&lt;br /&gt;        sbQ1GgLj0kyqvrF335TNeBy4iGwIpyVDFXUt56N2AzFqLjb/Au/AUU1PClLaZIkD9P6VsE3Vv0Ba&lt;br /&gt;        1K/eDTPdAF0FSLA25CgXHabe35w1taegyrm/dXyIx5x11VNgtGGMF7hLABjvkjnlTYfk5E8/MeSO&lt;br /&gt;        wNX/iy2UWyTmtB04+dbUiPMTD7xw+xdLvk2SOCiFAD/CVCqEeDW+sm5MZbKOIdsTuxUU7D6S9i2W&lt;br /&gt;        YXVWKlcCn6Bl1jlM8+mR4mmX6AWDYjUly3nJzbE/ufZjD7QICYUaCPBtNFv7pEscImsdQjbfa2VJ&lt;br /&gt;        mUi3PUMIDM/OXlPHeX/nL69DCYcxI8IMyFP2demfKtytrvc5ZI5rnlmTSylvnioEXMxQqca31igR&lt;br /&gt;        ibrEx2axI3MuWH+nQcf2FOuXBv5Zrs6rQaJ/KGy8OzE2b+1s2xXQEFtyqDv9xzbwaQrlYnDWzDlN&lt;br /&gt;        eBGKWaYf2Czj2xvQz0kBMUVF891KxNks1e6dnWnw5pbtmLi3YERp7mVsX8W4ly9SKyyauRrU01rN&lt;br /&gt;        Jyhay2VdNW6p+9yFqpFlTxp3eoLnZiFnIHrWv+4GHl0l&lt;br /&gt;      &lt;/xenc:ciphervalue&gt;&lt;br /&gt;    &lt;/xenc:cipherdata&gt;&lt;br /&gt;  &lt;/ds:keyinfo&gt;&lt;br /&gt;&lt;/xenc:encryptionmethod&gt;&lt;br /&gt;&lt;/xenc:encrypteddata&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;&lt;br /&gt;We are able to consume same WCF service using wcf client using same server and client certificates.&lt;br /&gt;&lt;br /&gt;The soap message in this case is&lt;br /&gt;&lt;br /&gt;&lt;s:envelope s="http://schemas.xmlsoap.org/soap/envelope/" u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;&lt;br /&gt;&lt;s:header&gt;&lt;br /&gt;  &lt;o:security mustunderstand="1" o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;&lt;br /&gt;    &lt;u:timestamp id="uuid-6502ead5-c2ec-425b-a4ba-6c0567e2734e-1"&gt;&lt;br /&gt;      &lt;u:created&gt;2009-03-17T10:59:20.389Z&lt;/u:created&gt;&lt;br /&gt;      &lt;u:expires&gt;2009-03-17T11:04:20.389Z&lt;/u:expires&gt;&lt;br /&gt;    &lt;/u:timestamp&gt;&lt;br /&gt;    &lt;o:binarysecuritytoken id="uuid-f8281a82-a9c3-4f97-a57e-5edb7f9c693e-2" valuetype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" encodingtype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&gt;MIIE9TCCA92gAwIBAgIQcr2EElpLCvNFlLc2BcKXdTANBgkqhkiG9w0BAQUFADCBwjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwODE8MDoGA1UEAxMzVmVyaVNpZ24gQ2xhc3MgMiBNUEtJIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEcyMB4XDTA4MDczMTAwMDAwMFoXDTA5MDczMTIzNTk1OVowgeQxGzAZBgNVBAoUElRSQUlOTElORS5DT00gTFRELjELMAkGA1UECxQCSVMxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9DUFMgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTkxJzAlBgNVBAsUHldTRyBDb25zdW1lciBJRCAtIElXU0dfVFdfQ09SUDEbMBkGA1UEAxMSQ29ycG9yYXRlIENvbnN1bWVyMSowKAYJKoZIhvcNAQkBFhthbmFudC5lYXN0QHRoZXRyYWlubGluZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCabWfkZ9jgI1tvROaiLy1I5qIm4o1adi0f/NH0dmx2x6UZx11i7IzVCMcN0olAg15TSefnfS3ULzIGQdm4JpCwbRfFFKpby45poLpfGyL7HwCCiowsnpWolY+wEfodZZLjQJH8dA0nSxRFo7lUOIVibaGvmS2MuDXOTPxXsFvja+otaeREFtLWSvrmX2eiZMu2qawHhklR5hD9rdJQuMqsberoNbfj8vX8IBxSuWoXAutDRVN1DB4GFACSpxTDOGf/pbZySYOKMg86ybFKryiKoTv7G6+hU/lCN9igbiNxbIwyw+bj9aoGf9krc6Z472riE1odoqoKSIOg3Rga5AX1AgMBAAGjgcIwgb8wCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcCMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYDVR0PBAQDAgWgMBEGCWCGSAGG+EIBAQQEAwIHgDBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vb25zaXRlY3JsLnZlcmlzaWduLmNvbS9PblNpdGVQdWJsaWMvTGF0ZXN0Q1JMLUcyLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAX4cTwrwSxIdGEwXAdgebkz56ZmsRg6zQgiCq2SLi8JEHKgPJIE6jXgDi+miwp2scU7XmH8AxYVHzBX0GQ70HUn0iWgPFl5jT0q8zVT4IWZaiXtswvltkAqMmT2xofgmDBpde2P+GB7Nf38RIuoMt8z1VFO2x47RjzPKaEt+MQqC4nq/2Ra5DUWaUb62qjs+fBOa4tfBirLoYOQYtb5n8UKQMEmi14cqCU3alU2iHXbvDP1UoMTUN4AiFt/aWqzJtHybUn+PygBqgUdj47ObIaTHd/r/XryD4VDGbP8rUVijS54pqxfzMmtt5AlJR2DdnGclXTezpYuVo2Udhu37C9A==&lt;/o:binarysecuritytoken&gt;&lt;br /&gt;    &lt;e:encryptedkey id="_0" e="http://www.w3.org/2001/04/xmlenc#"&gt;&lt;br /&gt;      &lt;e:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"&gt;&lt;br /&gt;        &lt;digestmethod algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns="http://www.w3.org/2000/09/xmldsig#"&gt;&lt;br /&gt;      &lt;/digestmethod&gt;&lt;br /&gt;      &lt;keyinfo xmlns="http://www.w3.org/2000/09/xmldsig#"&gt;&lt;br /&gt;        &lt;o:securitytokenreference&gt;&lt;br /&gt;          &lt;x509data&gt;&lt;br /&gt;            &lt;x509issuerserial&gt;&lt;br /&gt;              &lt;x509issuername&gt;CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2, OU=Terms of use at https://www.verisign.com/rpa (c)08, OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US&lt;/x509issuername&gt;&lt;br /&gt;              &lt;x509serialnumber&gt;42434585466876238486390762643181460020&lt;/x509serialnumber&gt;&lt;br /&gt;            &lt;/x509issuerserial&gt;&lt;br /&gt;          &lt;/x509data&gt;&lt;br /&gt;        &lt;/o:securitytokenreference&gt;&lt;br /&gt;      &lt;/keyinfo&gt;&lt;br /&gt;      &lt;e:cipherdata&gt;&lt;br /&gt;        &lt;e:ciphervalue&gt;vNsqCQ9ot1eUnwAyVcLaMG7csmW3wgNWUh5QgaLCCoIs2UQOj3DTJTGeEVqvHvtuUIFwQgTo54Nww5GMvw/L9P092h/k+iJcdvUmsLD7jojtwnMhpzwY7Efv55rEpqQ5jr4pVPMiWfHYZLOv0zbMRDrNtXhekLAs/LXGc0DTfNhmdMD0Blwblhp+zt11rl6KECxjc54Lrjh2p9D7BEt2vZsxIVjSoqXB0JECa7D/JJgcREolgvCqVqPZgdSTneu2fxiWggz8vwn1IDMY0IKE40I/M/i1x4OHiUIL2Mh+TJAbJ9MNlq0GZozpAHXEZodQhvfV9AsRxKV0I3d4sr9XDA==&lt;/e:ciphervalue&gt;&lt;br /&gt;      &lt;/e:cipherdata&gt;&lt;br /&gt;      &lt;e:referencelist&gt;&lt;br /&gt;        &lt;e:datareference uri="#_2"&gt;&lt;br /&gt;        &lt;e:datareference uri="#_3"&gt;&lt;br /&gt;      &lt;/e:datareference&gt;&lt;br /&gt;    &lt;/e:datareference&gt;&lt;br /&gt;    &lt;e:encrypteddata id="_3" type="http://www.w3.org/2001/04/xmlenc#Element" e="http://www.w3.org/2001/04/xmlenc#"&gt;&lt;br /&gt;      &lt;e:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"&gt;&lt;br /&gt;      &lt;e:cipherdata&gt;&lt;br /&gt;        &lt;e:ciphervalue&gt;Bozdt64nMplqqfOBPSlDnqs9azPgAuV8ZfSLTQ2k1xeWgrE1lIV6Tconv86B5+AQ5PVlbXKRi5GA+yS/YKRzgzGhlCUA4BHY7CWKp2sIBtH2g0wL4/Y84XgfiVrQcuWy6maYqbPUlgTCFUI7cZBZ3m1KMjwTCqjkluVhpHy109LE67okX2EgC9EQfo2EbTsrjF0eC3FbJyysEBg00EZbMKjosokRiSTJ8OEePg+6elP12TnwtS2hjNU0cc1yUvHBfimtSd+e1Y18t0BQP4NIT8urDwtKIVueSCgE71wzN7+hALiKekxYVluzQ1qM4OUbaIbHujfde3AdGEKa2oh4+T7bTJlEUeMGnXgjtB8MiKhqaPKgQmCA2lceZcgsxaH5rytppd8cDyJ3WAwZpii/QVE0gw2ONlMYDwvXVGPb/ZcFKmPvlWE4Kqb86fQBBQ/Z6vEYrIEWLfxWumW2VZ673Wtila8qDqy1A4sMe5KpgQiYlKACwJPdrX+VQGUMduv/7+8aAfDySY9Q/1fsrtMI30sBrFsO+g3WVv8RmbvNZxDE0sMk2oyhO0XisbK+zZYp+PIvgyJjng3c/a8kWGpMEjvHXd0gdZsN/6Pg+QaO7x9Por+T6vM+DgytdmwVN6cw/ChwlK7M4BtrA74aYcTCTxGaZEV+NCu9IuanM0crqICq2EDt/hbwSyZ000byKtAX/+9cM11HWp7PRiGfvirD8cXb8zb9t2j5p8841phIP3pz1g7CTcdXKas11Q2Hpj0ObSjkXQjK2csN39BQsYpgKcTmD1MvOXnIOiQqorSw8c42o+mJGn88YOaE1hcZpj89nBhJRt1SqDjgiQzuZcYH4Bmy//Zp3K/o0wUpV0nrfczDQIqixVFHemi1rqN5CLwLtVrl3rT08QABaxHh0LaTIblMp53iMbpXDHESUZHCGfCJ++fh9aungpEWrumSochBA6k//o7FiZvF391gkMtBWk3aQ6WJ+3WtmTuJw57C6MhXi5J3k5RbYQ2Jg69v6/+WOIu0a1YLCKco68qzoh5GvKZU3czJj28+59u6+QbtnHrQ4k71UPcHWH5lKGvamHhSdaiPcjOiwS2hmJQxAu3chHeELzR7ZPl+2H1c5xajdcYdaMkpw64q1+w9maylZbWtPj9YC19I+qGy1odW6e0GK/mn9YIAwIRUx7RG6zP4BHLgB+SWnb50Z1JZr8Xe/EPqsM3NteORHnlpHdhOl0xh6kZyWrG6oqrP8H92FwkNU9e7/USh3r7ZS0qzYY2FJHmbZEvYk56v/ieSLG/CjuMb/GBxQA4LDZ7afXV8i7kSEJRLmF0dRDEtdoXjeuvhn/3UoRR28sYUBLVvYEgkPcdzqDM66mvDCDXG6g/HI11BXfqWgXGOuoB+oOmO6YIs/HYQRMK1fa6M/Tpr9i1ASxWCER67gCa1FI24ehtJur4N3/aBLzIA1DeiTHlhbW4uSnTcBzCFBytzQg5vwh45EHNMJ195pf+AsiO2ZiNEp10ZRScJ5VDjRCa1pgRQaXzUBypwFFmqBDzmSOFjAFBHpXO5wJ5cwLkkfYzxaBjmvbuF6xsvdlreYSOB3nQxxsJdyGH3dx6WxcyBI4L0mKz3huSkzSlR03bu+FNLOqXtq+cUDt+0mjfvXNGZEt0lvxD6hBD7U2LI1yEADHmp0mqPDvJ0Al2El+Uaudzr5jK/NC2whlrqx/0PSojJdG0EuV/91hqJxE7TRQVfx+0tbbN+hteJywHbS3xUrDvcQsU+0z1gTKiuTLWHEYOzjUYqQX9r/tgTmCFyyjPMAfff6n8jkEpBc5+mbMUQG05OakfpYRZ9eLHWrjQBcQeEdTyQdXprcSCOLbaHwiXmtyoqxeAmMVwZjwRoFGiewogVIo7u4W3y9i4HVxRmQM4W2sb5geoOkvD6vQNOSQv3qAAOCXmEuxgU/WC8hQn3WFhdlUs5S1j0pmj8Gw7o9pw8fM1s8y7zLowH8VFUD4UaGnG3J/LjVpYpJA==&lt;/e:ciphervalue&gt;&lt;br /&gt;      &lt;/e:cipherdata&gt;&lt;br /&gt;    &lt;/e:encryptionmethod&gt;&lt;br /&gt;  &lt;/e:encrypteddata&gt;&lt;br /&gt;&lt;/e:referencelist&gt;&lt;br /&gt;&lt;s:body id="_1"&gt;&lt;br /&gt;  &lt;e:encrypteddata id="_2" type="http://www.w3.org/2001/04/xmlenc#Content" e="http://www.w3.org/2001/04/xmlenc#"&gt;&lt;br /&gt;    &lt;e:encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"&gt;&lt;br /&gt;    &lt;e:cipherdata&gt;&lt;br /&gt;      &lt;e:ciphervalue&gt;oyC2PSwlp8TIha3tY+tRq8RtgWEcPZ70u0RhRNqh17SgypTgrPX0kb2c+8Jll4syP26D/2i/tLznQncm6WITxbX1R/CmaYx0V/EmnONeig4GW6HCwkKpt3+DVZRprnbEMRlnyUEPxrK9eEKVE9Jbq1HaRjMCIM1ELk+2I349MTWEQfc3nv+vPVjPPlvh9C7VdKE6wk797dhW7a9xb83WlLMnR43vQ2ZlO07ORECExDqIcInAzpeeVkOrOsbklGtXa8WNP4Z3+BgjCf9p5BlVDQ==&lt;/e:ciphervalue&gt;&lt;br /&gt;    &lt;/e:cipherdata&gt;&lt;br /&gt;  &lt;/e:encryptionmethod&gt;&lt;br /&gt;&lt;/e:encrypteddata&gt;&lt;br /&gt;&lt;/s:body&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wcf client app.config is:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;    &lt;system.servicemodel&gt;&lt;br /&gt;        &lt;bindings&gt;&lt;br /&gt;            &lt;basichttpbinding&gt;&lt;br /&gt;                &lt;binding name="v2" closetimeout="00:01:00" opentimeout="00:01:00" receivetimeout="00:10:00" sendtimeout="00:01:00" allowcookies="false" bypassproxyonlocal="false" hostnamecomparisonmode="StrongWildcard" maxbuffersize="65536" maxbufferpoolsize="524288" maxreceivedmessagesize="65536" messageencoding="Text" textencoding="utf-8" transfermode="Buffered" usedefaultwebproxy="true"&gt;&lt;br /&gt;                    &lt;readerquotas maxdepth="32" maxstringcontentlength="8192" maxarraylength="16384" maxbytesperread="4096" maxnametablecharcount="16384"&gt;&lt;br /&gt;                    &lt;security mode="Message"&gt;&lt;br /&gt;                        &lt;transport clientcredentialtype="None" proxycredentialtype="None" realm=""&gt;&lt;br /&gt;                        &lt;message clientcredentialtype="Certificate" algorithmsuite="Default"&gt;&lt;br /&gt;                    &lt;/message&gt;&lt;br /&gt;                &lt;/transport&gt;&lt;br /&gt;            &lt;/security&gt;&lt;br /&gt;        &lt;/readerquotas&gt;&lt;br /&gt;        &lt;client&gt;&lt;br /&gt;&lt;br /&gt;          &lt;endpoint address="http://xxx/Gateway/v2.0/Authentication.svc" binding="basicHttpBinding" bindingconfiguration="v2" contract="AutheticationClient.IAuthenticationService" name="v2" behaviorconfiguration="WSGServiceBehaviour"&gt;&lt;br /&gt;            &lt;identity&gt;&lt;br /&gt;              &lt;dns value="Anant East"&gt;&lt;br /&gt;            &lt;/dns&gt;&lt;br /&gt;          &lt;/identity&gt;&lt;br /&gt;        &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;      &lt;behaviors&gt;&lt;br /&gt;&lt;br /&gt;      &lt;endpointbehaviors&gt;&lt;br /&gt;          &lt;behavior name="WSGServiceBehaviour"&gt;&lt;br /&gt;            &lt;clientcredentials&gt;&lt;br /&gt;              &lt;clientcertificate storelocation="LocalMachine" storename="My" x509findtype="FindByThumbprint" findvalue="905dd6d527c0ccf72c2634fd33e98931eb714091"&gt;&lt;br /&gt;              &lt;servicecertificate&gt;&lt;br /&gt;                &lt;defaultcertificate storelocation="LocalMachine" storename="My" x509findtype="FindByThumbprint" findvalue="a28e6d661cb1e33674307d9e0dc223fbea005667"&gt;&lt;br /&gt;                &lt;authentication trustedstorelocation="LocalMachine" certificatevalidationmode="None"&gt;&lt;br /&gt;              &lt;/authentication&gt;&lt;br /&gt;            &lt;/defaultcertificate&gt;&lt;br /&gt;          &lt;/servicecertificate&gt;&lt;br /&gt;        &lt;/clientcertificate&gt;&lt;br /&gt;      &lt;/clientcredentials&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;/behavior&gt;&lt;br /&gt;&lt;/endpointbehaviors&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;Using same Axis2 client and same certificates, we are able to talk to Sample Axis2 Web service [which uses same certificates] successfully, That means certificates are right and soap evelope produced by Axis 2 client is understood by Axis Service and same soap envelope is not understood by WCF service.&lt;br /&gt;&lt;br /&gt;So there seems some interoperability issue ??&lt;br /&gt;There also seems some difference between X509IssuerName  element in soap envelope genreated by Axis 2 Java client and WCF .net clien&lt;/behaviors&gt;&lt;/client&gt;&lt;/binding&gt;&lt;/basichttpbinding&gt;&lt;/bindings&gt;&lt;/system.servicemodel&gt;&lt;/configuration&gt;&lt;/e:encryptionmethod&gt;&lt;/e:encryptedkey&gt;&lt;/o:security&gt;&lt;/s:header&gt;&lt;/s:envelope&gt;&lt;/soapenv:body&gt;&lt;/xenc:referencelist&gt;&lt;/xenc:encryptionmethod&gt;&lt;/xenc:encryptedkey&gt;&lt;/wsse:security&gt;&lt;/soapenv:header&gt;&lt;/soapenv:envelope&gt;&lt;/null&gt;&lt;/behavior&gt;&lt;/servicebehaviors&gt;&lt;/behaviors&gt;&lt;/service&gt;&lt;/services&gt;&lt;/system.servicemodel&gt;&lt;/connectionstrings&gt;&lt;/appsettings&gt;&lt;/configuration&gt;&lt;/p2&gt;&lt;/sp:mustsupportrefissuerserial&gt;&lt;/sp:mustsupportrefkeyidentifier&gt;&lt;/x509issuerserial&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-3441466486632734021?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/3441466486632734021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=3441466486632734021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3441466486632734021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3441466486632734021'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/05/wcf-web-service-and-java-axis-client.html' title='WCF Web service and Java Axis client - Message level security with certificates.'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-7569674851711325291</id><published>2009-05-07T22:27:00.000-07:00</published><updated>2009-05-07T22:32:45.966-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nhibernate Oracle Sequence'/><title type='text'>Nhibernate querying oracle sequence</title><content type='html'>Use follwoing to get nextval of oracle sequence from hibernate&lt;br /&gt;&lt;br /&gt;using (ISession session = //Get Nhibernate session)&lt;br /&gt;            {&lt;br /&gt;                var sqlQuery = session.CreateSQLQuery(query).AddScalar("NEXTVAL", NHibernateUtil.UInt64);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                object result = sqlQuery.UniqueResult();&lt;br /&gt;&lt;br /&gt;                return Convert.ChangeType(result,typeof(long));&lt;br /&gt;                &lt;br /&gt;            }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-7569674851711325291?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/7569674851711325291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=7569674851711325291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/7569674851711325291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/7569674851711325291'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/05/nhibernate-querying-oracle-sequence.html' title='Nhibernate querying oracle sequence'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-3818112744116344242</id><published>2009-04-08T23:50:00.000-07:00</published><updated>2009-04-08T23:56:32.835-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Enter Key IE'/><title type='text'>Enter Key not working in IE if form has one passport type input field</title><content type='html'>We have a form in which there is only one input field with type="password" and One Button of type "Submit". &lt;br /&gt;In firefox when I am in password input field and press enter key it submits the form. But in case of IE it was not submitting the form. &lt;br /&gt;&lt;br /&gt;Fix:&lt;br /&gt;Added following code to form&lt;br /&gt;     &lt;!--[if IE]&gt;&lt;br /&gt;         &lt;input id="PlaceHolderSoThatEnterKeyWorksOnIE" type="text" style="display:none;" /&gt;           &lt;br /&gt;    &lt;![endif]--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-3818112744116344242?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/3818112744116344242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=3818112744116344242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3818112744116344242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3818112744116344242'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/04/enter-key-not-working-in-ie-if-form-has.html' title='Enter Key not working in IE if form has one passport type input field'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-3166978679628071662</id><published>2009-03-23T22:45:00.000-07:00</published><updated>2009-03-23T22:46:05.338-07:00</updated><title type='text'>Extension methods</title><content type='html'>namespace LearnCSharp&lt;br /&gt;{&lt;br /&gt;    public class MyClass&lt;br /&gt;    {&lt;br /&gt;        public void doWork()&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    static public class MyClassExt&lt;br /&gt;    {&lt;br /&gt;        static public void extentionMethod(this object myclass)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public class UseIt&lt;br /&gt;    {&lt;br /&gt;        public void Yahoo()&lt;br /&gt;        {&lt;br /&gt;            new MyClass().doWork();&lt;br /&gt;            MyClass myClass = new MyClass();&lt;br /&gt;            myClass = null;&lt;br /&gt;            myClass.extentionMethod();&lt;br /&gt;            string s = null;&lt;br /&gt;            s.extentionMethod();&lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-3166978679628071662?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/3166978679628071662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=3166978679628071662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3166978679628071662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/3166978679628071662'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/03/extension-methods.html' title='Extension methods'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-5255966544277116818</id><published>2009-03-23T07:51:00.000-07:00</published><updated>2009-03-23T07:57:02.268-07:00</updated><title type='text'>wsHttping Binding WCF service</title><content type='html'>I was helping out some of my team mates to get WCF webservice using wsHttpBinding working when called using Axis 2 client.&lt;br /&gt;&lt;br /&gt;They were trying to send some huge xml data(as string) as parameter of web method. They could not use basicHttpBinding because it has limit of 7 KB or something.&lt;br /&gt;&lt;br /&gt;Wcf client generated using svcutil was working fine, but Axis2 client was not working. We then used tcptrace and looked at Soap envelope which is generated by Axis 2 client and wcf client. We found that one generated by Axis did not have soap addressing header.&lt;br /&gt;&lt;br /&gt;So after enabling Axis 2 addressing module , we could get Axis2 client working with WCF .net service using wsHttpBinding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-5255966544277116818?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/5255966544277116818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=5255966544277116818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5255966544277116818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/5255966544277116818'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/03/wshttping-binding-wcf-service.html' title='wsHttping Binding WCF service'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-7467213692236742987</id><published>2009-03-19T23:43:00.000-07:00</published><updated>2009-03-20T00:10:48.332-07:00</updated><title type='text'></title><content type='html'>I started working on .net project since last 8 months.  Delegate is something interesting&lt;br /&gt;&lt;br /&gt;[TestFixture]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 1: Simple Delegate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class DeletegateTest&lt;br /&gt;&lt;br /&gt;   private delegate int MyDelegate(string some);&lt;br /&gt;&lt;br /&gt;    [Test]&lt;br /&gt;    public void SampleTest()&lt;br /&gt;    {&lt;br /&gt;              &lt;p&gt;doWork(mydelegatemethod);&lt;/p&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private int mydelegatemethod(string s)&lt;br /&gt;    {&lt;br /&gt;           Console.WriteLine("I got:" + s);&lt;br /&gt;            return 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void doWork(MyDelegate del)&lt;br /&gt;    {&lt;br /&gt;            del("sandeep");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 2: Same Simple Delegate Simplified&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;TestFixture]&lt;br /&gt; public class Delete&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     private delegate int MyDelegate(string some);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     [Test]&lt;br /&gt;     public void SampleTest()&lt;br /&gt;     {&lt;br /&gt;              doWork(mydelegatemethod);&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     private int mydelegatemethod(string s)&lt;br /&gt;     {&lt;br /&gt;               Console.WriteLine("I got:" + s);&lt;br /&gt;               return 1;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     private void doWork(MyDelegate del)&lt;br /&gt;     {&lt;br /&gt;              del("sandeep");&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 3: Same example With Lamda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[TestFixture]&lt;br /&gt; public class Delete&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     private delegate int MyDelegate(string some);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     [Test]&lt;br /&gt;     public void SampleTest()&lt;br /&gt;     {&lt;br /&gt;             doWork((s) =&gt;&lt;br /&gt;                        {&lt;br /&gt;                                  Console.WriteLine("I got:" + s);&lt;br /&gt;        return 1;&lt;br /&gt;                         });&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     private void doWork(MyDelegate del)&lt;br /&gt;     {&lt;br /&gt;                 del("sandeep");&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 4: With Anonymous method&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[TestFixture]&lt;br /&gt; public class Delete&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     private delegate int MyDelegate(string some);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     [Test]&lt;br /&gt;     public void SampleTest()&lt;br /&gt;     {&lt;br /&gt;              doWork(delegate(string s)&lt;br /&gt;                             {&lt;br /&gt;                                        Console.WriteLine("I got:" + s);&lt;br /&gt;                                        return 1;&lt;br /&gt;                              });&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     private void doWork(MyDelegate del)&lt;br /&gt;     {&lt;br /&gt;              del("sandeep");&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-7467213692236742987?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/7467213692236742987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=7467213692236742987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/7467213692236742987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/7467213692236742987'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2009/03/i-started-working-on.html' title=''/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6570525136912736120.post-4432533560105171024</id><published>2007-01-25T01:31:00.000-08:00</published><updated>2007-01-25T01:34:14.025-08:00</updated><title type='text'>Web application developement.</title><content type='html'>I have 8 years of experience in Web applicaiton development using J2EE. From my experience, it is easy and fast to develop web applicaitons using spring and hibernate. Though there is significant learning curve involved in getting hands on on spring and hibernate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6570525136912736120-4432533560105171024?l=sandeep-jagtap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sandeep-jagtap.blogspot.com/feeds/4432533560105171024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6570525136912736120&amp;postID=4432533560105171024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/4432533560105171024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6570525136912736120/posts/default/4432533560105171024'/><link rel='alternate' type='text/html' href='http://sandeep-jagtap.blogspot.com/2007/01/web-application-developement.html' title='Web application developement.'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/03316029736401120739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
