<?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-3195885170348729753</id><updated>2012-02-14T17:13:16.052Z</updated><category term='morocco'/><category term='logging'/><category term='stax'/><category term='JPA'/><category term='Psychodrama'/><category term='filewrite'/><category term='derby'/><category term='llr'/><category term='nodemanager'/><category term='poll'/><category term='pack'/><category term='cssoa'/><category term='JDeveloper'/><category term='dynamic_routing'/><category term='scheduler'/><category term='inbound'/><category term='filestore'/><category term='resources'/><category term='extension'/><category term='WSIF'/><category term='javap'/><category term='runas'/><category term='jfr'/><category term='osb11'/><category term='command_line_parser'/><category term='montypython'/><category term='codeIsTheDesign'/><category term='java'/><category term='xsd'/><category term='cloudFoundry'/><category term='webservices'/><category term='AT_EJB'/><category term='TCP-IP'/><category term='eclipselink'/><category term='IIS'/><category term='socket'/><category term='continuousdelivery'/><category term='osb variables'/><category term='groovy'/><category term='urandom'/><category term='BeanBuilder'/><category term='Unix shell'/><category term='breakAndSeek'/><category term='Woden'/><category term='customXpath'/><category term='unitils'/><category term='ubuntu'/><category term='ws-security'/><category term='embeddable'/><category term='tigris'/><category term='multicast'/><category term='json'/><category term='svn'/><category term='DBAnnotate'/><category term='OutOfMemoryError'/><category term='AOP'/><category term='buzzwords'/><category term='MODD'/><category term='weblogic debug flags'/><category term='oas'/><category term='smtp'/><category term='cluster'/><category term='unittest'/><category term='oracleBooks'/><category term='javabean'/><category term='RichDomainModel'/><category term='wli silent installation'/><category term='Resteasy'/><category term='drop'/><category term='locate'/><category term='apiviz'/><category term='guice'/><category term='bigballofmud'/><category term='survey'/><category term='embeddedLDAP'/><category term='DataSet'/><category term='scalatra'/><category term='ResourceBundleEditor'/><category term='hourglass'/><category term='OSR'/><category term='devops'/><category term='djdecomp'/><category term='focus'/><category term='customization'/><category term='WSM-06219'/><category term='EntityManager'/><category term='charts'/><category term='coredump'/><category term='clientgen'/><category term='usb'/><category term='stub'/><category term='latinorum'/><category term='xmlsucks'/><category term='jrules'/><category term='body'/><category term='wsdl2java'/><category term='music'/><category term='ssh'/><category term='xslt'/><category term='visio'/><category term='UDDI'/><category term='join'/><category term='corba'/><category term='RJ45'/><category term='tar'/><category term='penetration'/><category term='arjuna'/><category term='jarscan'/><category term='decompiler'/><category term='fault'/><category term='html layout'/><category term='sql'/><category term='namespace'/><category term='unix'/><category term='gotha'/><category term='BPMN'/><category term='log'/><category term='virus'/><category term='samba'/><category term='OutOfMemory'/><category term='gmail'/><category term='mdb'/><category term='fml'/><category term='tuxedo'/><category term='bpm'/><category term='xsl'/><category term='encoding'/><category term='ALSB'/><category term='junit'/><category term='MQ'/><category term='Jmeter'/><category term='sitescope'/><category term='xmldb'/><category term='art'/><category term='split-join'/><category term='SOACertification'/><category term='presentation'/><category term='OBR'/><category term='OracleBusinessRules'/><category term='grails'/><category term='opatch'/><category term='base64'/><category term='DBAdapter'/><category term='hysteria'/><category term='toad'/><category term='WLJMSMessage'/><category term='javacallout'/><category term='xmlcursor'/><category term='performance'/><category term='WLDF'/><category term='ocr'/><category term='berlusconi'/><category term='X11'/><category term='fn:error'/><category term='Vaadin'/><category term='webframeworks'/><category term='xml'/><category term='wsdlgenerator'/><category term='scala'/><category term='serializedsystemini'/><category term='munger'/><category term='DbC'/><category term='tracking'/><category term='visibroker'/><category term='UML'/><category term='architects'/><category term='PosixSocketMuxer'/><category term='request-reply'/><category term='soap fault'/><category term='chunkread'/><category term='XmlElement'/><category term='gant'/><category term='java64bit'/><category term='LDAP'/><category term='journeyman'/><category term='HA'/><category term='weblogic12'/><category term='software'/><category term='eclipse36'/><category term='ftpadapter'/><category term='weblogic'/><category term='javacodegeeks'/><category term='weblogic multicast cluster'/><category term='sequence diagrams'/><category term='xa'/><category term='proxy plugin'/><category term='SpringMVC'/><category term='application/xml'/><category term='tx'/><category term='eth0'/><category term='acknowledgment'/><category term='comics'/><category term='dozer'/><category term='xmlbeans'/><category term='corporate service bus'/><category term='gc'/><category term='MBean'/><category term='classpath'/><category term='youtube'/><category term='DynamicXQuery'/><category term='oom'/><category term='OWSM'/><category term='xming'/><category term='eai'/><category term='Javafind'/><category term='topic'/><category term='amazon'/><category term='parsers'/><category term='consulting'/><category term='craftsmanship'/><category term='windows'/><category term='svnserver'/><category term='rube'/><category term='cmd'/><category term='file'/><category term='mockito'/><category term='guardian'/><category term='dbmaintain'/><category term='chown'/><category term='merge'/><category term='deploy'/><category term='boot.properties'/><category term='visualvm'/><category term='ORA-02283'/><category term='JVM'/><category term='cvs'/><category term='ant'/><category term='patterns'/><category term='random'/><category term='NFB'/><category term='JTA'/><category term='JRE'/><category term='jra'/><category term='monitoring'/><category term='oui'/><category term='hohpe'/><category term='amberpoint'/><category term='log4j'/><category term='SOAP'/><category term='source'/><category term='DDL'/><category term='Oracle Linux'/><category term='OracleRAC'/><category term='DONE'/><category term='Gradle'/><category term='mockrunner'/><category term='vbox'/><category term='upload'/><category term='abstraction'/><category term='weblogic_10.3.5'/><category term='play'/><category term='history'/><category term='WLST'/><category term='GMF'/><category term='visitors'/><category term='TPTP'/><category term='jad'/><category term='oraclexe'/><category term='SOASuite'/><category term='deadlock'/><category term='hermes'/><category term='PID'/><category term='populate'/><category term='SNMP'/><category term='pydev'/><category term='ssh keygen'/><category term='rejectedMessageHandler'/><category term='tools'/><category term='coherence'/><category term='oracle.security.jps.config'/><category term='nohup'/><category term='jaxb'/><category term='books'/><category term='usernametoken'/><category term='production'/><category term='XPathExpression'/><category term='maven'/><category term='rent'/><category term='jbosstm'/><category term='war'/><category term='JConsole'/><category term='XPathAccessor'/><category term='networkchannel'/><category term='locks'/><category term='lsof'/><category term='timer'/><category term='md5sum'/><category term='domainhealth'/><category term='git'/><category term='strace'/><category term='portal'/><category term='video'/><category term='fluent'/><category term='fileread'/><category term='classloaders'/><category term='tattletale'/><category term='VMWare'/><category term='cv'/><category term='PDF'/><category term='climatechange'/><category term='screenrecorder'/><category term='putty'/><category term='brain'/><category term='beehive'/><category term='xsds'/><category term='aspectj'/><category term='trojan'/><category term='lift'/><category term='mockws'/><category term='UDDEntity'/><category term='constraints'/><category term='weblogic startup'/><category term='gridcontrol'/><category term='FileUpload'/><category term='log4j.xml'/><category term='dsl'/><category term='DMS'/><category term='soapui'/><category term='fn-bea:inlinedXML'/><category term='greenpeace'/><category term='network'/><category term='TCPView'/><category term='Citrus'/><category term='GraphML'/><category term='contravariant'/><category term='dependencies'/><category term='jejb'/><category term='perf4j'/><category term='maieutics'/><category term='headers'/><category term='ESB'/><category term='ebay'/><category term='UOM'/><category term='import'/><category term='xargs'/><category term='load generation'/><category term='dump'/><category term='xmlvalidation'/><category term='ports'/><category term='wsdl'/><category term='Oracle'/><category term='nxsd'/><category term='SOA'/><category term='cowboys'/><category term='hp-ux'/><category term='svnplugin'/><category term='lazy'/><category term='XQuery'/><category term='excel'/><category term='qbrowser'/><category term='OGNL'/><category term='HttpPingRoutineImpl'/><category term='cruisecontrol'/><category term='eclemma'/><category term='osbexport'/><category term='eaipatterns'/><category term='wli'/><category term='FileAdapter'/><category term='ulimit'/><category term='hardware'/><category term='nmConnect'/><category term='beyondcompare'/><category term='netstat'/><category term='schematron'/><category term='countNodes'/><category term='HeapDumpOnOutOfMemoryError'/><category term='centrasite'/><category term='soap1.2'/><category term='WinSCP'/><category term='WLScriptContext'/><category term='hudson'/><category term='artists'/><category term='MVEL'/><category term='farmanager'/><category term='NamespaceContext'/><category term='JDWP'/><category term='clone'/><category term='redirection'/><category term='ddd'/><category term='correlationId'/><category term='mfl'/><category term='wsdl20'/><category term='troubled projects'/><category term='wsdl:import'/><category term='ejbclient'/><category term='primarykey'/><category term='xmlslurper'/><category term='timeout'/><category term='serialVersionUID'/><category term='fn-bea:execute-sql'/><category term='readings'/><category term='managers'/><category term='visual'/><category term='HttpClient tutorial'/><category term='javatar'/><category term='jrockit'/><category term='BigDecimal'/><category term='jrmc'/><category term='weblogicwonders'/><category term='registry'/><category term='javadoc'/><category term='camel'/><category term='europass'/><category term='word'/><category term='xbeon'/><category term='date'/><category term='patches'/><category term='startWebLogic'/><category term='validation'/><category term='jar'/><category term='weblogic monitoring'/><category term='trends'/><category term='firefox'/><category term='OSBbuild'/><category term='hyperic'/><category term='nuclear'/><category term='iphone'/><category term='JCA'/><category term='ejb'/><category term='jstat'/><category term='grep'/><category term='maven3'/><category term='FlatXmlDataSet'/><category term='eclipse'/><category term='enterpriseManager'/><category term='jaxfront'/><category term='weblogic administration'/><category term='muppets'/><category term='EDN'/><category term='SAVARA'/><category term='toplink'/><category term='reporting'/><category term='java7'/><category term='wsdl_parser'/><category term='fonzie'/><category term='threads'/><category term='opaqueElement'/><category term='slow'/><category term='security'/><category term='sequence'/><category term='OSB'/><category term='Bruxelliser'/><category term='stress test'/><category term='cloud'/><category term='bash'/><category term='BPEL'/><category term='SAML'/><category term='pairProgramming'/><category term='Sequences'/><category term='httpclient'/><category term='yaml'/><category term='jmxremote'/><category term='TransientObjectException'/><category term='JAVA_VENDOR'/><category term='OTN'/><category term='struts'/><category term='XPath'/><category term='JMX'/><category term='pokerplanning'/><category term='oraclemetadata'/><category term='HTML'/><category term='stats'/><category term='operations'/><category term='neuroscience'/><category term='mexicanArmy'/><category term='jms'/><category term='architecture'/><category term='flushmode'/><category term='errorhandling'/><category term='saf'/><category term='datasource'/><category term='javamylove'/><category term='CentOS VMWare'/><category term='contract'/><category term='osbinstall'/><category term='cache'/><category term='debugging'/><category term='osbimportexport'/><category term='mock'/><category term='fedora'/><category term='graphs'/><category term='control-c'/><category term='rcu'/><category term='yourkit'/><category term='complexity'/><category term='osbtransport'/><category term='messageSelector'/><category term='find'/><category term='JNDI'/><category term='transactions'/><category term='agile'/><category term='failures'/><category term='jargon'/><category term='python'/><category term='ORACLE_HOME'/><category term='InjectIntoByType'/><category term='chat'/><category term='gulag'/><category term='jee6'/><category term='jps'/><category term='Spring'/><category term='syntaxhighlighter'/><category term='jarhell'/><category term='linux'/><category term='powerpoint'/><category term='jarfind'/><category term='hibernate'/><category term='Failure Injection'/><category term='xjc'/><category term='REST'/><category term='unicast'/><category term='docflex'/><category term='syslog'/><category term='streaming'/><category term='multithreading'/><category term='DevPollSocketMuxer'/><category term='communication'/><category term='xmlobject'/><category term='keytool'/><category term='versioning'/><category term='BatchSize'/><category term='wsil'/><category term='logrotation'/><category term='PKI'/><category term='wisdom'/><category term='jboss'/><category term='tabkit'/><category term='quotes'/><category term='antipatterns'/><category term='collections'/><category term='createServer'/><category term='domainModelling'/><category term='password'/><category term='jrcmd'/><category term='Axis2'/><category term='profiling'/><category term='db'/><title type='text'>Java mon amour</title><subtitle type='html'>Anything about Java, WebLogic, OSB, Linux etc.... this is my logbook of a navigation in the IT Technology ocean.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.javamonamour.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default?start-index=101&amp;max-results=100'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1041</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6661178202276706099</id><published>2012-02-14T17:12:00.001Z</published><updated>2012-02-14T17:13:16.069Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jms'/><title type='text'>Listing all JMSServer, JMSModules, JMSDestinations with JNDI names in WebLogic</title><content type='html'>Thanks to Chris Vugrinec &lt;a href="http://datalinks.nl/wordpress/"&gt;http://datalinks.nl/wordpress/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;&lt;br /&gt;package com;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.MalformedURLException;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;import javax.management.MBeanServerConnection;&lt;br /&gt;import javax.management.ObjectName;&lt;br /&gt;import javax.management.remote.JMXConnector;&lt;br /&gt;import javax.management.remote.JMXConnectorFactory;&lt;br /&gt;import javax.management.remote.JMXServiceURL;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;&lt;br /&gt;import weblogic.j2ee.descriptor.wl.QueueBean;&lt;br /&gt;import weblogic.management.configuration.DomainMBean;&lt;br /&gt;import weblogic.management.configuration.JMSConnectionFactoryMBean;&lt;br /&gt;import weblogic.management.configuration.JMSQueueMBean;&lt;br /&gt;import weblogic.management.configuration.JMSServerMBean;&lt;br /&gt;import weblogic.management.configuration.JMSSystemResourceMBean;&lt;br /&gt;import weblogic.management.j2ee.SessionBeanMBean;&lt;br /&gt;import weblogic.management.mbeans.custom.JMSSystemResource;&lt;br /&gt;import weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean;&lt;br /&gt;import weblogic.management.jmx.MBeanServerInvocationHandler;&lt;br /&gt;&lt;br /&gt;public class ConnectionBeaImpl implements Connection{&lt;br /&gt;      &lt;br /&gt;    protected final Log logger = LogFactory.getLog(getClass());&lt;br /&gt;      &lt;br /&gt;    &lt;br /&gt;      private JMXConnector jmxConn = null;&lt;br /&gt;      DomainMBean domainMBean = null;&lt;br /&gt;      DomainRuntimeServiceMBean domainRuntimeServiceMBean = null;&lt;br /&gt;      SessionBeanMBean sessionManagementMBean = null;&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      public MBeanServerConnection openConnection(String hostname, int port, String username, String password) throws IOException,MalformedURLException {&lt;br /&gt;            JMXServiceURL serviceURL = new JMXServiceURL("t3", hostname, port, "/jndi/" + DomainRuntimeServiceMBean.MBEANSERVER_JNDI_NAME);&lt;br /&gt;            Hashtable&lt;String,Object&gt; h = new Hashtable&lt;String,Object&gt;();&lt;br /&gt;            h.put(Context.SECURITY_PRINCIPAL, username);&lt;br /&gt;            h.put(Context.SECURITY_CREDENTIALS, password);&lt;br /&gt;            h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");&lt;br /&gt;            //h.put("jmx.remote.x.request.waiting.timeout", new Long(60000));&lt;br /&gt;            return JMXConnectorFactory.connect(serviceURL, h).getMBeanServerConnection();&lt;br /&gt;      }     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      &lt;br /&gt;      public void closeConnection() {&lt;br /&gt;            try {&lt;br /&gt;                  jmxConn.close();&lt;br /&gt;            } catch (IOException ex) {&lt;br /&gt;                  logger.error("Exception in closing connection: "+ex.getMessage());&lt;br /&gt;            }finally{&lt;br /&gt;                  try{&lt;br /&gt;                        jmxConn.close();&lt;br /&gt;                  } catch (IOException ex) {&lt;br /&gt;                        logger.error("Exception in final stage of closing connection: "+ex.getMessage());&lt;br /&gt;                  }           &lt;br /&gt;            }&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      public static void main(String [] args){&lt;br /&gt;            &lt;br /&gt;            ConnectionBeaImpl x = new ConnectionBeaImpl();&lt;br /&gt;            try {&lt;br /&gt;                  MBeanServerConnection bco = x.openConnection("11.51.11.11", 7001, "weblogic", "weblogic1");&lt;br /&gt;&lt;br /&gt;                  DomainRuntimeServiceMBean domainRuntimeServiceMBean = (DomainRuntimeServiceMBean) MBeanServerInvocationHandler.newProxyInstance(bco, new ObjectName(DomainRuntimeServiceMBean.OBJECT_NAME));        &lt;br /&gt;                  DomainMBean dem = domainRuntimeServiceMBean.getDomainConfiguration();&lt;br /&gt;                  JMSSystemResourceMBean[] jmsSRs = dem.getJMSSystemResources();&lt;br /&gt;                  &lt;br /&gt;                  JMSServerMBean[] jmsSvrs = dem.getJMSServers();&lt;br /&gt;                  for(JMSServerMBean jmsSvr : jmsSvrs){&lt;br /&gt;                        System.out.println("JMS Servername: "+jmsSvr.getName());&lt;br /&gt;                        &lt;br /&gt;                  }&lt;br /&gt;                  &lt;br /&gt;                  &lt;br /&gt;                  for(JMSSystemResourceMBean jmsSR : jmsSRs){&lt;br /&gt;                        System.err.println(jmsSR.getName());&lt;br /&gt;                        QueueBean[] qbeans = jmsSR.getJMSResource().getQueues();&lt;br /&gt;                        &lt;br /&gt;                        for(QueueBean qbean : qbeans){&lt;br /&gt;                             System.out.println("JNDI NAME: "+qbean.getJNDIName()+" queuename : "+qbean.getName());&lt;br /&gt;                        }&lt;br /&gt;                  }&lt;br /&gt;                  //ServerRuntimeMBean serverRtBean = domainConfigX.createServerRuntimeMBean(domain.getAdminserver());&lt;br /&gt;&lt;br /&gt;                  &lt;br /&gt;                  //Domain domain = domainFactoryX.getDomain(domainName);&lt;br /&gt;                  &lt;br /&gt;                  &lt;br /&gt;            } catch (Exception e) {&lt;br /&gt;                  // TODO Auto-generated catch block&lt;br /&gt;                  e.printStackTrace();&lt;br /&gt;            }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6661178202276706099?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6661178202276706099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6661178202276706099&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6661178202276706099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6661178202276706099'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/listing-all-jmsserver-jmsmodules.html' title='Listing all JMSServer, JMSModules, JMSDestinations with JNDI names in WebLogic'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8550115834697477190</id><published>2012-02-10T12:04:00.000Z</published><updated>2012-02-10T12:04:08.923Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='locks'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>weblogic edit.lok</title><content type='html'>cd $DOMAIN_HOME&lt;br /&gt;(nobody has acquired the lock to edit the domain configuration)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ls -ltr&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-rw-r-----  1 soa soa     32 Feb 10 12:58 edit.lok&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cat edit.lok&lt;/b&gt;&lt;br /&gt;&lt;i&gt;#&lt;br /&gt;#Fri Feb 10 12:58:15 CET 2012&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This should be the last time someone released the lock&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I acquire the lock on the console:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ls -ltr&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-rw-r-----  1 soa soa    138 Feb 10 12:59 edit.lok&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cat edit.lok&lt;/b&gt;&lt;br /&gt;&lt;i&gt;#&lt;br /&gt;#Fri Feb 10 12:59:05 CET 2012&lt;br /&gt;acquired=1328875145953&lt;br /&gt;owner={AES}vIa1WfKmdgbwwTw8L2mLn1KSWZ0dzICRW3YTIffAODU\=&lt;br /&gt;expires=0&lt;br /&gt;exclusive=false&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The timestamp shows the time at which it was acquired&lt;br /&gt;&lt;br /&gt;I release it, and here we go again with the timestamp showing the release time:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cat edit.lok&lt;/b&gt;&lt;br /&gt;&lt;i&gt;#&lt;br /&gt;#Fri Feb 10 13:02:08 CET 2012&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8550115834697477190?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8550115834697477190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8550115834697477190&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8550115834697477190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8550115834697477190'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/weblogic-editlok.html' title='weblogic edit.lok'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2689141089516630152</id><published>2012-02-10T11:00:00.001Z</published><updated>2012-02-10T11:34:38.447Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linux file creation and modification date</title><content type='html'>touch myfile.txt&lt;br /&gt;&lt;br /&gt;ls -ltr &lt;br /&gt;&lt;br /&gt;-rw-rw-r-- 1 soa soa     0 &lt;b&gt;Feb 10 11:24&lt;/b&gt; myfile.txt&lt;br /&gt;&lt;br /&gt;this is the MODIFICATION DATE (which at the beginning is same as creation date)&lt;br /&gt;&lt;br /&gt;if you later modify the file, there is no way (in Linux) to retrieve the creation date. You will always get the modification time.&lt;br /&gt;&lt;br /&gt;"ls -lact --full-time" will not help&lt;br /&gt;&lt;br /&gt;stat myfile.txt  will not help&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bloggerdigest.blogspot.com/2006/10/using-ls-command-by-examples.html"&gt;http://bloggerdigest.blogspot.com/2006/10/using-ls-command-by-examples.html&lt;/a&gt;   gives a good list of ls options&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2689141089516630152?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2689141089516630152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2689141089516630152&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2689141089516630152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2689141089516630152'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/linux-file-creation-and-modification.html' title='Linux file creation and modification date'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4704309210537292040</id><published>2012-02-10T08:41:00.000Z</published><updated>2012-02-10T08:41:34.004Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB sequencing of JMS messages</title><content type='html'>A common requirement is to process messages in a strict order.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=2136854"&gt;This post on the OTN forum&lt;/a&gt; goes in depth over the possible solutions (I am copying it here just in case the post gets deleted):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;By default Weblogic JMS Queues are FIFO. But that is true only if there is only one consumer of the queue.&lt;br /&gt;&lt;br /&gt;In case of a clustered environment that is not true and in case of OSB even with a single managed server multiple threads are created for a JMS listener Proxy(by default 16). So there will be 16 instances of the Proxy trying to read messages from the Queue and each will be handed out a message and sequential integrity is disturbed.&lt;br /&gt;&lt;br /&gt;There are three ways to overcome this problem:&lt;br /&gt;1. Unit of Order&lt;br /&gt;This is suitable only when you want messages of the same group to be processed sequentially while multiple groups can be processed in parallel.&lt;br /&gt;For e.x. you are getting multiple orders for multiple customers and you want to ensure that the orders of same customer are processed sequentially (in case a customer tries to change the quantity of an order then the latest one should be processed last). In this case you can set UOO as the CustomerID and each customer's order will be processed sequentially but orders of different customers will be still processed in parallel. WLS JMS achieves this by assigning a target queue instance on the cluster for each UOO value. It will assign Q!MS1 to CustID=1, Q!MS2 to CustID=2 and so on. All messages of the same UOO(of the same customer) will go to the same instance on the queue. Furthermore it will ensure that no two messages of the same UOO are released together to the listeners. So if a queue instance has 5 messages each of both Cust=1 and Cust=2, only one message each of Cust1 and Cust2 will be processed by the listeners even if there are 16 listening threads.&lt;br /&gt;Pros and Cons:&lt;br /&gt;Overall performance is improved since you can still achieve some parallel processing.&lt;br /&gt;There will be a slight overhead of processing the UOO headers on the JMS servers.&lt;br /&gt;Can not ensure sequencing of all the messages. (Although you can achieve that by setting the same UOO on all the messages)&lt;br /&gt;If the managed server assigned to a UOO is down, if a publisher tried to put the next message for that UOO, it will fail since it will not try to send that message to any other managed server.&lt;br /&gt;&lt;br /&gt;2. Single threaded processing&lt;br /&gt;If you don't want to process even different groups of messages in parallel and if you want absolute sequencing (i.e. irrespective of the CustomerID you want all the messages to be processed in the sequence they arrive) you will need to process them in a single threaded model. The JMS queue should be deployed on only one managed server of the cluster. The JMS proxy listening to the queue should also be deployed on a single managed server(You will need to change the targeting for the EJB created for this Proxy in the Deployments) and there should be a Work Manager for this Proxy with Maximum Thread Constraint set as 1. In the Connection Factory which the Proxy uses, set the Maximum Messages per session to 1. Another approach for Single threaded could be to set the same value of UOO on all of the messages. This will make all the messages to go to the same Q instance in the cluster and also will make sure that even if Proxy has multiple threads, only one message will be processed at a time.&lt;br /&gt;Pros and Cons:&lt;br /&gt;Completely single threaded processing, will take more time since messages will be processed one after the other.&lt;br /&gt;Load balancing will go awry as all the messages will be processed by only one server.&lt;br /&gt;&lt;br /&gt;3. Using custom implementation&lt;br /&gt;The most complex way is to create a completely custom implementation. Put all the messages in a DB and then process them one at a time based on timestamp.&lt;br /&gt;Pros and Cons:&lt;br /&gt;It will take more effort to implement than the other two approaches.&lt;br /&gt;It will again need single threaded processing after the messages are put on the DB&lt;br /&gt;Performance wise there will be more impact because of additional DB calls&lt;br /&gt;More complex to maintain&lt;br /&gt;&lt;br /&gt;Based on your exact requirements you can choose which approach you want. If you have SOA suite as well them it would be better to move this solution to SOA suite as OESB(Mediator) component of SOA suite has re-sequencing feature.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4704309210537292040?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4704309210537292040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4704309210537292040&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4704309210537292040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4704309210537292040'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/osb-sequencing-of-jms-messages.html' title='OSB sequencing of JMS messages'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2609510048210212851</id><published>2012-02-09T13:34:00.000Z</published><updated>2012-02-09T13:34:23.169Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='deadlock'/><title type='text'>Deadlock on AdminServer</title><content type='html'>DEADLOCK DETECTED:&lt;br /&gt;&lt;br /&gt;ExecuteThread: '0' is waiting to acquire lock 'com.bea.wli.config.component.impl.ReferenceMap@333992e9' that is held by thread ExecuteThread: '11'&lt;br /&gt;&lt;br /&gt;stacktrace:&lt;br /&gt;com.bea.wli.config.component.impl.ReferenceMap.getAncestorsOrDescendents(ReferenceMap.java:820)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ExecuteThread: '11' is waiting to acquire lock 'com.bea.wli.config.transaction.TransactionManager@4870086e' that is held by thread ExecuteThread: '0'&lt;br /&gt;&lt;br /&gt;stacktrace:&lt;br /&gt;com.bea.wli.config.transaction.TransactionManager.enlistAsRead(TransactionManager.java:972)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I assume this happened when someone was deploying a new component.... restarting the Admin was the only way out.&lt;br /&gt;&lt;br /&gt;This is not a tragic event (Admin servers are not so important after all :o) ) ...  still if you have faced this issue you know you now that are not alone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2609510048210212851?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2609510048210212851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2609510048210212851&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2609510048210212851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2609510048210212851'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/deadlock-on-adminserver.html' title='Deadlock on AdminServer'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5235272737522048631</id><published>2012-02-08T20:38:00.001Z</published><updated>2012-02-08T20:38:04.309Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cluster'/><title type='text'>Cluster Master, Singleton Master....</title><content type='html'>taking sparse notes here...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cluster Master&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E21764_01/web.1111/e13709/migration.htm#i1034621"&gt;http://docs.oracle.com/cd/E21764_01/web.1111/e13709/migration.htm#i1034621&lt;/a&gt;&lt;br /&gt;"Its role is to orchestrate the server migration process"&lt;br /&gt;Reading this doc is like pure poetry.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Singleton Master&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E21764_01/web.1111/e13709/service_migration.htm#i1051470"&gt;http://docs.oracle.com/cd/E21764_01/web.1111/e13709/service_migration.htm#i1051470&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"The singleton master is a lightweight singleton service that monitors other services that can be migrated automatically."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5235272737522048631?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5235272737522048631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5235272737522048631&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5235272737522048631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5235272737522048631'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/cluster-master-singleton-master.html' title='Cluster Master, Singleton Master....'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5408903297595513222</id><published>2012-02-07T13:02:00.001Z</published><updated>2012-02-07T13:02:55.983Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>DB: Clustered Indexes  or Index-Organized Tables</title><content type='html'>Reading &lt;br /&gt;&lt;a href="http://www.javacodegeeks.com/2012/02/20-database-design-best-practices.html"&gt;http://www.javacodegeeks.com/2012/02/20-database-design-best-practices.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I stumbled on this statement:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Use indexes for frequently used queries on big tables. Analyser tools can be used to determine where indexes will be defined. For queries retrieving a range of rows, clustered indexes are usually better. For point queries, non-clustered indexes are usually better."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;What is a "clustered index"? &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Database_index#Clustered"&gt;http://en.wikipedia.org/wiki/Database_index#Clustered&lt;/a&gt;&lt;br /&gt;&lt;i&gt;"They are known as "index organized tables" under Oracle database."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Pretty good description here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orafaq.com/wiki/Index-organized_table"&gt;http://www.orafaq.com/wiki/Index-organized_table&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/3382939/when-should-i-use-oracles-index-organized-table-or-when-shouldnt-i"&gt;http://stackoverflow.com/questions/3382939/when-should-i-use-oracles-index-organized-table-or-when-shouldnt-i&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"In practice, index organized tables are most likely to be reference data, code look-up affairs."&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5408903297595513222?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5408903297595513222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5408903297595513222&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5408903297595513222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5408903297595513222'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/db-clustered-indexes-or-index-organized.html' title='DB: Clustered Indexes  or Index-Organized Tables'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5387216216932662988</id><published>2012-02-07T12:20:00.000Z</published><updated>2012-02-07T12:20:43.295Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='date'/><title type='text'>Timezones and Daylight savings</title><content type='html'>In XQuery, the dateTime is associated with a TimeZone - expressed as a difference from GMT, the +01:00 below:&lt;br /&gt;&lt;br /&gt;fn:current-dateTime()&lt;br /&gt;&lt;i&gt;2012-02-07T11:33:37.829+01:00&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;to convert this dateTime to GMT, use this trick:&lt;br /&gt;&lt;br /&gt;fn:adjust-dateTime-to-timezone(fn:current-dateTime(),xdt:dayTimeDuration('PT0H'))&lt;br /&gt;&lt;i&gt;2012-02-07T10:33:37.829Z&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;to discover which is your timezone:&lt;br /&gt;&lt;br /&gt;fn:implicit-timezone()&lt;br /&gt;&lt;i&gt;PT1H&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To convert a String to dateTime:&lt;br /&gt;xs:dateTime("2012-02-07T10:39:27")&lt;br /&gt;&lt;br /&gt;To convert a String to date:&lt;br /&gt;xs:date("2012-02-07")&lt;br /&gt;&lt;br /&gt;So instead of fn:current-dateTime() you can pass an explicit dateTime:&lt;br /&gt;&lt;br /&gt;fn:adjust-dateTime-to-timezone(xs:dateTime("2012-02-07T11:33:37.829+01:00"),xdt:dayTimeDuration('PT0H'))&lt;br /&gt;&lt;i&gt;2012-02-07T10:33:37.829Z&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;(since I am in +1 timeZone, the hour goes back 1 hour after adjustment)&lt;br /&gt;&lt;br /&gt;BEWARE: the difference with GMT changes with the DayLight savings period (23 march to 22 September approximately)&lt;br /&gt;&lt;br /&gt;setting the clock to june the 14th, the difference becomes 2 hours:&lt;br /&gt;&lt;br /&gt;fn:current-dateTime()&lt;br /&gt;&lt;i&gt;2012-06-14T11:50:36.124+02:00&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;but our system to adjust dateTime to GMT still works perfectly:&lt;br /&gt;&lt;br /&gt;fn:adjust-dateTime-to-timezone(fn:current-dateTime(),xdt:dayTimeDuration('PT0H'))&lt;br /&gt;&lt;i&gt;2012-06-14T09:50:36.124Z&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5387216216932662988?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5387216216932662988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5387216216932662988&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5387216216932662988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5387216216932662988'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/timezones-and-daylight-savings.html' title='Timezones and Daylight savings'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6737425662288949010</id><published>2012-02-06T18:59:00.001Z</published><updated>2012-02-07T00:24:16.776Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><title type='text'>SAMBA mountpoints on Linux</title><content type='html'>How do I find out which SAMBA mountpounts I have on my box?&lt;br /&gt;&lt;br /&gt;Using mount you shall find some &lt;a href="http://linux.die.net/man/8/mount.cifs"&gt;Common Internet File System (CIFS) &lt;/a&gt; entries :&lt;br /&gt;&lt;br /&gt;[soa@hqchACMESOA104 ffmw]$ &lt;b&gt;mount&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;/dev/mapper/rootvg-rootlv on / type ext3 (rw)&lt;br /&gt;proc on /proc type proc (rw)&lt;br /&gt;sysfs on /sys type sysfs (rw)&lt;br /&gt;devpts on /dev/pts type devpts (rw,gid=5,mode=620)&lt;br /&gt;/dev/mapper/rootvg-tmplv on /tmp type ext3 (rw)&lt;br /&gt;/dev/mapper/rootvg-optlv on /opt type ext3 (rw)&lt;br /&gt;/dev/mapper/rootvg-homelv on /home type ext3 (rw)&lt;br /&gt;/dev/mapper/rootvg-varlv on /var type ext3 (rw)&lt;br /&gt;/dev/cciss/c0d0p1 on /boot type ext3 (rw)&lt;br /&gt;tmpfs on /dev/shm type tmpfs (rw)&lt;br /&gt;none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)&lt;br /&gt;sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)&lt;br /&gt;//acme1999.ACME.com/zdata/ER/ACMESOA/3786 on /data/ffmw/ACME1 type &lt;b&gt;cifs&lt;/b&gt; (rw,mand,noexec,nosuid,nodev)&lt;br /&gt;//chornl1999.ACME.com/zdata/ER/ACMESOA/0983 on /data/ffmw/ACME2 type &lt;b&gt;cifs&lt;/b&gt; (rw,mand,noexec,nosuid,nodev)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[soa@hqchACMESOA104 ffmw]$ &lt;b&gt;cat /etc/fstab&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;/dev/rootvg/rootlv      /                       ext3    defaults        1 1&lt;br /&gt;/dev/rootvg/tmplv       /tmp                    ext3    defaults        1 2&lt;br /&gt;/dev/rootvg/optlv       /opt                    ext3    defaults        1 2&lt;br /&gt;/dev/rootvg/homelv      /home                   ext3    defaults        1 2&lt;br /&gt;/dev/rootvg/varlv       /var                    ext3    defaults        1 2&lt;br /&gt;LABEL=/boot             /boot                   ext3    defaults        1 2&lt;br /&gt;tmpfs                   /dev/shm                tmpfs   defaults        0 0&lt;br /&gt;devpts                  /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;sysfs                   /sys                    sysfs   defaults        0 0&lt;br /&gt;proc                    /proc                   proc    defaults        0 0&lt;br /&gt;/dev/rootvg/swaplv      swap                    swap    defaults        0 0&lt;br /&gt;//acme1999.ACME.com/zdata/ER/ACMESOA/3786 /data/ffmw/ACME1  &lt;b&gt;cifs&lt;/b&gt;  rw,domain=ACME,username=CHAVEACMESOA,password=AVENes0a,auto,users     0 0&lt;br /&gt;//emcal1999.ACME.com/zdata/ER/ACMESOA/0983 /data/ffmw/ACME2 &lt;b&gt;cifs&lt;/b&gt;  rw,domain=ACME,username=CHORNACMESOA,password=ORNNes0a,auto,users     0 0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6737425662288949010?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6737425662288949010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6737425662288949010&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6737425662288949010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6737425662288949010'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/02/samba-mountpoints-on-linux.html' title='SAMBA mountpoints on Linux'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4446776160776198455</id><published>2012-01-31T15:55:00.000Z</published><updated>2012-01-31T15:55:47.345Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='keytool'/><title type='text'>Create your own keystore trust</title><content type='html'>password="welcome1"&lt;br /&gt;&lt;br /&gt;keytool -genkey -validity 10000 -alias acme -keyalg RSA -keysize 1024 -dname "CN=acme, OU=Engineering, O=YourCompany, L=YourCity, ST=YourRegion, C=YourCountryCode" -keypass acmepw -keystore identity-acme.jks -storepass $password&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Self Sign the certificate&lt;br /&gt;&lt;br /&gt;echo $passWord | keytool -selfcert -validity 10000 -v -alias acme -keypass $passWord -keystore identity-acme.jks -storetype jks&lt;br /&gt;&lt;br /&gt;# Export the root certificate&lt;br /&gt;&lt;br /&gt;echo $passWord | keytool -export -v -alias acme -file identity-acme.der -keystore identity-acme.jks&lt;br /&gt;&lt;br /&gt;# Import the root certificate back with the same name as in step 1 and step 2&lt;br /&gt;&lt;br /&gt;keytool -import -v -alias acme -trustcacerts -file identity-acme.der  -keystore acme-trust.jks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4446776160776198455?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4446776160776198455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4446776160776198455&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4446776160776198455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4446776160776198455'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/create-your-own-keystore-trust.html' title='Create your own keystore trust'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2462325434674663162</id><published>2012-01-31T15:52:00.000Z</published><updated>2012-01-31T15:52:53.425Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='datasource'/><title type='text'>OSB Datasources</title><content type='html'>sparse notes here....&lt;br /&gt;&lt;br /&gt;oracle.jdbc.driver.OracleDriver vs. oracle.jdbc.OracleDriver&lt;br /&gt;&lt;br /&gt;http://stackoverflow.com/questions/6202653/difference-between-oracle-jdbc-driver-classes&lt;br /&gt;&lt;br /&gt;so oracle.jdbc.driver.OracleDriver is deprecated, uh?&lt;br /&gt;&lt;br /&gt;http://docs.oracle.com/cd/E12840_01/wls/docs103/jdbc_drivers/oracle.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Which Oracle DB version am I using?&lt;br /&gt;&lt;br /&gt;SELECT version FROM v$instance;&lt;br /&gt;&lt;br /&gt;I get 11.2.0.3.0&lt;br /&gt;&lt;br /&gt;If you do "SELECT * FROM g$instance" in Oracle RAC you get the same view.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E18283_01/appdev.112/e13995/oracle/jdbc/xa/client/OracleXADataSource.html"&gt;oracle.jdbc.xa.client.OracleXADataSource&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;wlsbjmsrpDataSource: In the Driver field, select a supported non-XA driver&lt;br /&gt;http://docs.oracle.com/cd/E12840_01/common/docs103/confgwiz/howdoi.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For Supported Configurations Matrix: http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html&lt;br /&gt;For OSB http://www.oracle.com/technetwork/middleware/ias/downloads/osb-11gr1certmatrix.xls&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2462325434674663162?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2462325434674663162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2462325434674663162&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2462325434674663162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2462325434674663162'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/osb-datasources.html' title='OSB Datasources'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5551186865025070750</id><published>2012-01-29T23:08:00.001Z</published><updated>2012-01-29T23:10:31.724Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JNDI'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>weblogic.jndi.retainenvironment</title><content type='html'>if you specify -Dweblogic.jndi.retainenvironment=true in the WLS command line,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;in WLInitialContextFactoryDelegate:&lt;br /&gt;&lt;br /&gt;        if(KernelStatus.isServer())&lt;br /&gt;        {&lt;br /&gt;            String s = System.getProperty("weblogic.jndi.retainenvironment");&lt;br /&gt;            if(s != null)&lt;br /&gt;                keepEnvironmentUntilContextClose = true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if (!keepEnvironmentUntilContextClose)&lt;br /&gt;      JNDIEnvironment.getJNDIEnvironment().popThreadEnvironment();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am trying to understand what this - seemingly undocumented - parameter does.&lt;br /&gt;&lt;br /&gt;If you have an idea, pleas leave a comment...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5551186865025070750?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5551186865025070750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5551186865025070750&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5551186865025070750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5551186865025070750'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/weblogicjndiretainenvironment.html' title='weblogic.jndi.retainenvironment'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3398706460259526771</id><published>2012-01-29T14:05:00.004Z</published><updated>2012-01-29T15:35:28.951Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jms'/><category scheme='http://www.blogger.com/atom/ns#' term='JMX'/><category scheme='http://www.blogger.com/atom/ns#' term='MBean'/><title type='text'>Counting JMS messages present in a JMS Queue</title><content type='html'>here we show 2 ways:&lt;br /&gt;&lt;br /&gt;(I have a wlsbJMSServer JMSServer, a uoo JMSModule, a uooq JNDI name for the Queue)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WLST&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;connect(....)&lt;br /&gt;&lt;br /&gt;cd serverRuntime:/JMSRuntime/AdminServer.jms/JMSServers/wlsbJMSServer/Destinations/uoo!uooq&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the cmo is:&lt;br /&gt;&lt;br /&gt;[MBeanServerInvocationHandler]com.bea:ServerRuntime=AdminServer,Name=uoo!uooq,Type=JMSDestinationRuntime,JMSServerRuntime=wlsbJMSServer&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cmo.getMessagesCurrentCount()&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Java&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;package com.acme.gu.jms;&lt;br /&gt;&lt;br /&gt;import java.util.Properties;&lt;br /&gt;&lt;br /&gt;import javax.jms.Destination;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.InitialContext;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;&lt;br /&gt;import weblogic.management.runtime.JMSDestinationRuntimeMBean;&lt;br /&gt;import weblogic.jms.extensions.JMSRuntimeHelper;&lt;br /&gt;&lt;br /&gt;public class JMSJMX {&lt;br /&gt; public static void main(String[] args) throws NamingException, JMSException {&lt;br /&gt;  JMSJMX jmsjmx = new JMSJMX();&lt;br /&gt;  jmsjmx.countMessages();&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void countMessages() throws NamingException, JMSException {&lt;br /&gt;  Properties env = new Properties();&lt;br /&gt;  env.put(Context.PROVIDER_URL, "t3://localhost:7001");&lt;br /&gt;  env.put(Context.SECURITY_PRINCIPAL, "weblogic");&lt;br /&gt;  env.put(Context.SECURITY_CREDENTIALS, "weblogic1");&lt;br /&gt;  env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");&lt;br /&gt;  InitialContext ctx = new InitialContext(env);&lt;br /&gt;&lt;br /&gt;  Destination queue = (Destination) ctx.lookup("uooq");&lt;br /&gt;&lt;br /&gt;  JMSDestinationRuntimeMBean destMBean = JMSRuntimeHelper.getJMSDestinationRuntimeMBean(ctx, queue);&lt;br /&gt;  &lt;br /&gt;  System.out.println("count: " + destMBean.getMessagesCurrentCount());&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;see also:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E11035_01/wls100/javadocs_mhome/weblogic/management/runtime/JMSDestinationRuntimeMBean.html"&gt;http://docs.oracle.com/cd/E11035_01/wls100/javadocs_mhome/weblogic/management/runtime/JMSDestinationRuntimeMBean.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=" http://docs.oracle.com/cd/E12840_01/wls/docs103/javadocs/weblogic/jms/extensions/JMSRuntimeHelper.html"&gt;&lt;br /&gt;http://docs.oracle.com/cd/E12840_01/wls/docs103/javadocs/weblogic/jms/extensions/JMSRuntimeHelper.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you want to invoke the same code in OSB, you can use this variant:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;package com.acme.gu.jms;&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * Method to be run inside a Container&lt;br /&gt;  * @param jndis&lt;br /&gt;  * @return&lt;br /&gt;  * @throws NamingException &lt;br /&gt;  * @throws JMSException &lt;br /&gt;  */&lt;br /&gt; public static String countCurrentMessages(String[] jndis) throws NamingException, JMSException {&lt;br /&gt;  StringBuffer result = new StringBuffer();&lt;br /&gt;  InitialContext ctx = new InitialContext();&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;  for (int count = 0; count &lt; jndis.length; count++) {&lt;br /&gt;   Destination queue = (Destination) ctx.lookup(jndis[count]);&lt;br /&gt;   JMSDestinationRuntimeMBean destMBean = JMSRuntimeHelper.getJMSDestinationRuntimeMBean(ctx, queue);&lt;br /&gt;   result.append(Long.toString(destMBean.getMessagesCurrentCount()));&lt;br /&gt;   if (count &lt; jndis.length - 1) {&lt;br /&gt;    result.append(",");&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  return result.toString();&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;And you invoke it with a Java Callout, passing in input a Sequence('jndi1', 'jndi2')which is converted automatically in a String[]I am returning a CSV list (String), because a String[] as a return parameter in converted into a Java object, which is not easy to access in OSB.Make sure you associate a Service Account (static) to the Java Callout, because when you create a new InitialContext without associating credentials, OSB attaches an anonymous user and you get an error:&lt;i&gt; Callout to java method "public static java.lang.String[] com.acme.gu.jms.JMSJMX.countCurrentMessages(java.lang.String[]) throws javax.naming.NamingException,javax.jms.JMSException" resulted in exception: javax.naming.NoPermissionException: User &amp;lt;anonymous&gt; does not have permission on weblogic.management.adminhome to perform lookup operation.weblogic.jms.common.JMSException: javax.naming.NoPermissionException: User &amp;lt;anonymous&gt; does not have permission on weblogic.management.adminhome to perform lookup operation. at weblogic.jms.extensions.JMSRuntimeHelper.getJMSDestinationRuntimeMBean(JMSRuntimeHelper.java:458) at com.acme.gu.jms.JMSJMX.countCurrentMessages(JMSJMX.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at stages.transform.runtime.JavaCalloutRuntimeStep$1.run(JavaCalloutRuntimeStep.java:173)&lt;/i&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;The alternative is to enable "Anonymous Admin Lookup Enabled" in "View Domain-wide Security Settings" in WebLogic console.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3398706460259526771?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3398706460259526771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3398706460259526771&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3398706460259526771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3398706460259526771'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/counting-jms-messages-present-in-jms.html' title='Counting JMS messages present in a JMS Queue'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4781831854289586856</id><published>2012-01-27T19:07:00.000Z</published><updated>2012-01-27T19:07:18.748Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>Tracing and debugging in OSB</title><content type='html'>There are alternatives to putting LOG statements in the message flow.&lt;br /&gt;&lt;br /&gt;One is activating payload tracing :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jvzoggel.wordpress.com/2012/01/23/osb_tracing_runtime/"&gt;http://jvzoggel.wordpress.com/2012/01/23/osb_tracing_runtime/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;also, be aware that there are 2 files alsbdebug.xml  and configfwkdebug.xml in $DOMAIN_HOME:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here more doc on this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/app_debugging.htm"&gt;http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/app_debugging.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4781831854289586856?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4781831854289586856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4781831854289586856&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4781831854289586856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4781831854289586856'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/tracing-and-debugging-in-osb.html' title='Tracing and debugging in OSB'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6368616248456440438</id><published>2012-01-25T22:31:00.003Z</published><updated>2012-01-26T10:31:02.788Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='climatechange'/><title type='text'>Global warming is just a myth</title><content type='html'>fueled by conspiracy theorists.&lt;br /&gt;&lt;br /&gt;I have taken this picture biking on the Alps. Normally in this season we would have half a meter snow in the valley - 600 meters above sea level. Now to find half a meter snow you must go at 2000 meters - these mountains are 3000 meters high. What is shown is the North face - the South face is even more free from snow.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MuQRFAAG24s/TyCAwYny8OI/AAAAAAAAA2M/SmmLpFc5btc/s1600/IMG_0175.JPG" imageanchor="1"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-MuQRFAAG24s/TyCAwYny8OI/AAAAAAAAA2M/SmmLpFc5btc/s1600/IMG_0175.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;All sort of tree are blossoming. In January. They too must be part of this delusional wave called "climate crisis theory". &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-INnOLiY96MA/TyCDCNewSuI/AAAAAAAAA2k/SZTo8a_o9lU/s1600/IMG_0173.JPG" imageanchor="1"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-INnOLiY96MA/TyCDCNewSuI/AAAAAAAAA2k/SZTo8a_o9lU/s1600/IMG_0173.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Of course all this is just a statistical fluctuation, things will go back to normal and we can happily keep burning oil, cutting trees and behaving like there is no tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6368616248456440438?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6368616248456440438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6368616248456440438&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6368616248456440438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6368616248456440438'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/global-warming-is-just-myth.html' title='Global warming is just a myth'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MuQRFAAG24s/TyCAwYny8OI/AAAAAAAAA2M/SmmLpFc5btc/s72-c/IMG_0175.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-9047340640225627042</id><published>2012-01-22T09:29:00.001Z</published><updated>2012-01-22T09:30:44.508Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='osb variables'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>XQuery to return a property value</title><content type='html'>Too often in OSB developers hardcode property values everywhere in the Message Flow.&lt;br /&gt;This makes life difficult, especially if these are environment-dependent values.&lt;br /&gt;&lt;br /&gt;Waiting for Oracle to provide a decent way to externalize variables in a property file and read it from OSB (you can do that with a Custom XPath.... but the problem is that the property file would not be visible/editable from the OSB console, which is a pity...)...&lt;br /&gt;you can use this approach:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;xquery version "1.0" encoding "Cp1252";&lt;br /&gt;&lt;br /&gt;declare namespace xf = "http://tempuri.org/OSBProject1/getProperty/";&lt;br /&gt;&lt;br /&gt;declare function xf:getProperty($propertyName as xs:string)&lt;br /&gt;    as xs:string {&lt;br /&gt;    let $properties := &lt;br /&gt;    &amp;lt;properties&amp;gt;&lt;br /&gt;     &amp;lt;stageErrorDirectory&amp;gt;bla&amp;lt;/stageErrorDirectory&amp;gt;&lt;br /&gt;     &amp;lt;targetErrorDirectory&amp;gt;bla&amp;lt;/targetErrorDirectory&amp;gt;&lt;br /&gt;    &amp;lt;/properties&amp;gt;&lt;br /&gt;    &lt;br /&gt;    let $match := $properties//*[name()=$propertyName]&lt;br /&gt;    return&lt;br /&gt;    if ($match) then&lt;br /&gt;     $match/text()&lt;br /&gt;    else &lt;br /&gt;     fn:error(xs:QName('IllegalArgument'), $propertyName)&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;declare variable $propertyName as xs:string external;&lt;br /&gt;&lt;br /&gt;xf:getProperty($propertyName)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This code shows also 2 interesting things:&lt;br /&gt;- how to find a node with a given element name (using *[name()='something'] )&lt;br /&gt;- how to raise a well readable error message with fn:error()&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-9047340640225627042?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/9047340640225627042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=9047340640225627042&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9047340640225627042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9047340640225627042'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/xquery-to-return-property-value.html' title='XQuery to return a property value'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3716360390244781452</id><published>2012-01-21T13:43:00.002Z</published><updated>2012-01-21T16:51:13.597Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSIF'/><category scheme='http://www.blogger.com/atom/ns#' term='rejectedMessageHandler'/><title type='text'>OSB rejected messages handling  with WSIF</title><content type='html'>Here &lt;a href="http://ws.apache.org/wsif/"&gt;http://ws.apache.org/wsif/&lt;/a&gt; the official Apache page on WSIF&lt;br /&gt;&lt;br /&gt;I have tried assigning a dummy WebService (based on a sample WSDL generated by Eclipse) &lt;br /&gt;&lt;br /&gt;In the "JCA Transport Configuration" of my Proxy Service I specify: &lt;br /&gt;&lt;br /&gt;EndPoint Properties    rejectedMessageHandlers = "wsif://http://localhost:7001/errorpoller/errorhandlerws?WSDL|newOperation|in" &lt;br /&gt;&lt;br /&gt;Of course it doesn't work, I get this error: &lt;br /&gt;&lt;br /&gt;JCA_FRAMEWORK_AND_ADAPTER BEA-000000 Rejection handler failed Rejection handler failed Error while trying to hand off bad message to Rejection handler wsif://http://localhost:7001/errorpoller/errorhandlerws?WSDL|newOperation|in due to: Unable to find an available port Please address the underlying issue or correct/redeploy the process  &lt;br /&gt;&lt;br /&gt;Here &lt;a href="http://docs.oracle.com/cd/E12839_01/integration.1111/e10231/life_cycle.htm#BABGIGGI"&gt;http://docs.oracle.com/cd/E12839_01/integration.1111/e10231/life_cycle.htm#BABGIGGI&lt;/a&gt;  at "Web Service Handler" they report a sample payload schema, but it's all broken.  It was impossible to find a complete WSDL for a proper Web Service Handler. How sad.  &lt;br /&gt;&lt;br /&gt;In fact it was my mistake, I should specify: Absolute wsdl path|service name|port name  &lt;br /&gt;and the port name is "NewWSDLFileSOAP" and the service name is "NewWSDLFile" &lt;br /&gt;so I try with  rejectedMessageHandlers = "wsif://http://localhost:7001/errorpoller/errorhandlerws?WSDL|NewWSDLFile|NewWSDLFileSOAP" &lt;br /&gt;&lt;br /&gt;All of a sudden I find this example of rejectionmessage.wsdl : &lt;a href="http://bentaljaard.wordpress.com/2010/10/22/creating-a-bpel-rejected-message-handler-for-ftp-file-polling/"&gt;http://bentaljaard.wordpress.com/2010/10/22/creating-a-bpel-rejected-message-handler-for-ftp-file-polling/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;referring to this &lt;a href="http://oraintpc.blogspot.com/2007/10/in-action-adapter-rejection-handlers-in.html"&gt;http://oraintpc.blogspot.com/2007/10/in-action-adapter-rejection-handlers-in.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;sounds cool! I try to implement it stealing this WSDL &lt;br /&gt;it turns out that in the oracle.tip.adapter.fw.agent.jca.JCAActivationAgent there is a property "portType" which needs to be set! Of course in the Oracle documentation there is no mention of this, they only say to set the property "rejectedMessageHandlers"&lt;br /&gt;&lt;br /&gt;Here &lt;a href="http://docs.oracle.com/cd/B14099_19/integrate.1012/b14058.pdf"&gt;http://docs.oracle.com/cd/B14099_19/integrate.1012/b14058.pdf&lt;/a&gt; is says &lt;br /&gt;&lt;br /&gt;&lt;i&gt;WSIF Based Rejection Handler: In WSIF based Message Rejection handler, you can configure any type of WSIF WSDL, such as JCA, EJB, JMS, HTTP, and Java. You can configure any kind of service that can be reached through WSIF as the bad message handler. &lt;br /&gt;The syntax for specifying a WSIF based Message Rejection handler is as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="rejectedMessageHandlers"&amp;gt; wsif://&amp;lt;wsif-wsdl-location&amp;gt;|&amp;lt;operation-name&amp;gt;|&amp;lt;input-message-part-name&amp;gt; &amp;lt;/property&amp;gt; &lt;br /&gt;&lt;br /&gt;You can specify a WSIF based Message Rejectionhandler as shown in the following example: &lt;br /&gt;&lt;br /&gt;&amp;lt;property name="rejectedMessageHandlers"&amp;gt; wsif://file:/C:/orabpel/samples/test/ErrorTest/FileAdapterWrite.wsdl|write|mess age &amp;lt;/property&amp;gt; &lt;br /&gt;&lt;br /&gt;The WSIF based Message Rejection handler has the same constraint on message type as that of BPEL Process Rejection Handler. Refer to the BPEL Process Rejection Handler section.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;still working on this... not a single COMPLETE working example available on the entire internet...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3716360390244781452?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3716360390244781452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3716360390244781452&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3716360390244781452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3716360390244781452'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/osb-rejected-messages-handling-with.html' title='OSB rejected messages handling  with WSIF'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3673734208392745969</id><published>2012-01-20T13:24:00.001Z</published><updated>2012-01-21T13:44:39.747Z</updated><title type='text'>XQuery, extract file name from directory</title><content type='html'>fn:tokenize(fn:replace($theDirectory, '\\', '/'), '/')[fn:last()]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;input: C:\tmp\bla\po\in\if2  &lt;br /&gt;&lt;br /&gt;output: if2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3673734208392745969?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3673734208392745969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3673734208392745969&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3673734208392745969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3673734208392745969'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/xquery-extract-file-name-from-directory.html' title='XQuery, extract file name from directory'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3069326970493121849</id><published>2012-01-19T17:53:00.000Z</published><updated>2012-01-19T17:53:23.060Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='namespace'/><title type='text'>rename namespace</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-UBfkce4U_Bs/TxhYCuSjGmI/AAAAAAAAA2A/2uySjFdKxLI/s1600/Capture.JPG" imageanchor="1"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-UBfkce4U_Bs/TxhYCuSjGmI/AAAAAAAAA2A/2uySjFdKxLI/s1600/Capture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;a small note to myself on how to change namespace of a xml element in OSB&lt;br /&gt;&lt;br /&gt;input is &lt;br /&gt;&lt;br /&gt;&amp;lt;ciao/&amp;gt;&lt;br /&gt;&lt;br /&gt;output is&lt;br /&gt;&lt;br /&gt;&amp;lt;lap:ciao xmlns:lap="http://www.laperrasucia.com"/&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3069326970493121849?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3069326970493121849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3069326970493121849&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3069326970493121849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3069326970493121849'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/rename-namespace.html' title='rename namespace'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-UBfkce4U_Bs/TxhYCuSjGmI/AAAAAAAAA2A/2uySjFdKxLI/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5112340986191848641</id><published>2012-01-19T13:41:00.001Z</published><updated>2012-01-19T13:42:33.251Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>A callout cannot invoke a one-way operation</title><content type='html'>I have created a DBAdapter JCA Client invoking an INSERT operation&lt;br /&gt;JDeveloper generates this WLSD:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;?binding.jca AcmeDBInsert_db_db.jca?&amp;gt;&lt;br /&gt;&amp;lt;wsdl:definitions name="AcmeDBInsert_db" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/AcmePOC_Sharath/Acme_POC_Acme_WMS/AcmeDBInsert_db" xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/AcmePOC/Acme_POC_Acme_WMS/AcmeDBInsert_db" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/AcmeDBInsert_db"&amp;gt;&lt;br /&gt;    &amp;lt;plt:partnerLinkType name="AcmeDBInsert_db_plt"&amp;gt;&lt;br /&gt;        &amp;lt;plt:role name="AcmeDBInsert_db_role"&amp;gt;&lt;br /&gt;            &amp;lt;plt:portType name="tns:AcmeDBInsert_db_ptt"/&amp;gt;&lt;br /&gt;        &amp;lt;/plt:role&amp;gt;&lt;br /&gt;    &amp;lt;/plt:partnerLinkType&amp;gt;&lt;br /&gt;    &amp;lt;wsdl:types&amp;gt;&lt;br /&gt;        &amp;lt;schema xmlns="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;br /&gt;            &amp;lt;import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/AcmeDBInsert_db" schemaLocation="xsd/AcmeDBInsert_db_table.xsd"/&amp;gt;&lt;br /&gt;        &amp;lt;/schema&amp;gt;&lt;br /&gt;    &amp;lt;/wsdl:types&amp;gt;&lt;br /&gt;    &amp;lt;wsdl:message name="GmAcmeTrackerCollection_msg"&amp;gt;&lt;br /&gt;        &amp;lt;wsdl:part name="GmAcmeTrackerCollection" element="top:GmAcmeTrackerCollection"/&amp;gt;&lt;br /&gt;    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;    &amp;lt;wsdl:portType name="AcmeDBInsert_db_ptt"&amp;gt;&lt;br /&gt;        &amp;lt;wsdl:operation name="insert"&amp;gt;&lt;br /&gt;            &amp;lt;wsdl:input message="tns:GmAcmeTrackerCollection_msg"/&amp;gt;&lt;br /&gt;        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;    &amp;lt;/wsdl:portType&amp;gt;&lt;br /&gt;&amp;lt;/wsdl:definitions&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the "insert" operation is a one-way operation (no wlsd:output clause)&lt;br /&gt;&lt;br /&gt;The problem is that the Service Callout expects a request-reply pattern.&lt;br /&gt;&lt;br /&gt;So necessarily in this case you must use a Publish, with Quality of Service "Exactly Once" to execute in the same transaction and with a blocking operation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5112340986191848641?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5112340986191848641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5112340986191848641&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5112340986191848641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5112340986191848641'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/callout-cannot-invoke-one-way-operation.html' title='A callout cannot invoke a one-way operation'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7268805743855317499</id><published>2012-01-18T06:18:00.004Z</published><updated>2012-01-19T01:22:34.048Z</updated><title type='text'>JMA supports SOPA and PIPA</title><content type='html'>After all, Middle Ages were cool, with all those witches burnt on a stake, entertainment was bountiful.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CTLnXl2_rVk/TxdwSr6Wc-I/AAAAAAAAA10/rhRhua5zHAg/s1600/witch-hunt.jpg" imageanchor="1"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-CTLnXl2_rVk/TxdwSr6Wc-I/AAAAAAAAA10/rhRhua5zHAg/s320/witch-hunt.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We also support Stalinism, and the Freedom to shut in prison whomever we want without evidence. Freedom is a good thing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PHsk01AJc2o/TxZkOub3YPI/AAAAAAAAA1c/3BvChDXnpAM/s1600/stalin.jpg" imageanchor="1"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-PHsk01AJc2o/TxZkOub3YPI/AAAAAAAAA1c/3BvChDXnpAM/s320/stalin.jpg" width="224" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uh, also Nazi Book Burning is cool, it's such a pity that websites burning can't keep you warm in winter: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-O_72WHGXuK8/TxaSdfMAbKI/AAAAAAAAA1o/p7cY_E2Mn7k/s1600/bb160.jpg" imageanchor="1"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-O_72WHGXuK8/TxaSdfMAbKI/AAAAAAAAA1o/p7cY_E2Mn7k/s320/bb160.jpg" width="302" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7268805743855317499?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7268805743855317499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7268805743855317499&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7268805743855317499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7268805743855317499'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/jma-supports-sopa.html' title='JMA supports SOPA and PIPA'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CTLnXl2_rVk/TxdwSr6Wc-I/AAAAAAAAA10/rhRhua5zHAg/s72-c/witch-hunt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2613389367826337563</id><published>2012-01-16T20:43:00.000Z</published><updated>2012-01-16T20:43:45.829Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vaadin'/><title type='text'>What a developer thinks about Vaadin</title><content type='html'>(guest post)&lt;br /&gt;I have interviewed a good friend who has been using Vaadin at his job for 6 months. Here is what he says:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Vaadin...&lt;br /&gt;&lt;br /&gt;Too be short, it's like any framework trying to do generate everything for you.&lt;br /&gt;Great at the things the demo application does. Not always so great at the things you really want to do.&lt;br /&gt;&lt;br /&gt;The plus side is that it is all Java, and thus for the most part extendable.&lt;br /&gt;The down side is that you have to do this a bit too often. &lt;br /&gt;&lt;br /&gt;If at our company we were not forced to use a framework built on top of the Vaadin framework, I would say it upped the productivity.&lt;br /&gt;Vaadin gives a lot of freedom. If you're going to build something on top of it, try to retain most of that freedom.&lt;br /&gt;A lesson I'm trying to teach our architects ...&lt;br /&gt;&lt;br /&gt;All in all, it's better then the struts world I've been accustomed too. But the holy grail it is not...&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2613389367826337563?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2613389367826337563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2613389367826337563&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2613389367826337563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2613389367826337563'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/what-developer-thinks-about-vaadin.html' title='What a developer thinks about Vaadin'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8355384379204407033</id><published>2012-01-15T13:16:00.003Z</published><updated>2012-01-15T15:59:21.409Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='word'/><title type='text'>How to create and use Custom Document Properties in Word 2007</title><content type='html'>Create the property:&lt;br /&gt;&lt;br /&gt;Clic on the Microsoft Office Button (top left):&lt;br /&gt;&lt;br /&gt;http://officeimg.vo.msecnd.net/en-us/files/325/058/ZA010351135.jpg&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://officeimg.vo.msecnd.net/en-us/files/325/058/ZA010351135.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="180" width="229" src="http://officeimg.vo.msecnd.net/en-us/files/325/058/ZA010351135.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Prepare/Properties&lt;br /&gt;&lt;br /&gt;( you can acheve the same with Alt-F Alt-E Alt-P)&lt;br /&gt;&lt;br /&gt;a Properties ribbon appear under the main ribbon.&lt;br /&gt;Click on the drop down list "Document Properties - Server" and choose advanced properties&lt;br /&gt;&lt;br /&gt;Click on the Custom TAB&lt;br /&gt;&lt;br /&gt;Enter a property name AND a property value, and click ADD.&lt;br /&gt;I suggest to prefix YOUR custom properties with a prefix, like PV_, to distinguish them from built-in properties.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To insert a property in your document:&lt;br /&gt;&lt;br /&gt;CTRL-F9&lt;br /&gt;right click&lt;br /&gt;edit field&lt;br /&gt;field name=DocProperty  and select your property&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;( this is &lt;a href="http://vbadud.blogspot.com/2009/01/how-to-insert-document-properties-in.html"&gt;explained very well here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TRICK: you can achieve the same by:&lt;br /&gt;CTRL-F9  then type DOCPROPERTY YOURPROPERTNAME &lt;br /&gt;then right-click and "update field"&lt;br /&gt;&lt;br /&gt;OR use ALT-F9 to display field codes and edit them, then ALT-F9 again to revert to normal mode.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;or simply copy/paste an existing field, then right-click and edit field.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For help on Word Field Codes: &lt;a href="http://office.microsoft.com/en-us/word-help/field-codes-in-word-HA010100426.aspx"&gt;http://office.microsoft.com/en-us/word-help/field-codes-in-word-HA010100426.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My conclusion: Microsoft has done a very poor job when it comes to be able to externalize strings and include them dynamically in the document. I have seen better tools 20 years ago.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8355384379204407033?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8355384379204407033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8355384379204407033&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8355384379204407033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8355384379204407033'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/how-to-create-and-use-custom-document.html' title='How to create and use Custom Document Properties in Word 2007'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7363889117433391326</id><published>2012-01-14T13:40:00.001Z</published><updated>2012-01-14T13:42:18.579Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='word'/><title type='text'>Writing proper technical documents with Word 2007 +</title><content type='html'>I am a geek and I always hated writing good looking doc... &lt;br /&gt;I LOVE to document stuff, but only on a merely technical level (Javadoc, wikis, TDD, comments in code...).&lt;br /&gt;&lt;br /&gt;When it comes to writing Word documents, all sort of aesthetic considerations come into account (font size, uniformity of the styles across the suite of documents etc), and a real macho-geek considers aesthetic issues something a bit borderline like homosexuality. &lt;br /&gt;&lt;br /&gt;So the statement "I can write very good Word Documents" sounds like "I wear a pink pajama at night and I spend hours massaging my body with perfumes in the shower".&lt;br /&gt;Real geeks don't waste time with Word. Real men don't wear pajamas and they rarely shower unless they have to - sweat it their only perfume.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-771kVs2gBpE/TxFh0OvWvkI/AAAAAAAAA1M/UjRtfX535Ho/s1600/sam-the-eagle.jpg" imageanchor="1"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-771kVs2gBpE/TxFh0OvWvkI/AAAAAAAAA1M/UjRtfX535Ho/s320/sam-the-eagle.jpg" width="206" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But real men know how to bite the bullet and do something even if they hate it.&lt;br /&gt;&lt;br /&gt;First thing occurring to my weak mind: use &lt;b&gt;styles&lt;/b&gt; everywhere:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dummies.com/how-to/content/how-to-manage-your-styles-in-word-2007.html"&gt;http://www.dummies.com/how-to/content/how-to-manage-your-styles-in-word-2007.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;styles are the only way to ensure uniform presentation, and to quickly change look and feel of a document.&lt;br /&gt;&lt;br /&gt;Styles: Ctrl+Shift+Alt+S, Manage Styles, export.... this only exports existing styles to an existing template....&lt;br /&gt;&lt;br /&gt;there is a normal.dotm template. you want to create your own template.&lt;br /&gt;You can save your document as "word macro-enabled template (*.dotm)"&lt;br /&gt;&lt;br /&gt;But, wait a second, how does a &lt;b&gt;template&lt;/b&gt; work? I have never used them...&lt;br /&gt;&lt;a href="http://wordprocessing.about.com/od/usingtemplatesandaddins/l/blwordtemp.htm"&gt;http://wordprocessing.about.com/od/usingtemplatesandaddins/l/blwordtemp.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Something interesting is also &lt;a href="http://office.microsoft.com/en-us/word-help/view-or-change-the-properties-for-an-office-document-HA010047524.aspx"&gt;CUSTOM PROPERTIES&lt;/a&gt;....  Microsoft Office Button Button image, point to Prepare, and then click Properties. &lt;br /&gt;On the Custom tab, you can add the name of a new property, but&lt;a href="http://en.allexperts.com/q/Microsoft-Word-1058/2009/1/Adding-custom-file-properties.htm"&gt; the Add button for that property remains disabled until you also assign a value (a point many users miss)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.request-response.com/blog/PermaLink,guid,839bd119-ae37-45d1-9652-a02006342aa9.aspx"&gt;Here it explains the pain of enabling the "Insert property" option in the menu&lt;/a&gt;... &lt;br /&gt;&lt;br /&gt;IT'S AWFUL the castration produced by Microsoft in the new 2007 menus, every single person I talk to HATES the new menus....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok, I stop here... on the whole I find the new Word incredibly complicated for those who want to use a professional but straightforward use... all the functionality is there, but they make it very difficult to use it. The "old style" menus where a lot more intuitive.&lt;br /&gt;&lt;br /&gt;And, I still believe that every project should hire a (maybe part-time) technical writer, you can't expect very talented technical people to excel in word (hahaha pardon the pun).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7363889117433391326?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7363889117433391326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7363889117433391326&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7363889117433391326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7363889117433391326'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/writing-proper-technical-documents-with.html' title='Writing proper technical documents with Word 2007 +'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-771kVs2gBpE/TxFh0OvWvkI/AAAAAAAAA1M/UjRtfX535Ho/s72-c/sam-the-eagle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3206598986800403424</id><published>2012-01-11T19:38:00.000Z</published><updated>2012-01-11T19:38:44.292Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='upload'/><title type='text'>Web Application to upload a file to any directory</title><content type='html'>&lt;a href="http://www.roseindia.net/jsp/file_upload/Sinle_upload.xhtml.shtml"&gt;http://www.roseindia.net/jsp/file_upload/Sinle_upload.xhtml.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;on multipart/form-data:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2"&gt;http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;if you add in the index.jsp&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Choose the destination directory:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;lt;select name="targetDirectory"&amp;gt;&lt;br /&gt;&amp;lt;option value="c:/tmp"&amp;gt;c:/tmp&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;option value="c:/temp"&amp;gt;c:/temp&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;/select&amp;gt; &lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and you do:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Object targetDirectoryAttribute = request.getAttribute("targetDirectory");&lt;br /&gt;String targetDirectoryParameter = request.getParameter("targetDirectory");&lt;br /&gt;System.out.println("targetDirectoryAttribute=" + targetDirectoryAttribute);&lt;br /&gt;System.out.println("targetDirectoryParameter=" + targetDirectoryParameter);&lt;br /&gt;&lt;br /&gt;they are both null&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;on how to read parameters in a multipart/form-data form:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jguru.com/faq/view.jsp?EID=1045507"&gt;http://www.jguru.com/faq/view.jsp?EID=1045507&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://commons.apache.org/fileupload/"&gt;http://commons.apache.org/fileupload/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://commons.apache.org/fileupload/using.html"&gt;interesting code snippets here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;invoke readHeaders() in org.apache.commons.fileupload.MultipartStream&lt;br /&gt;&lt;br /&gt;looks too complicated...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I would rather use&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html"&gt;http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;getParameter(java.lang.String name) &lt;br /&gt;&lt;br /&gt;so I download &lt;a href="http://www.servlets.com/cos/cos-26Dec2008.zip"&gt;http://www.servlets.com/cos/cos-26Dec2008.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;but, wait a minute, I find this&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/3238103/extracting-parameters-of-a-httprequest-when-form-type-is-multipart"&gt;http://stackoverflow.com/questions/3238103/extracting-parameters-of-a-httprequest-when-form-type-is-multipart&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/servlet/ServletFileUpload.html"&gt;http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/servlet/ServletFileUpload.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItemFactory.html"&gt;http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItemFactory.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some other posts on the topic:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/1545717/issue-with-multipart-form-data"&gt;http://stackoverflow.com/questions/1545717/issue-with-multipart-form-data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1732742324"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/1748259/get-form-parameters-from-multipart-request-without-getting-the-files"&gt;http://stackoverflow.com/questions/1748259/get-form-parameters-from-multipart-request-without-getting-the-files&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/3238103/extracting-parameters-of-a-httprequest-when-form-type-is-multipart"&gt;http://stackoverflow.com/questions/3238103/extracting-parameters-of-a-httprequest-when-form-type-is-multipart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eventually I give up on all those horrible libraries, and I add a second for an a onclick javascript to add in the HTTP query the directory info...&lt;br /&gt;&lt;br /&gt;See the working result here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://javatoolsforweblogic.googlecode.com/svn/trunk/fileUpload/index.jsp"&gt;http://javatoolsforweblogic.googlecode.com/svn/trunk/fileUpload/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://javatoolsforweblogic.googlecode.com/svn/trunk/fileUpload/single_upload_page.jsp"&gt;http://javatoolsforweblogic.googlecode.com/svn/trunk/fileUpload/single_upload_page.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyway this is disgusting, the way this HTTP Java Servlet technology turns simple things in a total nightmare.... no wonder people turn to other technologies...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3206598986800403424?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3206598986800403424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3206598986800403424&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3206598986800403424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3206598986800403424'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/web-application-to-upload-file-to-any.html' title='Web Application to upload a file to any directory'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-9056994187242255459</id><published>2012-01-09T17:23:00.002Z</published><updated>2012-01-09T17:23:54.075Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='greenpeace'/><title type='text'>Planet is screwed? Maybe....</title><content type='html'>&lt;object width="640" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R5l8iUNbLrI&amp;hl=en_US&amp;feature=player_embedded&amp;version=3"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R5l8iUNbLrI&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;but it's not a reason to stop loving it and defending it ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-9056994187242255459?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/9056994187242255459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=9056994187242255459&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9056994187242255459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9056994187242255459'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/planet-is-screwed-maybe.html' title='Planet is screwed? Maybe....'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2744169236125667163</id><published>2012-01-09T09:22:00.002Z</published><updated>2012-01-09T09:23:47.238Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>SOA Integration Best of Packt - a compendium of books and techniques</title><content type='html'>&lt;a href="http://www.amazon.com/Do-more-SOA-Integration-Packt/dp/184968572X/ref=sr_1_1?ie=UTF8&amp;qid=1326096025&amp;sr=8-1"&gt;http://www.amazon.com/Do-more-SOA-Integration-Packt/dp/184968572X/ref=sr_1_1?ie=UTF8&amp;qid=1326096025&amp;sr=8-1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.amazon.com/Do-more-SOA-Integration-Packt/dp/184968572X/ref=sr_1_1?ie=UTF8&amp;qid=1326096025&amp;sr=8-1" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="300" src="http://2.bp.blogspot.com/-SWhpDbZQhtQ/TwqyB6IuO-I/AAAAAAAAA1A/HSUx3JV5jI0/s320/bop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do more with SOA Integration: Best of Packt&lt;br /&gt;&lt;br /&gt;It looks promising....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2744169236125667163?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2744169236125667163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2744169236125667163&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2744169236125667163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2744169236125667163'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/soa-integration-best-of-packt.html' title='SOA Integration Best of Packt - a compendium of books and techniques'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-SWhpDbZQhtQ/TwqyB6IuO-I/AAAAAAAAA1A/HSUx3JV5jI0/s72-c/bop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6381533765741545407</id><published>2012-01-05T11:10:00.000Z</published><updated>2012-01-05T11:10:07.265Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Glenn Gould - Beethoven's "Emperor" Concerto</title><content type='html'>simply inspiring...&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yftk_cnbwKQ?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/yftk_cnbwKQ?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PrkHtqjXpB0?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/PrkHtqjXpB0?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/419h93TiCFg?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/419h93TiCFg?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CUWeszHMJpU?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/CUWeszHMJpU?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6381533765741545407?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6381533765741545407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6381533765741545407&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6381533765741545407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6381533765741545407'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/glenn-gould-beethovens-emperor-concerto.html' title='Glenn Gould - Beethoven&apos;s &quot;Emperor&quot; Concerto'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5561781615451043153</id><published>2012-01-05T09:18:00.001Z</published><updated>2012-01-05T09:19:57.509Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eaipatterns'/><title type='text'>Channel Purger vs Message Filter</title><content type='html'>It was not clear to me the difference between the 2:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://eaipatterns.com/ChannelPurger.html"&gt;http://eaipatterns.com/ChannelPurger.html&lt;/a&gt;  this is meant to remove from a CHANNEL (IN PARALLEL TO THE MAIN FLOW) spurious bogus messages that should be prevented from reaching the main flow (e.g. test messages or old expired messages)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-W1NfQhnPQfQ/TwVrI6VmBvI/AAAAAAAAA0o/dDzHpQEE9q4/s1600/ChannelPurgerIcon.gif" imageanchor="1"&gt;&lt;img border="0" height="54" src="http://1.bp.blogspot.com/-W1NfQhnPQfQ/TwVrI6VmBvI/AAAAAAAAA0o/dDzHpQEE9q4/s320/ChannelPurgerIcon.gif" width="86" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://eaipatterns.com/Filter.html"&gt;http://eaipatterns.com/Filter.html&lt;/a&gt; a filter is used IN SERIES TO THE MAIN FLOW to discard irrelevant (but perfectly legal) messages&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-terqsv0CVhQ/TwVrMsRQCEI/AAAAAAAAA00/CKKnqHtDUbI/s1600/MessageFilterIcon.gif" imageanchor="1"&gt;&lt;img border="0" height="54" src="http://2.bp.blogspot.com/-terqsv0CVhQ/TwVrMsRQCEI/AAAAAAAAA00/CKKnqHtDUbI/s320/MessageFilterIcon.gif" width="86" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So the difference is like between a parallel spike suppressor and a series filter (pardon me for being an electronic engineer).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5561781615451043153?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5561781615451043153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5561781615451043153&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5561781615451043153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5561781615451043153'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/channel-purger-vs-message-filter.html' title='Channel Purger vs Message Filter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-W1NfQhnPQfQ/TwVrI6VmBvI/AAAAAAAAA0o/dDzHpQEE9q4/s72-c/ChannelPurgerIcon.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7749719228053097194</id><published>2012-01-04T21:44:00.001Z</published><updated>2012-01-04T21:49:33.336Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='devops'/><title type='text'>DevOps</title><content type='html'>As a developer and architect, I am VERY proud of having spent a few years of my life doing production support. Having been "on the other side of the barricade" gives you great clues on how an application should be conceived to avoid operational nightmares.&lt;br /&gt;&lt;br /&gt;So, welcome to DevOps.&lt;br /&gt;&lt;br /&gt;Here a link to a great post on the topic:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.carlossanchez.eu/2012/01/02/about-devops/"&gt;http://blog.carlossanchez.eu/2012/01/02/about-devops/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope more will come.&lt;br /&gt;&lt;br /&gt;Thinking in silos:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.performanceimprovementtoolkit.com/" imageanchor="1"&gt;&lt;img border="0" height="308" src="http://4.bp.blogspot.com/-lQZ-NaogU2g/TwTJQKA5h9I/AAAAAAAAA0c/V-9a0swV_6o/s320/Operations%2Band%2BMarketing%2BHuts.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7749719228053097194?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7749719228053097194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7749719228053097194&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7749719228053097194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7749719228053097194'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/devops.html' title='DevOps'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-lQZ-NaogU2g/TwTJQKA5h9I/AAAAAAAAA0c/V-9a0swV_6o/s72-c/Operations%2Band%2BMarketing%2BHuts.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4661200694109594637</id><published>2012-01-02T23:32:00.003Z</published><updated>2012-01-02T23:36:51.065Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>javax.resource.spi.InvalidPropertyException: Duplicate Property Values Exception. The properties [xADataSourceName] and [dataSourceName (both in connector properties)] can not both be [jdbc/SOADataSource].</title><content type='html'>ok, I have done it again...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lzAI96_EzyE/TwI9rBW7pyI/AAAAAAAAA0Q/6G2w8TxR-co/s1600/Capture.JPG" imageanchor="1"&gt;&lt;img border="0" height="358" src="http://4.bp.blogspot.com/-lzAI96_EzyE/TwI9rBW7pyI/AAAAAAAAA0Q/6G2w8TxR-co/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;in the JCA file adapter outbound connection pool instance, you should configure only.&lt;br /&gt;&lt;b&gt;either &lt;/b&gt;dataSourceName, &lt;b&gt;or &lt;/b&gt;xADataSourceName... &lt;b&gt;NOT BOTH&lt;/b&gt;! Du blöder Einer! Dummkopf!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* "Du blöder Einer" is a yiddish-german expression. it means "you stupid"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4661200694109594637?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4661200694109594637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4661200694109594637&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4661200694109594637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4661200694109594637'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2012/01/javaxresourcespiinvalidpropertyexceptio.html' title='javax.resource.spi.InvalidPropertyException: Duplicate Property Values Exception. The properties [xADataSourceName] and [dataSourceName (both in connector properties)] can not both be [jdbc/SOADataSource].'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-lzAI96_EzyE/TwI9rBW7pyI/AAAAAAAAA0Q/6G2w8TxR-co/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-9048969764335573366</id><published>2011-12-31T12:06:00.001Z</published><updated>2012-01-02T01:09:38.844Z</updated><title type='text'>Happy new ear</title><content type='html'>and a prosperous 2012&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.ebay.com/itm/NEW-STAR-TREK-TOS-VULCAN-EARS-SPOCK-ADULT-LATEX-COSTUME-/200690565139?pt=LH_DefaultDomain_0&amp;amp;hash=item2eba170013" imageanchor="1"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-nLmp36obMZQ/Tv76fA_bFEI/AAAAAAAAAzs/JmehMw7c7yQ/s320/Capture.JPG" width="224" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Impress your friends with this great Dr Spock costume! Available on ebay!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-nvUePjHi7Kw/TwEDyfzexEI/AAAAAAAAAz4/jeKh8BvnEvU/s1600/spock_inquisitive.jpg" imageanchor="1"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-nvUePjHi7Kw/TwEDyfzexEI/AAAAAAAAAz4/jeKh8BvnEvU/s320/spock_inquisitive.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-9048969764335573366?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/9048969764335573366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=9048969764335573366&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9048969764335573366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9048969764335573366'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/happy-new-ear.html' title='Happy new ear'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-nLmp36obMZQ/Tv76fA_bFEI/AAAAAAAAAzs/JmehMw7c7yQ/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2099006006420507138</id><published>2011-12-29T13:25:00.000Z</published><updated>2011-12-29T13:25:44.744Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='coherence'/><title type='text'>Coherence cluster interference</title><content type='html'>####&amp;lt;Dec 28, 2011 12:32:51 PM CET&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;Coherence&amp;gt; &amp;lt;acme102&amp;gt; &amp;lt;osbdv1ms1&amp;gt; &amp;lt;Logger@1780819408 3.6.0.4&amp;gt; &amp;lt;&amp;lt;anonymous&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;0000JI4RpfkE8Tk5ozx0iY1Eyjr6000002&amp;gt; &amp;lt;1325071971843&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Oracle Coherence 3.6.0.4 (member=n/a): Received a discovery message that indicates the presence of an existing cluster that does not respond to join requests; this is usually caused by a network layer failure:&lt;br /&gt;Message "SeniorMemberHeartbeat"&lt;br /&gt;  {&lt;br /&gt;  FromMember=Member(Id=1, Timestamp=2011-11-24 15:56:30.477, Address=13.53.53.189:7890, MachineId=14269, Location=process:26431, Role=OSB-node)&lt;br /&gt;  FromMessageId=0&lt;br /&gt;  Internal=false&lt;br /&gt;  MessagePartCount=1&lt;br /&gt;  PendingCount=0&lt;br /&gt;  MessageType=17&lt;br /&gt;  ToPollId=0&lt;br /&gt;  Poll=null&lt;br /&gt;  Packets&lt;br /&gt;    {&lt;br /&gt;    [000]=Broadcast{PacketType=0x0DDF00D2, ToId=0, FromId=1, Direction=Incoming, ReceivedMillis=12:32:51.842, MessageType=17, ServiceId=0, MessagePartCount=1, MessagePartIndex=0, Body=0}&lt;br /&gt;    }&lt;br /&gt;  Service=ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_ANNOUNCE), Id=0, Version=3.6}&lt;br /&gt;  ToMemberSet=null&lt;br /&gt;  NotifySent=false&lt;br /&gt;&lt;br /&gt;  LastRecvTimestamp=none&lt;br /&gt;  MemberSet=MemberSet(Size=1, BitSetCount=1, ids=[1])&lt;br /&gt;  }&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=1068440"&gt;https://forums.oracle.com/forums/thread.jspa?threadID=1068440&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;we need either to add&lt;br /&gt;&lt;br /&gt;-Dtangosol.coherence.wka=localhost&lt;br /&gt;&lt;br /&gt;to the JVM parameters, or make sure each installation has a unique Coherence cluster multicast address&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2099006006420507138?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2099006006420507138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2099006006420507138&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2099006006420507138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2099006006420507138'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/coherence-cluster-interference.html' title='Coherence cluster interference'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6866498931899680429</id><published>2011-12-29T10:55:00.000Z</published><updated>2011-12-29T10:55:50.765Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='xmldb'/><title type='text'>Accessing data from Oracle DB XML with OSB</title><content type='html'>Referring to the excellent post by Chris:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://datalinks.nl/wordpress/?p=642"&gt;http://datalinks.nl/wordpress/?p=642&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6866498931899680429?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6866498931899680429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6866498931899680429&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6866498931899680429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6866498931899680429'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/accessing-data-from-oracle-db-xml-with.html' title='Accessing data from Oracle DB XML with OSB'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2646816868259094074</id><published>2011-12-29T02:57:00.000Z</published><updated>2011-12-29T02:57:36.812Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>Local OSB protocol is ACTUALLY local</title><content type='html'>It seems that LOCAL doesn’t load balance stuff..."Local" means "NOT Remote", so all calls are within the same JVM.&lt;br /&gt;&lt;br /&gt;I have done this test:&lt;br /&gt;&lt;br /&gt;CLIENT -&gt; HTTP PS  deployed in cluster -&gt; publish to LOCAL PS&lt;br /&gt;&lt;br /&gt;Client sends all requests to only 1 HTTP service on server ms1 of the cluster made by ms1,ms2.&lt;br /&gt;&lt;br /&gt;Only the LOCAL PS on the ms1 is invoked. ms2 shows no activity.&lt;br /&gt;&lt;br /&gt;What if instead of LOCAL protocol I use some remotable protocol like HTTP? Is Server Affinity going to kick in, so all requests will stay anyway local? I am too lazy to test this now... maybe one day...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2646816868259094074?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2646816868259094074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2646816868259094074&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2646816868259094074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2646816868259094074'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/local-osb-protocol-is-actually-local.html' title='Local OSB protocol is ACTUALLY local'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8105372999989403962</id><published>2011-12-28T14:26:00.001Z</published><updated>2011-12-28T14:26:32.077Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>Test Console service is not running. Contact administrator to start this service</title><content type='html'>I was unable to test a Proxy/Business service, and getting the error message&lt;br /&gt;"Test Console service is not running. Contact administrator to start this service"&lt;br /&gt;&lt;br /&gt;I opened the AdminServer logs and it was full of:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;An exception [java.lang.StackOverflowError] was thrown while rendering the content at [/jsp/dashboard/&lt;b&gt;DashboardAlerts.jsp&lt;/b&gt;].&lt;br /&gt;javax.servlet.ServletException: &lt;b&gt;java.lang.StackOverflowError&lt;/b&gt;&lt;br /&gt;at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)&lt;br /&gt;at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)&lt;br /&gt;at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)&lt;br /&gt;at org.apache.beehive.netui.pageflow.PageFlowPageFilter.continueChainNoWrapper(PageFlowPageFilter.java:455)&lt;br /&gt;at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:114)&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is unclear how the server got itself in that state.... anyway restarting AdminServer and Managed Servers fixed the issue.... weird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8105372999989403962?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8105372999989403962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8105372999989403962&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8105372999989403962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8105372999989403962'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/test-console-service-is-not-running.html' title='Test Console service is not running. Contact administrator to start this service'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-53478153261825273</id><published>2011-12-28T13:01:00.001Z</published><updated>2011-12-28T13:04:02.435Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XQuery'/><title type='text'>Removing empty optional elements erroneously inserted by mapping</title><content type='html'>if a XQuery mapping, theoretically you should check for existence of an optional element in the source, and only if it exists you create it on the destination:&lt;br /&gt;&lt;br /&gt;if ($myvar/customer/shoesize) then&lt;br /&gt;&amp;lt;shoesize&amp;gt;&lt;br /&gt;data($myvar/customer/shoesize)&lt;br /&gt;&amp;lt;/shoesize&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the developer likes to take shortcuts (=is a lazy bum), and doesn't do the "if", you must clean the garbage afterwards.&lt;br /&gt;&lt;br /&gt;You can use the action:&lt;br /&gt;delete //*[not(node()) and not(.//@*)] from body&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-53478153261825273?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/53478153261825273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=53478153261825273&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/53478153261825273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/53478153261825273'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/removing-empty-optional-elements.html' title='Removing empty optional elements erroneously inserted by mapping'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5343485605407797367</id><published>2011-12-28T09:42:00.000Z</published><updated>2011-12-28T09:42:17.276Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Book: The Definitive Guide to SOA Oracle Service Bus</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.apress.com/9781430210573" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="253" src="http://4.bp.blogspot.com/--hl_skEniaU/TvrkOFZHWaI/AAAAAAAAAzU/5__M_LOQbv4/s320/A9781430210573-3d_8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Definitely worth reading, with plenty of source code available at their site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apress.com/downloadable/download/sample/sample_id/279/"&gt;http://www.apress.com/downloadable/download/sample/sample_id/279/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5343485605407797367?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5343485605407797367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5343485605407797367&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5343485605407797367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5343485605407797367'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/book-definitive-guide-to-soa-oracle.html' title='Book: The Definitive Guide to SOA Oracle Service Bus'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/--hl_skEniaU/TvrkOFZHWaI/AAAAAAAAAzU/5__M_LOQbv4/s72-c/A9781430210573-3d_8.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1035744402469577396</id><published>2011-12-27T20:41:00.000Z</published><updated>2011-12-27T20:41:46.629Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>EOL issues on Unix/Windows</title><content type='html'>in vi, if you want to view a file in HEX mode, do this:&lt;br /&gt;&lt;br /&gt;:%!xxd &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;line feed=10=0x0A (\n)&lt;br /&gt;carriage return=13=0x0D  (\r)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;in Windows, a EOL is defined by \r\n (0D0A)&lt;br /&gt;in Unix, a EOL is defined by \n (0A)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;to change EOL to some other character:&lt;br /&gt;&lt;br /&gt;tr '\n' '#' &lt; test1.txt &gt; test2.txt&lt;br /&gt;&lt;br /&gt;to turn a Windows file into Unix:&lt;br /&gt;dos2unix filename&lt;br /&gt;&lt;br /&gt;Excellent Notepad++ to convert one format into another (Edit/EOL conversion)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1035744402469577396?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1035744402469577396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1035744402469577396&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1035744402469577396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1035744402469577396'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/eol-issues-on-unixwindows.html' title='EOL issues on Unix/Windows'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2263368809959508953</id><published>2011-12-27T20:32:00.003Z</published><updated>2011-12-27T21:01:21.202Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nxsd'/><title type='text'>Disabling debatching in Oracle JCA File Adapter</title><content type='html'>If in the JCA file adapter file you specify PublishSize=1, the file translator will &lt;br /&gt;consider that every &lt;b&gt;LINE &lt;/b&gt;(up to EOL) in your file is a &lt;b&gt;MESSAGE&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;Even if the &lt;b&gt;Root Element&lt;/b&gt; of my message is a complexType made by a sequence of subtypes, the &lt;b&gt;NXSDTranslator &lt;/b&gt;will dispatch a message to OSB  PER EACH LINE, and the message will contain ONLY THE SUBTYPE, not the Root Element.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even if you specify &lt;b&gt;uniqueMessageSeparator&lt;/b&gt;="someweirdstring", it will keep doing the same trick.&lt;br /&gt;&lt;br /&gt;In the log, you see:&lt;br /&gt;&lt;br /&gt;jca.file.BatchIndex=1 (2, 3... up to the number of lines in the file)&lt;br /&gt;jca.file.Batch=CsHjmLiOA8VinpSTERKIh6cfUYmxQvUbZzfDlDH0DRI&lt;br /&gt;&lt;br /&gt;(all the messages in the same Batch (=file) have the same jca.file.Batch property)&lt;br /&gt;&lt;br /&gt;The only way to avoid this &lt;b&gt;DEBATCHING&lt;/b&gt; (split a message in multiple submessages) is to explicitly set the PublishSize to a BLANK value (default is 1).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E25054_01/integration.1111/e10231/adptr_propertys.htm"&gt;see doc here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PublishSize&lt;/b&gt;: This property indicates whether the file contains multiple messages and how many messages to publish to the BPEL process at a time. The parameter is of type int and is not mandatory. The default value is 1.&lt;br /&gt;&lt;br /&gt;For example, if a certain file has 11 records and this parameter is set to 2, then the file will be processed 2 records at a time and the final record will be processed in the sixth iteration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pay attention to the &lt;b&gt;JCA file&lt;/b&gt;, the PublishSize can be nested there.&lt;br /&gt;Look in the &lt;b&gt;nXSD file&lt;/b&gt;, there can be a nxsd:publishSize clause, set it to "" (an empty string)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the logs, per each batch element you will see a separate invocation to the translator:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;Invoking inbound translation for : PuO20111212_164122_1640.txt&lt;br /&gt;InboundTranslatorDelegate:: Ordinary DOM Created&lt;br /&gt;Completed inbound translation for : PuO20111212_164122_1640.txt&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Classes to monitor:&lt;br /&gt;&lt;br /&gt;oracle.tip.pc.services.translation.xlators.nxsd.&lt;b&gt;NXSDTranslatorImpl&lt;/b&gt;&lt;br /&gt;(method xlator.translateFromNative(in, res, xlationCtx))&lt;br /&gt;&lt;br /&gt;oracle.tip.adapter.file.inbound.&lt;b&gt;ProcessorDelegate&lt;/b&gt;&lt;br /&gt;(ProcessorDelegate.process(FileInfo) and does a doXlate)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;oracle.tip.adapter.file.inbound.&lt;b&gt;FileActivationSpec&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;see also &lt;a href="http://javatoolsforweblogic.googlecode.com/svn/trunk/nxsd/Translate.java"&gt;http://javatoolsforweblogic.googlecode.com/svn/trunk/nxsd/Translate.java&lt;/a&gt; for how to invoke the NXSDTranslatorImpl from CLI&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2263368809959508953?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2263368809959508953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2263368809959508953&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2263368809959508953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2263368809959508953'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/disabling-debatching-in-oracle-jca-file.html' title='Disabling debatching in Oracle JCA File Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6960582348639256945</id><published>2011-12-26T23:51:00.002Z</published><updated>2011-12-27T00:01:12.499Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><category scheme='http://www.blogger.com/atom/ns#' term='aspectj'/><title type='text'>WebLogic and AspectJ</title><content type='html'>Zillions of times I have wished in my life to be able to tell which methods are being executed in an application deployed in WLS, and the values of the parameters and return values. Call it "tracing method execution in weblogic".&lt;br /&gt;If no debug statements exist in the WLS code or in the application, the only way is to weave the classes with some AOP product.&lt;br /&gt;&lt;br /&gt;So here I go:&lt;br /&gt;&lt;br /&gt;download AspectJ 1.7 http://www.eclipse.org/aspectj/&lt;br /&gt;&lt;br /&gt;download WLS 12 http://www.oracle.com/technetwork/middleware/ias/downloads/wls-main-097127.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;about load-time weaving with a premain function using javaagent&lt;br /&gt;&lt;a href="http://www.eclipse.org/aspectj/doc/next/devguide/ltw-configuration.html"&gt;http://www.eclipse.org/aspectj/doc/next/devguide/ltw-configuration.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In setDomainEnv there is a property JAVA_PROFILE&lt;br /&gt;I set it to &lt;br /&gt;-javaagent:C:/apps/aspectj/lib/aspectjweaver.jar &lt;br /&gt;&lt;br /&gt;after checking the WLS classpath, I see that the . directory (C:\Oracle\Middleware\user_projects\domains\base_domain) is in the classpath (because I have a System Variable CLASSPATH=.)&lt;br /&gt;I create then a C:\Oracle\Middleware\user_projects\domains\base_domain\META-INF\aop.xml file where I define an INLINE ASPECT (no need to precompile separately with ajc):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is the aspect, to be compiled and put in the classpath (you will need to add the AspectJ jars to the Eclipse project)&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;package com.pierre.aop;&lt;br /&gt;import org.aspectj.lang.JoinPoint;&lt;br /&gt;import org.aspectj.lang.annotation.Aspect;&lt;br /&gt;import org.aspectj.lang.annotation.Before;&lt;br /&gt;import org.aspectj.lang.annotation.Pointcut;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Aspect&lt;br /&gt;public abstract class AbstractAspect {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Before("execution(* *(..))")&lt;br /&gt;public void before(JoinPoint jp) {&lt;br /&gt;System.out.println("CIAOOOOO");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Pointcut("execution(public * *(..))")&lt;br /&gt;public void anyPublicOperation() {&lt;br /&gt;System.out.println("anyPublicOperation");&lt;br /&gt;} &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and this is the aop.xml:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;aspectj&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;aspects&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- define a concrete aspect inline --&amp;gt;&lt;br /&gt;&amp;lt;concrete-aspect name="com.pierre.aop.MyTracing" extends="com.pierre.aop.AbstractAspect"&amp;gt;&lt;br /&gt;&amp;lt;!--pointcut name="tracingScope" expression="within(com.pierre.*)"/--&amp;gt;&lt;br /&gt;&amp;lt;/concrete-aspect&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Of the set of aspects declared to the weaver&lt;br /&gt;use aspects matching the type pattern "com.pierre..*" for weaving. --&amp;gt;&lt;br /&gt;&amp;lt;include within="com.pierre..*"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/aspects&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;weaver options="-verbose"&amp;gt;&lt;br /&gt;&amp;lt;!-- Weave types that are within the javax.* or org.aspectj.*&lt;br /&gt;packages. Also weave all types in the foo package that do&lt;br /&gt;not have the @NoWeave annotation. --&amp;gt;&lt;br /&gt;&amp;lt;include within="com.pierre.*"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Dump all types within the "somepack" package,&lt;br /&gt;both before are after they are woven,&lt;br /&gt;to the "./_ajdump" folder on disk (for diagnostic purposes) --&amp;gt;&lt;br /&gt;&amp;lt;dump within="com.pierre.*" /&amp;gt;&lt;br /&gt;&amp;lt;/weaver&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/aspectj&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;for some reasons, it doesn't work....&lt;br /&gt;I can see in the stdout:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;[JspClassLoader@72d4e5] info AspectJ Weaver Version 1.7.0.M1 built on Friday Dec 16, 2011 at 16:56:09 GMT&lt;br /&gt;[JspClassLoader@72d4e5] info register classloader weblogic.servlet.jsp.JspClassLoader@72d4e5&lt;br /&gt;[JspClassLoader@72d4e5] info using configuration /C:/Oracle/Middleware/user_projects/domains/base_domain/META-INF/aop.xml&lt;br /&gt;[JspClassLoader@72d4e5] info define aspect com.pierre.aop.MyTracing&lt;br /&gt;[ChangeAwareClassLoader@f45732] info AspectJ Weaver Version 1.7.0.M1 built on Friday Dec 16, 2011 at 16:56:09 GMT&lt;br /&gt;[ChangeAwareClassLoader@f45732] info register classloader weblogic.utils.classloaders.ChangeAwareClassLoader@f45732&lt;br /&gt;[ChangeAwareClassLoader@f45732] info using configuration /C:/Oracle/Middleware/user_projects/domains/base_domain/META-INF/aop.xml&lt;br /&gt;[ChangeAwareClassLoader@f45732] info define aspect com.pierre.aop.MyTracing&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My JSP does:&lt;br /&gt;&lt;br /&gt;AOPCUT aopcut = new AOPCUT();&lt;br /&gt;aopcut.hello("pierre");&lt;br /&gt;&lt;br /&gt;where the AOPCUT class is&lt;br /&gt;&lt;br /&gt;package com.pierre.aop;&lt;br /&gt;&lt;br /&gt;public class AOPCUT {&lt;br /&gt;&lt;br /&gt; public void hello(String message) {&lt;br /&gt;  System.out.println("Hello " + message);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;but the interceptor doesn't get called....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6960582348639256945?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6960582348639256945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6960582348639256945&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6960582348639256945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6960582348639256945'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/weblogic-and-aspectj.html' title='WebLogic and AspectJ'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8411921714084381958</id><published>2011-12-26T15:09:00.002Z</published><updated>2011-12-26T15:11:00.047Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><title type='text'>How to remove (hide) the Wikipedia personal appeal?</title><content type='html'>I have donated money before to Wikipedia, but now I am sick and tired to see the faces for the fathers and mothers founders (at least they could use good looking babes for their campaign!)&lt;br /&gt;&lt;br /&gt;On Firefox, install &lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/"&gt;https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/&lt;/a&gt;&lt;br /&gt;(needs restart)&lt;br /&gt;&lt;br /&gt;To open the Adblock console:&lt;br /&gt;chrome://adblockplus/content/ui/firstRun.xul&lt;br /&gt;&lt;br /&gt;Then by browsing &lt;a href="https://adblockplus.org/forum/viewtopic.php?f=2&amp;t=6347"&gt;https://adblockplus.org/forum/viewtopic.php?f=2&amp;t=6347&lt;/a&gt; I find the right expression for the AdBlock filter:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;/w/index.php?title=*:bannercontroller&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It seems to be working for all Wikipedia regional languages.&lt;br /&gt;&lt;br /&gt;Let me know when they have removed the ad, I will consider giving more money to thanks them for having stopped this torture.&lt;br /&gt;&lt;br /&gt;I hope I am not doing anything illegal with this post!&lt;br /&gt;&lt;br /&gt;Talking about Firefox plugins, I really recommend&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/"&gt;https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/&lt;/a&gt;&lt;br /&gt;to display vertical tabs,&lt;br /&gt;essential if you have a laptop with low vertical resolution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8411921714084381958?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8411921714084381958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8411921714084381958&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8411921714084381958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8411921714084381958'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/how-to-remove-wikipedia-personal-appeal.html' title='How to remove (hide) the Wikipedia personal appeal?'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7817608590807507556</id><published>2011-12-24T19:24:00.000Z</published><updated>2011-12-24T19:24:36.984Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>WebLogic dies on startup: Unable to create a server socket for listening on channel "Default"</title><content type='html'>&lt;i&gt;Unable to create a server socket for listening on channel "Default". The address 10.83.17.84 might be incorrect or another process is&lt;br /&gt;using port 7001: java.net.BindException: Cannot assign requested address: JVM_Bind.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Of course there is no running process who listens on the 7001 port, I have done netstat -a to check...&lt;br /&gt;&lt;br /&gt;It turned out that I have a dynamic IP on my laptop - with hostname pierrepc -  and foolishly I have made an entry in my hosts file saying&lt;br /&gt;&lt;br /&gt;10.83.17.84 pierrepc&lt;br /&gt;&lt;br /&gt;Idiot me! The IP address is not static, so once I get assigned a different IP, WebLogic still tries to use the 10.83.17.84 IP to create a Socket...&lt;br /&gt;&lt;br /&gt;Removing the (foolish) entry from hosts fixed the problem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7817608590807507556?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7817608590807507556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7817608590807507556&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7817608590807507556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7817608590807507556'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/weblogic-dies-on-startup-unable-to.html' title='WebLogic dies on startup: Unable to create a server socket for listening on channel &quot;Default&quot;'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1168276456921257166</id><published>2011-12-24T03:54:00.000Z</published><updated>2011-12-24T03:54:41.165Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>Transport provider with id 'jca' is not registered</title><content type='html'>(guest post, the author is &lt;a href="http://datalinks.nl/wordpress/"&gt;Chris&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;We are using the ant tasks provided by Oracle to build a sbconfig.jar (task exportFromWorkspace).&lt;br /&gt;&lt;br /&gt;Everything worked fine using the common osb artifacts. However for projects where we use JCA adapters we get the following errors when we do a build:&lt;br /&gt;&lt;br /&gt;[java] com.bea.wli.config.component.ValidationException: Validation of BusinessService BLA : Diagnostics for BusinessService BLA 20-Dec-2011 17:04:54      [java] 20-Dec-2011 17:04:54      [java]         ERROR: &amp;lt;0&amp;gt; Transport provider with id 'jca' is not registered. Failed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some Googling taught me that is related to the 64 bit installation of OEPE, I can confirm this as I have built the same artifacts from the same projects on a 32 bits OEPE using the same scripts and they work.&lt;br /&gt;&lt;br /&gt;Articles:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://forums.oracle.com/forums/thread.jspa?messageID=4286722"&gt;https://forums.oracle.com/forums/thread.jspa?messageID=4286722&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://kr.forums.oracle.com/forums/thread.jspa?threadID=1554310"&gt;https://kr.forums.oracle.com/forums/thread.jspa?threadID=1554310&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1168276456921257166?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1168276456921257166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1168276456921257166&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1168276456921257166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1168276456921257166'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/transport-provider-with-id-jca-is-not.html' title='Transport provider with id &apos;jca&apos; is not registered'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8723080493207042112</id><published>2011-12-24T01:57:00.000Z</published><updated>2011-12-24T01:57:00.951Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>WebLogic and Maven</title><content type='html'>Jeff West makes the best presentations around. He is spot on, no blablabla.&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Zm5XkPAnMzY?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Zm5XkPAnMzY?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;to install WebLogic (wow, this is cool!)&lt;br /&gt;mvn wls:install &lt;br /&gt;&lt;br /&gt;to create a domain&lt;br /&gt;mvn wls:create-domain (wow, this is cool!)&lt;br /&gt;&lt;br /&gt;to start the server:&lt;br /&gt;mvn wls:start-server&lt;br /&gt;&lt;br /&gt;to run a wlst script:&lt;br /&gt;mvn wls:wlst &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E21764_01/web.1111/e13702/maven_deployer.htm"&gt;this is a reference&lt;/a&gt; to the preexisting maven plugin for weblogic&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8723080493207042112?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8723080493207042112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8723080493207042112&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8723080493207042112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8723080493207042112'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/weblogic-and-maven.html' title='WebLogic and Maven'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4312928449065166888</id><published>2011-12-24T01:13:00.001Z</published><updated>2011-12-24T01:14:19.288Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>WebLogic system properties</title><content type='html'>There are a number of System Properties (visible for instance with VisualVM) that influence WebLogic behaviour:&lt;br /&gt;&lt;br /&gt;com.sun.xml.ws.api.BindingID.SOAP_12.canGenerateWsdl=true&lt;br /&gt;&lt;br /&gt;com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.woodstox=true&lt;br /&gt;&lt;br /&gt;com.sun.xml.ws.api.streaming.XMLStreamWriterFactory.woodstox=true&lt;br /&gt;&lt;br /&gt;com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace=true&lt;br /&gt;&lt;br /&gt;common.components.home=/home/orauser/bea1035/oracle_common&lt;br /&gt;&lt;br /&gt;domain.home=/home/orauser/bea1035/user_projects/domains/osb_domain&lt;br /&gt;&lt;br /&gt;file.encoding=UTF-8&lt;br /&gt;&lt;br /&gt;file.encoding.pkg=sun.io&lt;br /&gt;&lt;br /&gt;file.separator=/&lt;br /&gt;&lt;br /&gt;igf.arisidbeans.carmlloc=/home/orauser/bea1035/user_projects/domains/osb_domain/config/fmwconfig/carml&lt;br /&gt;&lt;br /&gt;igf.arisidstack.home=/home/orauser/bea1035/user_projects/domains/osb_domain/config/fmwconfig/arisidprovider&lt;br /&gt;&lt;br /&gt;java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment&lt;br /&gt;&lt;br /&gt;java.awt.printerjob=sun.print.PSPrinterJob&lt;br /&gt;&lt;br /&gt;java.class.path=/home/orauser/bea1035/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar::/home/orauser/bea1035/Oracle_OSB1/lib/osb-server-modules-ref.jar:/home/orauser/bea1035/patch_wls1035/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/patch_oepe1050/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/patch_ocp360/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/lib/tools.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/weblogic_sp.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/weblogic.jar:/home/orauser/bea1035/modules/features/weblogic.server.modules_10.3.5.0.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/webservices.jar:/home/orauser/bea1035/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/home/orauser/bea1035/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:/home/orauser/bea1035/Oracle_OSB1/soa/modules/oracle.soa.common.adapters_11.1.1/oracle.soa.common.adapters.jar:/home/orauser/bea1035/oracle_common/modules/oracle.jrf_11.1.1/jrf.jar:/home/orauser/bea1035/Oracle_OSB1/lib/version.jar:/home/orauser/bea1035/Oracle_OSB1/lib/alsb.jar:/home/orauser/bea1035/Oracle_OSB1/3rdparty/lib/j2ssh-ant.jar:/home/orauser/bea1035/Oracle_OSB1/3rdparty/lib/j2ssh-common.jar:/home/orauser/bea1035/Oracle_OSB1/3rdparty/lib/j2ssh-core.jar:/home/orauser/bea1035/Oracle_OSB1/3rdparty/lib/j2ssh-dameon.jar:/home/orauser/bea1035/Oracle_OSB1/3rdparty/classes:/home/orauser/bea1035/Oracle_OSB1/lib/external/log4j_1.2.8.jar:/home/orauser/bea1035/user_projects/domains/osb_domain/config/osb::/home/orauser/bea1035/wlserver_10.3/common/derby/lib/derbynet.jar:/home/orauser/bea1035/wlserver_10.3/common/derby/lib/derbyclient.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/xqrl.jar:/home/orauser/bea1035/patch_wls1035/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/patch_oepe1050/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/patch_ocp360/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/lib/tools.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/weblogic_sp.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/weblogic.jar:/home/orauser/bea1035/modules/features/weblogic.server.modules_10.3.5.0.jar:/home/orauser/bea1035/wlserver_10.3/server/lib/webservices.jar:/home/orauser/bea1035/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/home/orauser/bea1035/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/home/orauser/bea1035&lt;br /&gt;&lt;br /&gt;java.class.version=50.0&lt;br /&gt;&lt;br /&gt;java.endorsed.dirs=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/endorsed&lt;br /&gt;&lt;br /&gt;java.ext.dirs=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/ext&lt;br /&gt;&lt;br /&gt;java.home=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre&lt;br /&gt;&lt;br /&gt;java.io.tmpdir=/tmp&lt;br /&gt;&lt;br /&gt;java.library.path=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/i386/jrockit:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/i386:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/../lib/i386:/home/orauser/bea1035/patch_wls1035/profiles/default/native:/home/orauser/bea1035/patch_oepe1050/profiles/default/native:/home/orauser/bea1035/patch_ocp360/profiles/default/native:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/i386/jrockit:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/i386:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/../lib/i386:/home/orauser/bea1035/patch_wls1035/profiles/default/native:/home/orauser/bea1035/patch_oepe1050/profiles/default/native:/home/orauser/bea1035/patch_ocp360/profiles/default/native:/home/orauser/bea1035/wlserver_10.3/server/native/linux/i686:/home/orauser/bea1035/wlserver_10.3/server/native/linux/i686/oci920_8:/home/orauser/bea1035/wlserver_10.3/server/native/linux/i686:/home/orauser/bea1035/wlserver_10.3/server/native/linux/i686/oci920_8&lt;br /&gt;&lt;br /&gt;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory&lt;br /&gt;&lt;br /&gt;java.naming.factory.url.pkgs=weblogic.jndi.factories:weblogic.corba.j2ee.naming.url:weblogic.jndi.factories:weblogic.corba.j2ee.naming.url&lt;br /&gt;&lt;br /&gt;java.protocol.handler.pkgs=oracle.mds.net.protocol|weblogic.net|weblogic.utils|weblogic.utils|weblogic.utils|com.bea.wli.sb.resources.url&lt;br /&gt;&lt;br /&gt;java.rmi.server.randomIDs=true&lt;br /&gt;&lt;br /&gt;java.runtime.name=Java(TM) SE Runtime Environment&lt;br /&gt;&lt;br /&gt;java.runtime.version=1.6.0_24-b07&lt;br /&gt;&lt;br /&gt;java.security.policy=/home/orauser/bea1035/wlserver_10.3/server/lib/weblogic.policy&lt;br /&gt;&lt;br /&gt;java.specification.name=Java Platform API Specification&lt;br /&gt;&lt;br /&gt;java.specification.vendor=Sun Microsystems Inc. &lt;br /&gt;&lt;br /&gt;java.specification.version=1.6&lt;br /&gt;&lt;br /&gt;java.vendor=Oracle Corporation&lt;br /&gt;&lt;br /&gt;java.vendor.url=http://www.oracle.com/&lt;br /&gt;&lt;br /&gt;java.vendor.url.bug=http://download.oracle.com/docs/cd/E15289_01/go2troubleshooting.html&lt;br /&gt;&lt;br /&gt;java.version=1.6.0_24&lt;br /&gt;&lt;br /&gt;java.vm.info=compiled mode&lt;br /&gt;&lt;br /&gt;java.vm.name=Oracle JRockit(R)&lt;br /&gt;&lt;br /&gt;java.vm.specification.name=Java Virtual Machine Specification&lt;br /&gt;&lt;br /&gt;java.vm.specification.vendor=Sun Microsystems Inc.&lt;br /&gt;&lt;br /&gt;java.vm.specification.version=1.0&lt;br /&gt;&lt;br /&gt;java.vm.vendor=Oracle Corporation&lt;br /&gt;&lt;br /&gt;java.vm.vendor.url=http://www.oracle.com/&lt;br /&gt;&lt;br /&gt;java.vm.vendor.url.bug=http://download.oracle.com/docs/cd/E15289_01/go2troubleshooting.html&lt;br /&gt;&lt;br /&gt;java.vm.version=R28.1.3-11-141760-1.6.0_24-20110301-1430-linux-ia32&lt;br /&gt;&lt;br /&gt;javax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder&lt;br /&gt;&lt;br /&gt;javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDelegateImpl&lt;br /&gt;&lt;br /&gt;javax.rmi.CORBA.UtilClass=weblogic.iiop.UtilDelegateImpl&lt;br /&gt;&lt;br /&gt;javax.xml.rpc.ServiceFactory=weblogic.webservice.core.rpc.ServiceFactoryImpl&lt;br /&gt;&lt;br /&gt;javax.xml.soap.MessageFactory=weblogic.webservice.core.soap.MessageFactoryImpl&lt;br /&gt;&lt;br /&gt;jrf.version=11.1.1&lt;br /&gt;&lt;br /&gt;jrockit.optfile=/home/orauser/bea1035/oracle_common/modules/oracle.jrf_11.1.1/jrocket_optfile.txt&lt;br /&gt;&lt;br /&gt;kernel.download.enabled=false&lt;br /&gt;&lt;br /&gt;line.separator=\n&lt;br /&gt;&lt;br /&gt;oracle.core.ojdl.logging.applicationcontextprovider=oracle.core.ojdl.logging.WlsApplicationContextImpl&lt;br /&gt;&lt;br /&gt;oracle.core.ojdl.logging.componentId=ms1&lt;br /&gt;&lt;br /&gt;oracle.core.ojdl.logging.usercontextprovider=oracle.core.ojdl.logging.WlsUserContextImpl&lt;br /&gt;&lt;br /&gt;oracle.deployed.app.dir=/home/orauser/bea1035/user_projects/domains/osb_domain/servers/ms1/tmp/_WL_user&lt;br /&gt;&lt;br /&gt;oracle.deployed.app.ext=/-&lt;br /&gt;&lt;br /&gt;oracle.domain.config.dir=/home/orauser/bea1035/user_projects/domains/osb_domain/config/fmwconfig&lt;br /&gt;&lt;br /&gt;oracle.security.jps.config=/home/orauser/bea1035/user_projects/domains/osb_domain/config/fmwconfig/jps-config.xml&lt;br /&gt;&lt;br /&gt;oracle.server.config.dir=/home/orauser/bea1035/user_projects/domains/osb_domain/config/fmwconfig/servers/ms1&lt;br /&gt;&lt;br /&gt;org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger&lt;br /&gt;&lt;br /&gt;org.omg.CORBA.ORBClass=weblogic.corba.orb.ORB&lt;br /&gt;&lt;br /&gt;org.omg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB&lt;br /&gt;&lt;br /&gt;org.xml.sax.driver=weblogic.xml.jaxp.RegistryXMLReader&lt;br /&gt;&lt;br /&gt;org.xml.sax.parser=weblogic.xml.jaxp.RegistryParser&lt;br /&gt;&lt;br /&gt;os.arch=i386&lt;br /&gt;&lt;br /&gt;os.name=Linux&lt;br /&gt;&lt;br /&gt;os.version=3.0.0-12-generic&lt;br /&gt;&lt;br /&gt;path.separator=:&lt;br /&gt;&lt;br /&gt;platform.home=/home/orauser/bea1035/wlserver_10.3&lt;br /&gt;&lt;br /&gt;sun.arch.data.model=32&lt;br /&gt;&lt;br /&gt;sun.boot.class.path=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/resources.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/rt.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/sunrsasign.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/jsse.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/jce.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/charsets.jar:/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/classes&lt;br /&gt;&lt;br /&gt;sun.boot.library.path=/home/orauser/bea1035/jrockit_160_24_D1.1.2-4/jre/lib/i386&lt;br /&gt;&lt;br /&gt;sun.cpu.endian=little&lt;br /&gt;&lt;br /&gt;sun.cpu.isalist=&lt;br /&gt;&lt;br /&gt;sun.desktop=gnome&lt;br /&gt;&lt;br /&gt;sun.io.unicode.encoding=UnicodeLittle&lt;br /&gt;&lt;br /&gt;sun.java.launcher=SUN_STANDARD&lt;br /&gt;&lt;br /&gt;sun.jnu.encoding=UTF-8&lt;br /&gt;&lt;br /&gt;sun.management.compiler=Oracle JRockit(R) Optimizing Compiler&lt;br /&gt;&lt;br /&gt;sun.os.patch.level=unknown&lt;br /&gt;&lt;br /&gt;user.country=GB&lt;br /&gt;&lt;br /&gt;user.dir=/home/orauser/bea1035/user_projects/domains/osb_domain&lt;br /&gt;&lt;br /&gt;user.home=/home/orauser&lt;br /&gt;&lt;br /&gt;user.language=en&lt;br /&gt;&lt;br /&gt;user.name=orauser&lt;br /&gt;&lt;br /&gt;user.timezone=Europe/London&lt;br /&gt;&lt;br /&gt;vde.home=/home/orauser/bea1035/user_projects/domains/osb_domain/servers/ms1/data/ldap&lt;br /&gt;&lt;br /&gt;weblogic.Name=ms1&lt;br /&gt;&lt;br /&gt;weblogic.ProductionModeEnabled=true&lt;br /&gt;&lt;br /&gt;weblogic.ReverseDNSAllowed=false&lt;br /&gt;&lt;br /&gt;weblogic.alternateTypesDirectory=/home/orauser/bea1035/oracle_common/modules/oracle.ossoiap_11.1.1,/home/orauser/bea1035/oracle_common/modules/oracle.oamprovider_11.1.1&lt;br /&gt;&lt;br /&gt;weblogic.classloader.preprocessor=weblogic.diagnostics.instrumentation.DiagnosticClassPreProcessor&lt;br /&gt;&lt;br /&gt;weblogic.ext.dirs=/home/orauser/bea1035/patch_wls1035/profiles/default/sysext_manifest_classpath:/home/orauser/bea1035/patch_oepe1050/profiles/default/sysext_manifest_classpath:/home/orauser/bea1035/patch_ocp360/profiles/default/sysext_manifest_classpath&lt;br /&gt;&lt;br /&gt;weblogic.home=/home/orauser/bea1035/wlserver_10.3/server&lt;br /&gt;&lt;br /&gt;weblogic.jdbc.remoteEnabled=false&lt;br /&gt;&lt;br /&gt;weblogic.management.discover=false&lt;br /&gt;&lt;br /&gt;weblogic.management.server=http://192.168.230.130:7001&lt;br /&gt;&lt;br /&gt;weblogic.nodemanager.ServiceEnabled=true&lt;br /&gt;&lt;br /&gt;weblogic.security.SSL.ignoreHostnameVerification=false&lt;br /&gt;&lt;br /&gt;weblogic.security.TrustKeyStore=DemoTrust&lt;br /&gt;&lt;br /&gt;weblogic.system.BootIdentityFile=/home/orauser/bea1035/user_projects/domains/osb_domain/servers/ms1/data/nodemanager/boot.properties&lt;br /&gt;&lt;br /&gt;wls.home=/home/orauser/bea1035/wlserver_10.3/server&lt;br /&gt;&lt;br /&gt;wlw.iterativeDev=false&lt;br /&gt;&lt;br /&gt;wlw.logErrorsToConsole=false&lt;br /&gt;&lt;br /&gt;wlw.testConsole=false&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4312928449065166888?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4312928449065166888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4312928449065166888&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4312928449065166888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4312928449065166888'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/weblogic-system-properties.html' title='WebLogic system properties'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6871285391582738797</id><published>2011-12-22T22:03:00.001Z</published><updated>2011-12-22T22:04:18.328Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gridcontrol'/><category scheme='http://www.blogger.com/atom/ns#' term='enterpriseManager'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>BPEL and OSB Monitoring with Enterprise Manager Grid Control</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://www.packtpub.com/bpel-pm-osb-operational-management-with-oracle-enterprise-manager-10g-grid-control/book" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="257" src="http://2.bp.blogspot.com/-RsRs_4Jh9rY/TvNYnkTCaeI/AAAAAAAAAyk/OnahVGUoFkE/s320/BPELANDOSBMONITORINGCapture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The books shows some use cases of monitoring and provisioning OSB projects with Enterprise Manager Grid Control&lt;br /&gt;&lt;br /&gt;Here the official Oracle documentation:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E11857_01/install.111/e17558/disc_mon_osb.htm"&gt;http://docs.oracle.com/cd/E11857_01/install.111/e17558/disc_mon_osb.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6871285391582738797?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6871285391582738797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6871285391582738797&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6871285391582738797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6871285391582738797'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/bpel-and-osb-monitoring-with-enterprise.html' title='BPEL and OSB Monitoring with Enterprise Manager Grid Control'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-RsRs_4Jh9rY/TvNYnkTCaeI/AAAAAAAAAyk/OnahVGUoFkE/s72-c/BPELANDOSBMONITORINGCapture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3299608039441803190</id><published>2011-12-22T20:39:00.000Z</published><updated>2011-12-22T20:39:41.105Z</updated><title type='text'>A SOA Expert is...</title><content type='html'>An expert is a person who has made all the mistakes that can be made in a very narrow field.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Niels_Bohr"&gt;Niels Bohr&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Danish physicist (1885 - 1962)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3299608039441803190?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3299608039441803190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3299608039441803190&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3299608039441803190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3299608039441803190'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/soa-expert-is.html' title='A SOA Expert is...'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5866680569167064994</id><published>2011-12-19T14:40:00.004Z</published><updated>2011-12-19T14:42:21.604Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XQuery'/><title type='text'>XQuery: how to chain (concat) 2 elements</title><content type='html'>curly braces will do the job:&lt;br /&gt;&lt;br /&gt;let $a := &amp;lt;a&amp;gt;bla&amp;lt;/a&amp;gt;&lt;br /&gt;let $b := &amp;lt;b&amp;gt;blu&amp;lt;/b&amp;gt;&lt;br /&gt;&lt;br /&gt;return { $a, $b }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;will return&lt;br /&gt;&amp;lt;a&amp;gt;bla&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;b&amp;gt;blu&amp;lt;/b&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5866680569167064994?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5866680569167064994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5866680569167064994&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5866680569167064994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5866680569167064994'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/xquery-how-to-chain-concat-2-elements.html' title='XQuery: how to chain (concat) 2 elements'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6446296446250948817</id><published>2011-12-19T09:46:00.000Z</published><updated>2011-12-19T09:46:48.114Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='customXpath'/><title type='text'>Custom XPath libraries</title><content type='html'>&lt;a href="http://code.google.com/p/soalabs/"&gt;http://code.google.com/p/soalabs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We thank again Sandeep Phukan (&lt;a href="http://www.javamonamour.org/2011/10/scrawler-dependency-analysis-for-soa.html"&gt;we wrote about him here&lt;/a&gt;) for his excellent library of Custom XPath functions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/soalabs/wiki/CustomXPathFunctionsForOSB11g"&gt;Here his wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6446296446250948817?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6446296446250948817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6446296446250948817&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6446296446250948817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6446296446250948817'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/custom-xpath-libraries.html' title='Custom XPath libraries'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7789287587648409521</id><published>2011-12-18T22:31:00.001Z</published><updated>2011-12-18T22:32:33.363Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Oracle Enterprise Manager 10g Grid Control Handbook</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.amazon.com/Oracle-Enterprise-Manager-Control-Handbook/dp/0071634223" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="300" src="http://1.bp.blogspot.com/-KzSoWl6yzO0/Tu5pgEWUzwI/AAAAAAAAAyU/_P4MlsXAKP8/s320/oemgc.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;reading right now.... quite interesting.... from one of the main contributors to the Grid Control product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7789287587648409521?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7789287587648409521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7789287587648409521&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7789287587648409521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7789287587648409521'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/oracle-enterprise-manager-10g-grid.html' title='Oracle Enterprise Manager 10g Grid Control Handbook'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-KzSoWl6yzO0/Tu5pgEWUzwI/AAAAAAAAAyU/_P4MlsXAKP8/s72-c/oemgc.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1485157572070170745</id><published>2011-12-18T21:58:00.000Z</published><updated>2011-12-18T21:58:08.753Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gridcontrol'/><title type='text'>Grid Control: ORACLE_MIDDLEWARE_HOME_LOCATION subdirectory already exists</title><content type='html'>I have tried everything to install Grid Control.&lt;br /&gt;I have also tried to "show empty homes" and remove them: it hangs forever and in the log C:\bea11\oracle_common\cfgtoollogs\cfgfw\CfmLogger_2011-12-18_04-17-32-PM.log it shows:&lt;br /&gt;&lt;br /&gt;WARNING: Validation of XML schema is disabled because AggregateDescriptions.xsd could not be found&lt;br /&gt;INFO: Creating new CFM connection&lt;br /&gt;WARNING: A CfwClient was destroyed without a proper call to disconnect!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hF-MWcV0J5E/Tu5hy1wbj5I/AAAAAAAAAyI/xbHX9_kCLlU/s1600/stuckCapture.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="317" src="http://3.bp.blogspot.com/-hF-MWcV0J5E/Tu5hy1wbj5I/AAAAAAAAAyI/xbHX9_kCLlU/s320/stuckCapture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I will start again tomorrow.... but.... what a battle to install Grid Control...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1485157572070170745?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1485157572070170745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1485157572070170745&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1485157572070170745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1485157572070170745'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/grid-control-oraclemiddlewarehomelocati.html' title='Grid Control: ORACLE_MIDDLEWARE_HOME_LOCATION subdirectory already exists'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hF-MWcV0J5E/Tu5hy1wbj5I/AAAAAAAAAyI/xbHX9_kCLlU/s72-c/stuckCapture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1658947333051251149</id><published>2011-12-18T10:36:00.010Z</published><updated>2012-02-06T20:36:52.134Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='latinorum'/><title type='text'>Latinorum</title><content type='html'>This is an evolving post... it's a collection of posh-"sounds-so-difficult" names for old, well known stuff.&lt;br /&gt;&lt;br /&gt;The more difficult we talk, the more people will worship us as gurus and we can avoid any actual physical work and we can avoid having to ACTUALLY solve problems.&lt;br /&gt;This was a common practice in the Middle Ages, professionals (doctors, lawyers, priests) would put enormous energies into learning Latin, so that nobody could understand what they were saying.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JAlN7P5_UkE/Tu3CrnNm4YI/AAAAAAAAAx8/4sxU4b_IbZE/s1600/Hieronymus_Bosch.jpg" imageanchor="1"&gt;&lt;img border="0" height="303" src="http://4.bp.blogspot.com/-JAlN7P5_UkE/Tu3CrnNm4YI/AAAAAAAAAx8/4sxU4b_IbZE/s320/Hieronymus_Bosch.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Synthetic transactions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;http://www.nextslm.org/fishman.html#synthetic&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Synthetic transactions are a way to check the availability of an application across a network. By definition, a synthetic transaction constitutes an automated, self-contained set of user operations that can be executed against a service in the same way a real consumer of the service operates an application. For example, on the Internet, a synthetic transaction includes a script that goes a stock trading site, tries to look up a stock's price or portfolio valuation, and reports if the series of operations completed successfully. In other words, any fixed set of user operations that can be automated reliably may be defined as a synthetic transactions.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;"Synthetic" sounds like Alien technology, something that only Extraterrestrial intelligences can master.... cool!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hydrate&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/4929243/clarifying-terminology-hydrating-an-entity-fetching-properties-from-the-db"&gt;http://stackoverflow.com/questions/4929243/clarifying-terminology-hydrating-an-entity-fetching-properties-from-the-db&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hydrate is being used (often incorrectly) instead of the well known "populate" or "persist"... again, its association to a Chemistry term evokes a world of knowledge available only to few specialists...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Agile&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hbUE3TeCOqk/TvOeQJwRsMI/AAAAAAAAAzI/-yLSRm1omYA/s1600/lapin-agile-2.jpg" imageanchor="1"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-hbUE3TeCOqk/TvOeQJwRsMI/AAAAAAAAAzI/-yLSRm1omYA/s320/lapin-agile-2.jpg" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I have been doing Agile for the first 10 years of my career, when I was coding for food... we were working on VERY tight budgets and even tighter deadlines.... we used to call it "get your fat stinky ass off that chair, work harder, when stuck raise a flag and get things done". It used to work like wonders, and we were delivering at least 10 times faster&lt;br /&gt;than any corporate project I have ever seen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Stakeholder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rUh6vq7QlQY/TvOcgHOewVI/AAAAAAAAAyw/nqyuqNM8xAA/s1600/stakeholder.jpg" imageanchor="1"&gt;&lt;img border="0" height="256" src="http://4.bp.blogspot.com/-rUh6vq7QlQY/TvOcgHOewVI/AAAAAAAAAyw/nqyuqNM8xAA/s320/stakeholder.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As &lt;a href="http://www.pmhut.com/what-is-stakeholder-analysis-and-why-should-you-do-it"&gt;defined here&lt;/a&gt;, "stakeholder is anyone who will make use of, develop, or have an impact on any aspect of your project". It sounds sooooo much cooler than "people concerned" !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Semantics&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Some people say "the language doesn't have the SEMANTICS to do this".&lt;br /&gt;Here an &lt;a href="http://www.eecs.umich.edu/%7Erthomaso/documents/general/what-is-semantics.html"&gt;very clear definition of SEMANTICS&lt;/a&gt;:&lt;br /&gt;&lt;i&gt;"Semantics is the study of the meaning of linguistic expressions."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Probably if they used "the capability" or "the API" they would be more.... semantically correct!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-s7MhFPB6PXU/Tv4_Y8aOiRI/AAAAAAAAAzg/ldi8MmRFYXY/s1600/semanticsfail.jpg" imageanchor="1"&gt;&lt;img border="0" height="220" src="http://2.bp.blogspot.com/-s7MhFPB6PXU/Tv4_Y8aOiRI/AAAAAAAAAzg/ldi8MmRFYXY/s320/semanticsfail.jpg" width="229" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Patterns&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Let's give the word credits: Patterns is an excellent sound bite, with the &lt;a href="http://en.wikipedia.org/wiki/Voiceless_bilabial_plosive"&gt;voiceless bilabial plosive&lt;/a&gt; "P" at the beginning sending your opponent to the ground.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tg5CyHpKhX4/TzA50_7rycI/AAAAAAAAA28/NVncS3kFLAs/s1600/images.jpg" imageanchor="1"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-tg5CyHpKhX4/TzA50_7rycI/AAAAAAAAA28/NVncS3kFLAs/s1600/images.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whenever in a discussion someone starts swaying the "Pattern" story around like &lt;a href="http://en.wikipedia.org/wiki/Samson"&gt;Samson the ass jawbone&lt;/a&gt;- maybe because he is the only person who has actually learned by heart the entire index of the &lt;a href="http://en.wikipedia.org/wiki/Design_Patterns"&gt;GoF book&lt;/a&gt; - I wonder "is this man trying to COMMUNICATE, or to INTIMIDATE?".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1658947333051251149?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1658947333051251149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1658947333051251149&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1658947333051251149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1658947333051251149'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/latinorum.html' title='Latinorum'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-JAlN7P5_UkE/Tu3CrnNm4YI/AAAAAAAAAx8/4sxU4b_IbZE/s72-c/Hieronymus_Bosch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-9041746763328198120</id><published>2011-12-17T11:30:00.001Z</published><updated>2011-12-17T11:31:23.077Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='screenrecorder'/><title type='text'>Beware of free screen recorder...</title><content type='html'>Googling for "free screen recorder" I have stumbled upon&lt;br /&gt;&lt;br /&gt;&lt;a href="http://freescreenrecorder.net/"&gt;http://freescreenrecorder.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BEWARE: It tries to install Babylon on your machine (I simply hate Babylon, for having been their customer and having been harassed multiple times by their policy to revoke your license if you install it on a different PC.... I change computer every 3 months, so you can imagine....)...&lt;br /&gt;&lt;br /&gt;and it also fails to download the rest of the program.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here &lt;a href="http://www.webresourcesdepot.com/10-free-screen-recording-softwares-for-creating-attractive-screencasts/"&gt;http://www.webresourcesdepot.com/10-free-screen-recording-softwares-for-creating-attractive-screencasts/&lt;/a&gt;  you get a large list of "certified" free or paying screen recording software...  never install anything which has not been reviewed by peers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I used to use CamStudio but I really miss the ability to zoom.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-9041746763328198120?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/9041746763328198120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=9041746763328198120&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9041746763328198120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/9041746763328198120'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/beware-of-free-screen-recorder.html' title='Beware of free screen recorder...'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5866080159978538447</id><published>2011-12-16T21:38:00.001Z</published><updated>2011-12-16T21:40:36.834Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='coherence'/><title type='text'>JPA using Coherence as Level 2 Cache</title><content type='html'>quite cool this video on TopLink grid with COH in WL Cluster.&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px;"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eYgVYLey5Fg?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/eYgVYLey5Fg?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Coherence can cache DB data in a cluster-wide manner&lt;/li&gt;&lt;li&gt;Grid Cache mode uses Coherence to cache (read-through) objects by ID&lt;/li&gt;&lt;li&gt;Grid Read mode turns JPQL queries into COH Grid queries&lt;/li&gt;&lt;li&gt;Grid Entity mode supports read and writes directly into the Cache&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Grid Entity can be tricky, because updates are asynchronous and they could fail, leaving the cache out of sync with the DB.&lt;br /&gt;&lt;br /&gt;Recommended model: &lt;br /&gt;Out-Of-Process, COH is in a different JVM as the Application Server.&lt;br /&gt;&lt;br /&gt;In-Process: everything in the same JVM. Good only for development.&lt;br /&gt;&lt;br /&gt;Mixed model (some data in near-cache, some in far-cache) can be useful in some applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Second part:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ket7aGKKa5g?version=3&amp;feature=player_detailpage"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Ket7aGKKa5g?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;it's quite cool, it shows how to create a COH cluster and server, how to configure a WL server for COH. It gives an example of a Grid Entity mode to offload DB writes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here the example &lt;br /&gt;&lt;a href="http://blogs.oracle.com/jeffwest/entry/introducing_the_oracle_parcel_serviceexamplereference_application"&gt;http://blogs.oracle.com/jeffwest/entry/introducing_the_oracle_parcel_serviceexamplereference_application&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and the code is on SVN at https://svn.java.net/svn/oracle-pacel-svc~ops-r3-ee6 &lt;br /&gt;&lt;br /&gt;COOL!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5866080159978538447?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5866080159978538447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5866080159978538447&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5866080159978538447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5866080159978538447'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/jpa-using-coherence-and-level-2-cache.html' title='JPA using Coherence as Level 2 Cache'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1297615063026700007</id><published>2011-12-16T20:27:00.003Z</published><updated>2011-12-21T12:49:02.278Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Book: Enterprise Manager Grid Control 11g</title><content type='html'>Oracle Enterprise Manager Grid Control 11g R1: Business Service Management&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.packtpub.com/oracle-enterprise-manager-grid-control-11g-r1/book"&gt;https://www.packtpub.com/oracle-enterprise-manager-grid-control-11g-r1/book&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9xqbLLOMxzA/TutfetlqJcI/AAAAAAAAAxM/wRN42G7eIns/s1600/Capture.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="253" src="http://2.bp.blogspot.com/-9xqbLLOMxzA/TutfetlqJcI/AAAAAAAAAxM/wRN42G7eIns/s320/Capture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Chapter 1.... just skip it, it's blablabla&lt;br /&gt;&lt;br /&gt;Chapter 2: OEB DB Control, AS Control, FMW Control, Grid Control. Management Agent. &lt;br /&gt;Monitoring of Targets and Performances.&lt;br /&gt;&lt;br /&gt;at Chapter 3 I gave up... .on the whole I find that the official Oracle documentation uses a simpler and more concise language. &lt;br /&gt;From a technical book I expect some real customer stories, some use cases, a more colloquial and entertaining language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1297615063026700007?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1297615063026700007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1297615063026700007&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1297615063026700007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1297615063026700007'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/book-enterprise-manager-grid-control.html' title='Book: Enterprise Manager Grid Control 11g'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9xqbLLOMxzA/TutfetlqJcI/AAAAAAAAAxM/wRN42G7eIns/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3986344684336508760</id><published>2011-12-16T20:05:00.001Z</published><updated>2011-12-16T20:06:02.546Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='vbox'/><title type='text'>oracle virtual box soa suite : memory for crash kernel (0x0 to 0x0) not within permissible range</title><content type='html'>If your Oracle Linux VirtualBox doesn't start, and shows a&lt;br /&gt;"memory for crash kernel (0x0 to 0x0) not within permissible range" error (in reality it's only a warning, and presumably not the cause for the crash),&lt;br /&gt;&lt;br /&gt;you can either cry, or (see &lt;a href="http://blogs.oracle.com/reynolds/entry/using_the_soa-bpm_virtualbox_a"&gt;http://blogs.oracle.com/reynolds/entry/using_the_soa-bpm_virtualbox_a&lt;/a&gt; ) &lt;b&gt;Enable IO APIC&lt;/b&gt; handler.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-MFRqGhfoOj4/TuukcahJwGI/AAAAAAAAAxw/J3oU8hrXhDM/s1600/Capture.JPG" imageanchor="1"&gt;&lt;img border="0" height="475" src="http://4.bp.blogspot.com/-MFRqGhfoOj4/TuukcahJwGI/AAAAAAAAAxw/J3oU8hrXhDM/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3986344684336508760?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3986344684336508760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3986344684336508760&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3986344684336508760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3986344684336508760'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/oracle-virtual-box-soa-suite-memory-for.html' title='oracle virtual box soa suite : memory for crash kernel (0x0 to 0x0) not within permissible range'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-MFRqGhfoOj4/TuukcahJwGI/AAAAAAAAAxw/J3oU8hrXhDM/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5107303104029324154</id><published>2011-12-16T18:24:00.000Z</published><updated>2011-12-16T18:24:52.591Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OTN'/><title type='text'>Corporal Pierre got promoted today to Sergeant Major on OTN Forum</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-veaEfC_qn9M/TuuMXi6U-1I/AAAAAAAAAxY/C-vUVTWx2zU/s1600/Capture.JPG" imageanchor="1"&gt;&lt;img border="0" height="148" src="http://4.bp.blogspot.com/-veaEfC_qn9M/TuuMXi6U-1I/AAAAAAAAAxY/C-vUVTWx2zU/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;still a VERY long way from GURU:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CCIf626aVP0/TuuMfzwF0pI/AAAAAAAAAxk/5M9E5rRw8U8/s1600/Capture2.JPG" imageanchor="1"&gt;&lt;img border="0" height="291" src="http://2.bp.blogspot.com/-CCIf626aVP0/TuuMfzwF0pI/AAAAAAAAAxk/5M9E5rRw8U8/s320/Capture2.JPG" width="211" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I wonder what you become after 1000000 points.... KING of Oraclavia ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5107303104029324154?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5107303104029324154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5107303104029324154&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5107303104029324154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5107303104029324154'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/corporal-pierre-got-promoted-today-to.html' title='Corporal Pierre got promoted today to Sergeant Major on OTN Forum'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-veaEfC_qn9M/TuuMXi6U-1I/AAAAAAAAAxY/C-vUVTWx2zU/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3394905921388508769</id><published>2011-12-15T08:49:00.000Z</published><updated>2011-12-15T08:49:27.669Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='acknowledgment'/><title type='text'>OSB acknowledging JMS messages part II</title><content type='html'>&lt;a href="http://www.javamonamour.org/2011/11/osb-and-jms-message-acknowledgement.html"&gt;see here my original post&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E17802_01/products/products/jms/javadoc-102a/javax/jms/Session.html"&gt;http://docs.oracle.com/cd/E17802_01/products/products/jms/javadoc-102a/javax/jms/Session.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3 modes of JMS message acknowledge:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;AUTO_ACKNOWLEDGE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;public static final int AUTO_ACKNOWLEDGE&lt;br /&gt;&lt;br /&gt;    With this acknowledgement mode, the session automatically acknowledges a client's receipt of a message when it has either successfully returned from a call to receive or the message listener it has called to process the message successfully returns.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CLIENT_ACKNOWLEDGE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;public static final int CLIENT_ACKNOWLEDGE&lt;br /&gt;&lt;br /&gt;    With this acknowledgement mode, the client acknowledges a message by calling a message's acknowledge method. Acknowledging a message acknowledges all messages that the Session has consumed.&lt;br /&gt;&lt;br /&gt;    When client acknowledgment mode is used, a client may build up a large number of unacknowledged messages while attempting to process them. A JMS provider should provide administrators with a way to limit client over-run so that clients are not driven to resource exhaustion and ensuing failure when some resource they are using is temporarily blocked.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DUPS_OK_ACKNOWLEDGE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;public static final int DUPS_OK_ACKNOWLEDGE&lt;br /&gt;&lt;br /&gt;    This acknowledgement mode instructs the session to lazily acknowledge the delivery of messages. This is likely to result in the delivery of some duplicate messages if JMS fails, it should only be used by consumers that are tolerant of duplicate messages. Its benefit is the reduction of session overhead achieved by minimizing the work the session does to prevent duplicates.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My understanding is that AUTO_ACKNOWLEDGE means "ACKNOWLEDGE if the transaction was successful" (default behaviour, unless you "raise error" in OSB).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3394905921388508769?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3394905921388508769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3394905921388508769&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3394905921388508769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3394905921388508769'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-acknowledging-jms-messages-part-ii.html' title='OSB acknowledging JMS messages part II'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8897601065098983549</id><published>2011-12-14T22:27:00.001Z</published><updated>2011-12-14T22:43:29.646Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='transactions'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='jms'/><title type='text'>OSB JMS proxy and "reply with success/reply with failure"</title><content type='html'>I create a PVQueue, override redelivery count = 3 and redelivery delay = 10000&lt;br /&gt;&lt;br /&gt;I consume the messages with a JMS PS, no transaction  required, I use the default JMS XA connection factory weblogic.jms.XAConnectionFactory.&lt;br /&gt;&lt;br /&gt;If I "&lt;b&gt;reply with success&lt;/b&gt;", the JMS message is consumed immediately.&lt;br /&gt;&lt;br /&gt;If I "&lt;b&gt;reply with error&lt;/b&gt;", the JMS message is consumed immediately.&lt;br /&gt;&lt;br /&gt;I set the "Transaction Required" on the Proxy Service, I "reply with error", and the JMS message is consumed immediately.&lt;br /&gt;&lt;br /&gt;In all the above cases, in the Operations/Monitoring tab, I see 1 message and 0 errors for the Proxy.&lt;br /&gt;&lt;br /&gt;I "&lt;b&gt;Raise Error&lt;/b&gt;" and the JMS message is played 4 times (redelivered 3 times + 1 time the first attempt) at 10 seconds interval and then it is consumed and redirected to the Error Destination, where it appears with a JMS_BEA_DeliveryFailureReason=2 and JMSXDeliveryCount=0.&lt;br /&gt;In the Operations/Monitoring tab, I see 4 messages and 4 errors for the Proxy.&lt;br /&gt;&lt;br /&gt;Same as above, without "Transaction Required", and it behaves the same way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8897601065098983549?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8897601065098983549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8897601065098983549&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8897601065098983549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8897601065098983549'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-jms-proxy-and-reply-with.html' title='OSB JMS proxy and &quot;reply with success/reply with failure&quot;'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4662639016998480192</id><published>2011-12-14T21:17:00.001Z</published><updated>2011-12-14T21:19:37.655Z</updated><title type='text'>The Inner Geek is rejoicing....</title><content type='html'>reposting this great post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oraclequirks.blogspot.com/2011/12/to-all-those-old-geeks-out-there.html"&gt;http://oraclequirks.blogspot.com/2011/12/to-all-those-old-geeks-out-there.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;music made by sending commands to a HP scanner over the SCSI interface&lt;br /&gt;&lt;br /&gt;&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/w68qZ8JvBds?feature=player_embedded" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;this is really cool stuff&lt;br /&gt;&lt;br /&gt;(sorry I am an electronic engineer, I have spent 7 years of my life in front of a Digital State Analyzer and Oscilloscope....)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4662639016998480192?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4662639016998480192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4662639016998480192&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4662639016998480192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4662639016998480192'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/inner-geek-is-rejoicing.html' title='The Inner Geek is rejoicing....'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/w68qZ8JvBds/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-594844143060698873</id><published>2011-12-14T20:15:00.004Z</published><updated>2011-12-14T21:27:18.608Z</updated><title type='text'>This is the way the world works</title><content type='html'>IMF stands for &lt;a href="http://en.wikipedia.org/wiki/International_Monetary_Fund"&gt;International Monetary Fund&lt;/a&gt;, of course. Of the two characters in the Tv screen, one is for sure our glorious Pope Ratzinger, the other seems Bush but I am not sure. On the bottom it says "&lt;a href="http://en.wikipedia.org/wiki/World_Bank"&gt;World bank&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;The naked white man might represent the average citizen of the West. His SUV must be parked outside.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-F5ywta3i46Y/TukDioV5Z2I/AAAAAAAAAw8/_jbRZtTv62I/s1600/imf.jpg" imageanchor="1"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-F5ywta3i46Y/TukDioV5Z2I/AAAAAAAAAw8/_jbRZtTv62I/s1600/imf.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-594844143060698873?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/594844143060698873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=594844143060698873&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/594844143060698873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/594844143060698873'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/this-is-way-world-works.html' title='This is the way the world works'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-F5ywta3i46Y/TukDioV5Z2I/AAAAAAAAAw8/_jbRZtTv62I/s72-c/imf.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8419689459048887480</id><published>2011-12-14T14:47:00.000Z</published><updated>2011-12-14T14:47:13.890Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='fault'/><title type='text'>Assigning a value to $fault</title><content type='html'>I was trying to assign a value to $fault in a "Error Reporting" service, to see if the built-in "Report" action could parse the $fault and populate the right fields in the Error Report message.&lt;br /&gt;&lt;br /&gt;This is a sample $fault:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;con:fault xmlns:con="http://www.bea.com/wli/sb/context"&amp;gt;&lt;br /&gt;  &amp;lt;con:errorCode&amp;gt;MYERROR&amp;lt;/con:errorCode&amp;gt;&lt;br /&gt;  &amp;lt;con:reason&amp;gt;MYMESSAGE&amp;lt;/con:reason&amp;gt;&lt;br /&gt;  &amp;lt;con:location&amp;gt;&lt;br /&gt;    &amp;lt;con:node&amp;gt;PipelinePairNode1&amp;lt;/con:node&amp;gt;&lt;br /&gt;    &amp;lt;con:pipeline&amp;gt;PipelinePairNode1_request&amp;lt;/con:pipeline&amp;gt;&lt;br /&gt;    &amp;lt;con:stage&amp;gt;stage1&amp;lt;/con:stage&amp;gt;&lt;br /&gt;    &amp;lt;con:path&amp;gt;request-pipeline&amp;lt;/con:path&amp;gt;&lt;br /&gt;  &amp;lt;/con:location&amp;gt;&lt;br /&gt;&amp;lt;/con:fault&amp;gt;&lt;br /&gt;&lt;/xml&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Unfortunately the $fault variable is meaningful only in the error handler.&lt;br /&gt;If you try to use it in a normal message flow, you get:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Variable name validation failed: The variable "fault" cannot be used here&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8419689459048887480?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8419689459048887480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8419689459048887480&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8419689459048887480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8419689459048887480'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/assigning-value-to-fault.html' title='Assigning a value to $fault'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7726392759772971746</id><published>2011-12-13T12:38:00.001Z</published><updated>2011-12-13T12:38:48.093Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>Using JCA JMS Adapter in OSB</title><content type='html'>[JCATransport:381984]OSB JCA transport does not support adapter type: JMS&lt;br /&gt;&lt;br /&gt;This puts an abrupt end to my adventure :o(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7726392759772971746?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7726392759772971746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7726392759772971746&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7726392759772971746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7726392759772971746'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/using-jca-jms-adapter-in-osb.html' title='Using JCA JMS Adapter in OSB'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-577651446813502989</id><published>2011-12-11T17:25:00.001Z</published><updated>2011-12-11T17:27:48.930Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nxsd'/><title type='text'>Oracle nXSD in action: parsing EDI to XML</title><content type='html'>Schema level options:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/nfb.htm#CIAHDGJI"&gt;http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/nfb.htm#CIAHDGJI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Element level options:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/nfb.htm#CIACIJCF"&gt;http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/nfb.htm#CIACIJCF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;lots of valuable examples here &lt;br /&gt;&lt;a href="http://otndnld.oracle.co.jp/document/products/as10g/101310/doc_cd/integrate.1013/b28994/nfb.htm#BGBBAJFD"&gt;http://otndnld.oracle.co.jp/document/products/as10g/101310/doc_cd/integrate.1013/b28994/nfb.htm#BGBBAJFD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have a EDI document, made by several fixed length segments.&lt;br /&gt;Each segment starts with a fixed label.&lt;br /&gt;Each segment contains multiple fixed length fields.&lt;br /&gt;Segment can appear in groups (sequence of many segments).&lt;br /&gt;Groups can appear multiple times.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson learned:&lt;br /&gt;&lt;br /&gt;* since there is no fixed sequence of segments, you should use this construct&lt;br /&gt;xsd:choice minOccurs="0" maxOccurs="1000"&lt;br /&gt;xsd:element name="ACME0001" type="tns:ACME0001_Type" nxsd:startsWith="ACME0001"&lt;br /&gt;&lt;br /&gt;xsd:element name="ACME0002" type="tns:ACME0002_Type" nxsd:startsWith="ACME0002"&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(using maxOccurs="unbounded" sends the nXSD parser into an infinite loop)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* segments who are not needed, should still be parsed, using a generic element:&lt;br /&gt;&lt;br /&gt;xsd:element name="ACME0001" type="tns:Any1064Block_Type" minOccurs="0" maxOccurs="10" nxsd:startsWith="ACME0001  "&lt;br /&gt;&lt;br /&gt;where Any1064Block_Type is:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;xsd:complexType name="Any1064Block_Type"&amp;gt;&lt;br /&gt;      &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;        &amp;lt;xsd:element name="DATA" type="xsd:string" nxsd:style="fixedLength" nxsd:length="1054"/&amp;gt;&lt;br /&gt;      &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;where 1054 = 1064 (length of the segment)  - length of the "startsWith" element (ACME0001  )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* if the data you are interested in are in the middle of a segment, you can "skip" the initial characters:&lt;br /&gt;&lt;br /&gt;xsd:element name="PONbr" type="xsd:string" minOccurs="1" nxsd:style="fixedLength" nxsd:length="35" &lt;b&gt;nxsd:skip="136"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* you should always consume each segment to its end, maybe using a "FLUFF" element just for the sake of telling the parser to skip data:&lt;br /&gt;&lt;br /&gt;xsd:element name="FLUFF2" type="xsd:string" minOccurs="1" nxsd:style="fixedLength" nxsd:length="883"&lt;br /&gt;&lt;br /&gt;failing to consume a segment to its exact end will stop the parser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-577651446813502989?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/577651446813502989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=577651446813502989&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/577651446813502989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/577651446813502989'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/oracle-nxsd-in-action-parsing-edi-to.html' title='Oracle nXSD in action: parsing EDI to XML'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7295217657664602465</id><published>2011-12-11T14:08:00.004Z</published><updated>2011-12-11T14:47:02.091Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xsd'/><title type='text'>XSD: elements in arbitrary order</title><content type='html'>my situation is that I have child elements which can occur repeatedly in any order:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;root&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;a&amp;gt;bla&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;b&amp;gt;bli&amp;lt;/b&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;b&amp;gt;blo&amp;lt;/b&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;a&amp;gt;blu&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;a&amp;gt;ble&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/root&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Googling around I find this solution:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;xs:complextype mixed="true" name="p"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;xs:choice maxoccurs="unbounded" minoccurs="0"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;xs:element name="a"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;xs:element name="b"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/xs:element&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;&amp;lt;/xs:choice&amp;gt;&lt;br /&gt;&amp;lt;/xs:complextype&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;it seems to work pretty well... &lt;br /&gt;&lt;br /&gt;my wish is that XSD contained a native construct like "anyorder", similar to "sequence" or "choice" or "all"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7295217657664602465?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7295217657664602465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7295217657664602465&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7295217657664602465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7295217657664602465'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/xsd-elements-in-arbitrary-order.html' title='XSD: elements in arbitrary order'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8700991667183515322</id><published>2011-12-08T12:17:00.002Z</published><updated>2011-12-08T12:17:38.033Z</updated><title type='text'>remote desktop connection change password</title><content type='html'>I keep forgetting: it's&lt;br /&gt;&lt;br /&gt;CTRL-ALT-END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8700991667183515322?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8700991667183515322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8700991667183515322&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8700991667183515322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8700991667183515322'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/remote-desktop-connection-change.html' title='remote desktop connection change password'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3556004012471363870</id><published>2011-12-08T10:11:00.000Z</published><updated>2011-12-08T10:11:42.612Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB, finding the WebLogic server name on which a message flow is executing</title><content type='html'>&lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=982549"&gt;https://forums.oracle.com/forums/thread.jspa?threadID=982549&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;apparently there is no other way than doing a Java Callout (or better, a Custom XPath) returning System.getProperty("weblogic.Name").&lt;br /&gt;&lt;br /&gt;The OSB Reporting puts the server name in the reporting message, but I think it gets it from inside Java code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3556004012471363870?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3556004012471363870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3556004012471363870&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3556004012471363870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3556004012471363870'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-finding-weblogic-server-name-on.html' title='OSB, finding the WebLogic server name on which a message flow is executing'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3801943706428718165</id><published>2011-12-07T22:25:00.001Z</published><updated>2011-12-07T22:26:32.503Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cluster'/><title type='text'>WebLogic cluster monitor script</title><content type='html'>&lt;pre name="code" class="brush: java"&gt;&lt;br /&gt;#Script to monitor running cluster&lt;br /&gt;#will write thread dumps and other cluster diagnostic info to a file, at regular intervals&lt;br /&gt;&lt;br /&gt;#Vernetto 2011-11-11&lt;br /&gt;&lt;br /&gt;from java.io import File&lt;br /&gt;from java.io import FileOutputStream&lt;br /&gt;from java.io import FileInputStream&lt;br /&gt;from java.util import HashMap&lt;br /&gt;from java.util import HashSet&lt;br /&gt;from java.util import ArrayList&lt;br /&gt;from time import sleep&lt;br /&gt;&lt;br /&gt;import datetime&lt;br /&gt;&lt;br /&gt;import zlib&lt;br /&gt;import zipfile&lt;br /&gt;from os import *&lt;br /&gt;&lt;br /&gt;configFileProperties = None&lt;br /&gt;isConnected = false&lt;br /&gt;previousStdout = None&lt;br /&gt;&lt;br /&gt;#=======================================================================================&lt;br /&gt;# Utility function to load properties from a config file&lt;br /&gt;#=======================================================================================&lt;br /&gt;&lt;br /&gt;def loadProps(configPropFile):&lt;br /&gt;    global configFileProperties&lt;br /&gt;    propInputStream = FileInputStream(configPropFile)&lt;br /&gt;    configFileProperties = Properties()&lt;br /&gt;    configFileProperties.load(propInputStream)&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;def appendToAlarmLog(alarmmessage):&lt;br /&gt;    alarmsfile = configFileProperties.get('alarmsfile')&lt;br /&gt;    alarmFile = open(alarmsfile, 'a')&lt;br /&gt;    alarmFile.write(getNowTimestamp() + ' ' + alarmmessage + '\n')&lt;br /&gt;    alarmFile.close()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def getNowTimestamp():&lt;br /&gt; now = datetime.datetime.now()&lt;br /&gt; nowtimestamp = now.strftime("%Y%m%dT%H%M%S")&lt;br /&gt; return nowtimestamp&lt;br /&gt; &lt;br /&gt;def monitorServer():&lt;br /&gt;    global isConnected&lt;br /&gt;    fos = None    &lt;br /&gt;    previousStdout = theInterpreter.getOut()&lt;br /&gt;    try:&lt;br /&gt;  #initialize variables&lt;br /&gt;  serverURL=configFileProperties.get('serverURL')&lt;br /&gt;  serverName=configFileProperties.get('serverName')&lt;br /&gt;  username=configFileProperties.get('username')&lt;br /&gt;  password=configFileProperties.get('password')&lt;br /&gt;  logFile=configFileProperties.get('logFile')&lt;br /&gt;  aliveServerCountExpected=configFileProperties.get('aliveServerCountExpected')&lt;br /&gt;  interval=configFileProperties.get('interval')&lt;br /&gt;&lt;br /&gt;  #initialize timestamp to append to log filename&lt;br /&gt;  nowtimestamp = getNowTimestamp()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  #save stdout handle &lt;br /&gt;  logFileNameWithTimestamp = logFile + '.' + nowtimestamp&lt;br /&gt;&lt;br /&gt;  #set new stdout&lt;br /&gt;&lt;br /&gt;  print "start the script"&lt;br /&gt;  #easeSyntax()&lt;br /&gt;&lt;br /&gt;  if (not isConnected) :&lt;br /&gt;      connect(username, password, serverURL)&lt;br /&gt;      isConnected = true&lt;br /&gt;&lt;br /&gt;  serverRuntime()&lt;br /&gt;  &lt;br /&gt;  #redirect output to log file&lt;br /&gt;  f = File(logFileNameWithTimestamp)&lt;br /&gt;  fos = FileOutputStream(f)&lt;br /&gt;  theInterpreter.setOut(fos)&lt;br /&gt;&lt;br /&gt;  cd('/')&lt;br /&gt;  print 'Health', cmo.getHealthState()&lt;br /&gt;&lt;br /&gt;  cd('/ClusterRuntime/myCluster/')&lt;br /&gt;  print 'AliveServerCount=', cmo.getAliveServerCount(), ' ServerNames', cmo.getServerNames()&lt;br /&gt;&lt;br /&gt;  if (aliveServerCountExpected != cmo.getAliveServerCount()) :&lt;br /&gt;     alarmmessage = 'MONITORALARM, we were expecting AliveServerCount ' + aliveServerCountExpected + ' and we have instead %d , see file %s' % (cmo.getAliveServerCount() , logFileNameWithTimestamp, )&lt;br /&gt;     print alarmmessage &lt;br /&gt;     appendToAlarmLog(alarmmessage)&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;  cd('/ClusterRuntime/myCluster/UnicastMessaging/UnicastMessagingRuntime')&lt;br /&gt;&lt;br /&gt;  print 'DiscoveredGroupLeaders=',  cmo.getDiscoveredGroupLeaders(), ' Groups=', cmo.getGroups(), ' LocalGroupLeaderName=',  cmo.getLocalGroupLeaderName(), ' RemoteGroupsDiscoveredCount=',  cmo.getRemoteGroupsDiscoveredCount(), ' TotalGroupsCount=', cmo.getTotalGroupsCount()&lt;br /&gt;&lt;br /&gt;  cd('/ServerChannelRuntimes/unicastChannel')&lt;br /&gt;  print 'AcceptCount=' , cmo.getAcceptCount() , ' MessagesReceivedCount=' , cmo.getMessagesReceivedCount() , ' MessagesSentCount=' , cmo.getMessagesSentCount()&lt;br /&gt;  scr = cmo.getServerConnectionRuntimes()&lt;br /&gt;  #scr is an array of weblogic.server.channels.ServerConnectionRuntimeImpl$SerializableConnectionRuntime&lt;br /&gt;  for myscr in scr:&lt;br /&gt;   print "BytesReceivedCount=", myscr.getBytesReceivedCount(), " BytesSentCount=", myscr.getBytesSentCount(), " ConnectTime=", myscr.getConnectTime()," MessagesReceivedCount=",  myscr.getMessagesReceivedCount(), " MessagesSentCount=", myscr.getMessagesSentCount()&lt;br /&gt;&lt;br /&gt;  print ""&lt;br /&gt;&lt;br /&gt;  threadDump()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  cd('/JVMRuntime/' + serverName)&lt;br /&gt;  #this is valid for JRockit&lt;br /&gt;  #print "HeapFreeCurrent=", cmo.getHeapFreeCurrent(), " TotalGarbageCollectionTime", cmo.getTotalGarbageCollectionTime(), " TotalNumberOfThreads=", cmo.getTotalNumberOfThreads()&lt;br /&gt;  #this is valid for JRockit&lt;br /&gt;  print "HeapFreeCurrent=", cmo.getHeapFreeCurrent(), ' HeapSizeCurrent=', cmo.getHeapSizeCurrent()&lt;br /&gt;&lt;br /&gt;  cd('/ThreadPoolRuntime/ThreadPoolRuntime')&lt;br /&gt;&lt;br /&gt;  print 'HoggingThreadCount=', cmo.getHoggingThreadCount(), ' PendingUserRequestCount', cmo.getPendingUserRequestCount(), ' StandbyThreadCount' , cmo.getStandbyThreadCount()&lt;br /&gt;  print 'CompletedRequestCount=', cmo.getCompletedRequestCount(), ' ExecuteThreadIdleCount=', cmo.getExecuteThreadIdleCount(), ' ExecuteThreadTotalCount=', cmo.getExecuteThreadTotalCount()&lt;br /&gt;&lt;br /&gt;  #restore stdout&lt;br /&gt;  theInterpreter.setOut(previousStdout)&lt;br /&gt;&lt;br /&gt;  fos.close()&lt;br /&gt;  #now zip the report&lt;br /&gt;  zipfileLog = zipfile.ZipFile(logFileNameWithTimestamp + '.zip', 'w')&lt;br /&gt;  zipfileLog.write(logFileNameWithTimestamp, compress_type=zipfile.ZIP_DEFLATED)&lt;br /&gt;  zipfileLog.close()&lt;br /&gt;  os.remove(logFileNameWithTimestamp)&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;    except:&lt;br /&gt;        isConnected = false&lt;br /&gt;        theInterpreter.setOut(previousStdout)&lt;br /&gt;        if (fos != None) :&lt;br /&gt;            fos.close()&lt;br /&gt;        print "Unexpected error:", sys.exc_info()[0]&lt;br /&gt;        raise&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;# monitor script init&lt;br /&gt;try:&lt;br /&gt;    # sys.argv[1] is the config properties file&lt;br /&gt; configFile = sys.argv[1]&lt;br /&gt; print 'Loading config from :', configFile&lt;br /&gt; loadProps(configFile)&lt;br /&gt; interval = configFileProperties.getProperty('interval')&lt;br /&gt;&lt;br /&gt; while True:&lt;br /&gt;  try:&lt;br /&gt;   sleep(float(interval))&lt;br /&gt;   monitorServer()&lt;br /&gt;  except:&lt;br /&gt;   errorMessage = "ERROR_QUERYING_SERVER %s - %s - %s"% (sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2], )&lt;br /&gt;   appendToAlarmLog(errorMessage)&lt;br /&gt;   dumpStack()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;except:&lt;br /&gt;    print "Unexpected error: ", sys.exc_info()[0]&lt;br /&gt;    dumpStack()&lt;br /&gt;    raise&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and the property file contains:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;serverURL=t3://pierrepc:7031&lt;br /&gt;serverName=ms3&lt;br /&gt;username=weblogic&lt;br /&gt;password=welcome1&lt;br /&gt;logFile=C:/pierre/clustermonitor/clustermonitorinfo3.log&lt;br /&gt;alarmsfile=C:/pierre/clustermonitor/clustermonitoralarms3.log&lt;br /&gt;aliveServerCountExpected=3&lt;br /&gt;interval=10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3801943706428718165?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3801943706428718165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3801943706428718165&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3801943706428718165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3801943706428718165'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/weblogic-cluster-monitor-script.html' title='WebLogic cluster monitor script'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2215444944774209500</id><published>2011-12-05T20:35:00.002Z</published><updated>2011-12-05T20:35:54.157Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='dsl'/><title type='text'>A DSL for OSB</title><content type='html'>tonight talking with a colleague we envisaged the opportunity of devising a DSL to describe OSB projects without going through all the click-click necessary in Eclipse or in the Web Console.&lt;br /&gt;&lt;br /&gt;If anybody wants to join me in this challenge, please drop me an email&lt;br /&gt;&lt;br /&gt;publicpierre gmail com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2215444944774209500?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2215444944774209500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2215444944774209500&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2215444944774209500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2215444944774209500'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/dsl-for-osb.html' title='A DSL for OSB'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7538278731072414302</id><published>2011-12-05T15:21:00.003Z</published><updated>2011-12-05T20:27:02.273Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='managers'/><title type='text'>Flogging the dead horse</title><content type='html'>&lt;a href="http://www.zdnet.com/blog/projectfailures/21-ways-to-flog-dead-horse-projects/4116"&gt;http://www.zdnet.com/blog/projectfailures/21-ways-to-flog-dead-horse-projects/4116&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Often, when confronted with something (people, products, methodologies...) which is clearly underperforming, management is in denial and comes up with all sort of workarounds (rather than burying the horse and buying a new one) as the famous "flog the dead horse" story teaches:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Buying a stronger whip.&lt;/li&gt;&lt;li&gt;Changing riders.&lt;/li&gt;&lt;li&gt;Say things like, “This is the way we have always ridden this horse.”&lt;/li&gt;&lt;li&gt;Appointing a committee to study the horse.&lt;/li&gt;&lt;li&gt;Arranging to visit other sites to see how they ride dead horses.&lt;/li&gt;&lt;li&gt;Increasing the standards to ride dead horses.&lt;/li&gt;&lt;li&gt;Appointing a tiger team to revive the dead horse.&lt;/li&gt;&lt;li&gt;Creating a training session to increase our riding ability.&lt;/li&gt;&lt;li&gt;Comparing the state of dead horses in today’s environment.&lt;/li&gt;&lt;li&gt;Change the requirements declaring that “This horse is not dead.”&lt;/li&gt;&lt;li&gt;Hire contractors to ride the dead horse.&lt;/li&gt;&lt;li&gt;Harnessing several dead horses together for increased speed.&lt;/li&gt;&lt;li&gt;Declaring that “No horse is too dead to beat.”&lt;/li&gt;&lt;li&gt;Providing additional funding to increase the horse’s performance.&lt;/li&gt;&lt;li&gt;Do a Cost Analysis study to see if contractors can ride it cheaper.&lt;/li&gt;&lt;li&gt;Purchase a product to make dead horses run faster.&lt;/li&gt;&lt;li&gt;Declare the horse is “better, faster and cheaper” dead.&lt;/li&gt;&lt;li&gt;Form a quality circle to find uses for dead horses.&lt;/li&gt;&lt;li&gt;Revisit the performance requirements for horses.&lt;/li&gt;&lt;li&gt;Say this horse was procured with cost as an independent variable.&lt;/li&gt;&lt;li&gt;Promote the dead horse to a supervisory position.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I will add more as they come to my mind:&lt;br /&gt;&lt;br /&gt;* ask a consultant to provide the dead horse detailed instructions on how to trot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(this things come to my mind because I have desperately tried to push a developer to actually deliver something.... had I done it myself it would have cost me a lot less energies)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7538278731072414302?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7538278731072414302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7538278731072414302&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7538278731072414302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7538278731072414302'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/flogging-dead-horse.html' title='Flogging the dead horse'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7033896551141529392</id><published>2011-12-04T20:09:00.006Z</published><updated>2011-12-04T20:56:29.043Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><category scheme='http://www.blogger.com/atom/ns#' term='nxsd'/><title type='text'>nxsd:validation, nxsd:fieldValidation,</title><content type='html'>the question is risen here &lt;br /&gt;&lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=1054790"&gt;https://forums.oracle.com/forums/thread.jspa?threadID=1054790&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;here the official doc&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E15586_01/integration.1111/e10231/nfb.htm"&gt;http://docs.oracle.com/cd/E15586_01/integration.1111/e10231/nfb.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Top-Level Validation -&amp;gt; nxsd:validation="true"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;information about the line and column in the native stream where the error was encountered is not provided by top-level validation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Field-Level Validation -&amp;gt; nxsd:fieldValidation="true"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;only on inbound payloads&lt;br /&gt;&lt;br /&gt;information about the exact line and character where the error was encountered is displayed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, what is the difference between &lt;br /&gt;&lt;br /&gt;a) NOT using any validation at JCA level&lt;br /&gt;b) using nxsd:validation="true" in the nXSD file&lt;br /&gt;c) using nxsd:fieldValidation="true" in the nXSD file&lt;br /&gt;d) using both nxsd:validation="true" and nxsd:fieldValidation="true" in the nXSD file&lt;br /&gt;&lt;br /&gt;and submitting a file which has a correct structure but a validation error in a field.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In case a)&lt;/b&gt;, the file passes the JCA adapter and is handed over to the Proxy Service&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In case b)&lt;/b&gt;, the file is rejected in the JCA adapter, with this message:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;Error while translating inbound file : spaceattheend.dat&lt;br /&gt;ORABPEL-11157&lt;br /&gt;&lt;br /&gt;Error: translated xml document does not conform to xml schema.&lt;br /&gt;error:Invalid text 'PAL ' in element: 'UOM'.&lt;br /&gt;Please ensure that native data is correct. To turnoff result validation, unset flag nxsd:validation in nxsd&lt;br /&gt;&lt;br /&gt;at oracle.tip.pc.services.translation.framework.XlatorHelper.validateDOMNode(XlatorHelper.java:701)&lt;br /&gt;at oracle.tip.pc.services.translation.framework.XlatorHelper.validate(XlatorHelper.java:667)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.translateFromNative(NXSDTranslatorImpl.java:612)&lt;br /&gt;at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.xlate(InboundTranslatorDelegate.java:314)&lt;br /&gt;at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.doXlate(InboundTranslatorDelegate.java:121)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessorDelegate.doXlate(ProcessorDelegate.java:388)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessorDelegate.process(ProcessorDelegate.java:174)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:349)&lt;br /&gt;at weblogic.work.ContextWrap.run(ContextWrap.java:41)&lt;br /&gt;at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)&lt;br /&gt;at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)&lt;br /&gt;at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;Sending message to Adapter Framework for rejection to user-configured rejection handlers  : {&lt;br /&gt;file=C:\in\spaceattheend.dat, Exception=ORABPEL-11157&lt;br /&gt;&lt;br /&gt;Error: translated xml document does not conform to xml schema.&lt;br /&gt;error:Invalid text 'PAL ' in element: 'UOM'.&lt;br /&gt;Please ensure that native data is correct. To turnoff result validation, unset flag nxsd:validation in nxsd&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;in case c)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you get a similar message, but it shows also the line and column number&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sending message to Adapter Framework for rejection to user-configured rejection handlers  : {&lt;br /&gt;file=C:\in\spaceattheend.dat, Exception=ORABPEL-11156&lt;br /&gt;&lt;br /&gt;Error: native data read does not conform to xsd type.&lt;br /&gt;actual-value PAL  is not valid for data type . Please check before Line=2, Col=1 in the native stream.&lt;br /&gt;Please ensure that native data conforms to xsd type. To turnoff field validation, unset flag nxsd:fieldValidation in nxsd&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;in case d)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;it's same as c)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7033896551141529392?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7033896551141529392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7033896551141529392&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7033896551141529392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7033896551141529392'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/nxsdvalidation-nxsdfieldvalidation.html' title='nxsd:validation, nxsd:fieldValidation,'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3585975483621703292</id><published>2011-12-04T17:21:00.000Z</published><updated>2011-12-04T17:21:23.257Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xmldb'/><title type='text'>OSB and XMLDB</title><content type='html'>So, we need to invoke a XML DB service from OSB&lt;br /&gt;&lt;br /&gt;I have 2 main alternatives:&lt;br /&gt;&lt;br /&gt;Using Native Oracle XML DB Web Services:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm"&gt;http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;use the "JCA DB Adapter" "invoke stored procedure" option&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E15523_01/integration.1111/e10231/adptr_db.htm#CHDFBBCD"&gt;http://docs.oracle.com/cd/E15523_01/integration.1111/e10231/adptr_db.htm#CHDFBBCD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.... more to come ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3585975483621703292?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3585975483621703292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3585975483621703292&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3585975483621703292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3585975483621703292'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-and-xmldb.html' title='OSB and XMLDB'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7903836234244345330</id><published>2011-12-03T20:02:00.000Z</published><updated>2011-12-03T20:02:48.495Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='transactions'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB Proxy Services and Transactions</title><content type='html'>This is a topic on which I still have to experiment a lot.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/ui_ref.htm#i1345330"&gt;http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/ui_ref.htm#i1345330&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is quite interesting.&lt;br /&gt;&lt;i&gt;&lt;br /&gt;- If a global transaction already exists, the transport provider propagates it in the request&lt;br /&gt;&lt;br /&gt;- if Service Callouts or Publish actions have the outbound quality of service parameter set to &lt;b&gt;best-effort&lt;/b&gt; (the default), Oracle Service Bus executes those actions &lt;b&gt;outside of the transaction context&lt;/b&gt;. To have Oracle Service Bus execute those actions in the same request transaction context, set quality of service on those actions to exactly-once.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;« Publish «  is executed in a separate transaction only if the Quality of Service is “best effort”. If you use “exactly once”, the Publish is executed in the same TX&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7903836234244345330?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7903836234244345330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7903836234244345330&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7903836234244345330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7903836234244345330'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-proxy-services-and-transactions.html' title='OSB Proxy Services and Transactions'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4762271509702872897</id><published>2011-12-03T19:16:00.000Z</published><updated>2011-12-03T19:16:12.432Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>OSB java callout and presenting ProxyService output as HTML</title><content type='html'>&lt;a href="http://datalinks.nl/wordpress/?p=417"&gt;Linking in the excellent post by Chris&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;you can have your browser interpret as HTML the response of your Proxy Service, by setting the inbound-response transport parameter "Content-Type" to "text/html"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4762271509702872897?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4762271509702872897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4762271509702872897&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4762271509702872897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4762271509702872897'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-java-callout-and-presenting.html' title='OSB java callout and presenting ProxyService output as HTML'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-913348634565330573</id><published>2011-12-03T16:35:00.009Z</published><updated>2012-01-18T23:39:59.700Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='muppets'/><title type='text'>Best Muppet Shows ever</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=vgcuxzB6yEA#t=6m53s"&gt;http://www.youtube.com/watch?v=vgcuxzB6yEA#t=6m53s&lt;/a&gt;  Marathon Tree Staring Context&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=xZivb3zjlo0#t=2m24s&amp;amp;feature=player_embedded"&gt;http://www.youtube.com/watch?v=xZivb3zjlo0#t=2m24s&amp;amp;feature=player_embedded&lt;/a&gt;  Inchworm Song&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=-uqWUc5ZvZw#t=1m54s"&gt;http://www.youtube.com/watch?v=-uqWUc5ZvZw#t=1m54s&lt;/a&gt; The Beauty&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=wM89T74MPnE"&gt;http://www.youtube.com/watch?v=wM89T74MPnE&lt;/a&gt; Manamana&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=KKLWfhhLZAs&amp;amp;NR=1"&gt;http://www.youtube.com/watch?v=KKLWfhhLZAs&amp;amp;NR=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=0y7r2E1Cags&amp;amp;feature=related"&gt;http://www.youtube.com/watch?v=0y7r2E1Cags&amp;amp;feature=related&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=vm-sFEe6FVc#t=3m00s"&gt;http://www.youtube.com/watch?v=vm-sFEe6FVc#t=3m00s&lt;/a&gt;  gargoyle min 3:00&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=JN5Mqr6tRlw"&gt;http://www.youtube.com/watch?v=JN5Mqr6tRlw&lt;/a&gt; Hugga Wagga&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=F_aZyboR_Io&amp;amp;feature=related"&gt;http://www.youtube.com/watch?v=F_aZyboR_Io&amp;amp;feature=related&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=n_BmeBfV-O4&amp;amp;feature=related"&gt;http://www.youtube.com/watch?v=n_BmeBfV-O4&amp;amp;feature=related&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=pAWpeVbDVdU&amp;amp;NR=1"&gt;http://www.youtube.com/watch?v=pAWpeVbDVdU&amp;amp;NR=1&lt;/a&gt;  minute 4.00 conga&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=i-2PkfIRvEs&amp;feature=endscreen&amp;NR=1"&gt;http://www.youtube.com/watch?v=i-2PkfIRvEs&amp;feature=endscreen&amp;NR=1&lt;/a&gt; Miss Piggy in her tantrums&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?NR=1&amp;feature=endscreen&amp;v=dTUb6ldYovw"&gt;http://www.youtube.com/watch?NR=1&amp;feature=endscreen&amp;v=dTUb6ldYovw&lt;/a&gt;  I can't see me loving... and Cousbinian Love&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=zh8IgZ-GQ9s&amp;feature=autoplay&amp;list=PL5E4DBAE04F823374&amp;lf=results_video&amp;playnext=4"&gt;http://www.youtube.com/watch?v=zh8IgZ-GQ9s&amp;feature=autoplay&amp;list=PL5E4DBAE04F823374&amp;lf=results_video&amp;playnext=4&lt;/a&gt; insults contest&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=N8ZILv8sOoQ"&gt;http://www.youtube.com/watch?v=N8ZILv8sOoQ&lt;/a&gt;  minute 4 I am calm inside&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=0c2HA5i0hbM&amp;feature=related"&gt;http://www.youtube.com/watch?v=0c2HA5i0hbM&amp;feature=related&lt;/a&gt; the phantom of the Muppet Show&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=" http://www.youtube.com/watch?feature=endscreen&amp;NR=1&amp;v=BJMhELXkHmw"&gt;&lt;br /&gt;http://www.youtube.com/watch?feature=endscreen&amp;NR=1&amp;v=BJMhELXkHmw&lt;/a&gt;  English﻿ Country Garden&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-913348634565330573?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/913348634565330573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=913348634565330573&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/913348634565330573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/913348634565330573'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/best-muppet-shows-ever.html' title='Best Muppet Shows ever'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6538646488931608583</id><published>2011-12-03T14:04:00.002Z</published><updated>2011-12-03T14:08:37.277Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>Examining WebLogic embedded LDAP files with Apache Active Directory</title><content type='html'>Install &lt;a href="http://directory.apache.org/studio"&gt;Apache Active Directory&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can open either&lt;br /&gt;&lt;br /&gt;C:\bea1035\user_projects\domains\prod_domain\servers\osb_server1\data\ldap\osb_server1.ldif&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;C:\bea1035\user_projects\domains\prod_domain\servers\AdminServer\data\ldap\osb_server1.ldif&lt;br /&gt;&lt;br /&gt;they should be identical (if they are not, be worried)&lt;br /&gt;&lt;br /&gt;you will find something along this line:&lt;br /&gt;&lt;br /&gt;(domain, realm, groups, people)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;dn: dc=&lt;b&gt;prod_domain&lt;/b&gt;&lt;br /&gt;dc: prod_domain&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: domain&lt;br /&gt;orclguid: D4F9FF20F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: ou=&lt;b&gt;myrealm&lt;/b&gt;,dc=prod_domain&lt;br /&gt;ou: myrealm&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;orclguid: D4FD8190F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: ou=&lt;b&gt;groups&lt;/b&gt;,ou=myrealm,dc=prod_domain&lt;br /&gt;ou: groups&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;objectclass: top&lt;br /&gt;orclguid: D4FDCFB0F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: ou=&lt;b&gt;people&lt;/b&gt;,ou=myrealm,dc=prod_domain&lt;br /&gt;ou: people&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;objectclass: top&lt;br /&gt;orclguid: D4FDF6C0F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: cn=&lt;b&gt;ALSBSystemGroup&lt;/b&gt;,ou=groups,ou=myrealm,dc=prod_domain&lt;br /&gt;memberURL: ldap:///ou=groups,ou=myrealm,dc=prod_domain??sub?(&amp;(objectclass=person)(wlsMemberOf=cn=ALSBSystemGroup,ou=groups,ou=myrealm,dc=prod_domain))&lt;br /&gt;description: The ALSBSystemGroup is a built-in group which has access to ALSBs internals artifacts&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: groupOfUniqueNames&lt;br /&gt;objectclass: groupOfURLs&lt;br /&gt;cn: ALSBSystemGroup&lt;br /&gt;orclguid: D4FF0830F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;follow list of all groups&lt;br /&gt;&lt;br /&gt;then the users will appear:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;dn: uid=OracleSystemUser,ou=people,ou=myrealm,dc=prod_domain&lt;br /&gt;description: Oracle application software system user.&lt;br /&gt;objectclass: inetOrgPerson&lt;br /&gt;objectclass: organizationalPerson&lt;br /&gt;objectclass: person&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: wlsUser&lt;br /&gt;cn: OracleSystemUser&lt;br /&gt;sn: OracleSystemUser&lt;br /&gt;userpassword:: e3NzaGF9dEFnSFNTS25IMk54WjJhOUNkUGNGaGdTMm1LWUFxcms=&lt;br /&gt;uid: OracleSystemUser&lt;br /&gt;wlsMemberOf: cn=OracleSystemGroup,ou=groups,ou=myrealm,dc=prod_domain&lt;br /&gt;orclguid: D508CC30F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: uid=alsb-system-user,ou=people,ou=myrealm,dc=prod_domain&lt;br /&gt;description: The ALSB system user is a built-in system account which belongs to the ALSBSystem role. As such it has access to ALSBs internal artifacts. The password for this account is automatically changed when the admin server boots to prevent direct access to this account.&lt;br /&gt;objectclass: inetOrgPerson&lt;br /&gt;objectclass: organizationalPerson&lt;br /&gt;objectclass: person&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: wlsUser&lt;br /&gt;cn: alsb-system-user&lt;br /&gt;sn: alsb-system-user&lt;br /&gt;uid: alsb-system-user&lt;br /&gt;wlsMemberOf: cn=ALSBSystemGroup,ou=groups,ou=myrealm,dc=prod_domain&lt;br /&gt;orclguid: D5091A50F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;userpassword:: e3NzaGF9UVhWVUVOSzN4VFRsUSs1REVWdWpvRFhKbU83K29VMXo=&lt;br /&gt;modifyTimeStamp: 201110231247Z&lt;br /&gt;modifiersName: cn=Admin&lt;br /&gt;&lt;br /&gt;dn: uid=weblogic,ou=people,ou=myrealm,dc=prod_domain&lt;br /&gt;description: This user is the default administrator.&lt;br /&gt;objectclass: inetOrgPerson&lt;br /&gt;objectclass: organizationalPerson&lt;br /&gt;objectclass: person&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: wlsUser&lt;br /&gt;cn: weblogic&lt;br /&gt;sn: weblogic&lt;br /&gt;userpassword:: e3NzaGF9bVo2RlJqazM1cXJFOFpSbXVlVUdRWUNwQmluUXptUFE=&lt;br /&gt;uid: weblogic&lt;br /&gt;wlsMemberOf: cn=Administrators,ou=groups,ou=myrealm,dc=prod_domain&lt;br /&gt;orclguid: D5096870F2B911E0BF1ED596F66B2A93&lt;br /&gt;createTimestamp: 201109092101Z&lt;br /&gt;creatorsName: cn=Admin&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;how fascinating...just kidding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6538646488931608583?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6538646488931608583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6538646488931608583&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6538646488931608583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6538646488931608583'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/examining-weblogic-embedded-ldap-files.html' title='Examining WebLogic embedded LDAP files with Apache Active Directory'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1757065964533411992</id><published>2011-12-03T12:32:00.002Z</published><updated>2011-12-03T12:39:10.672Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ftpadapter'/><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>OSB move remote file with JCA FTP Adapter</title><content type='html'>A common requirement is to add a bit of transactional behavior  in FTP operations:&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;- FTP file1 to remote dir /path/to/myfiles&lt;br /&gt;- FTP file2 to remote dir /path/to/myfiles&lt;br /&gt;- tell remote system that he can start processing file1 and file2&lt;br /&gt;&lt;br /&gt;If FTP of file2 fails, you don't want to leave file1 hanging around.&lt;br /&gt;So you should add a fastidious compensation action in the Error Handler of "FTP file2" to undo the "FTP file1" operation.&lt;br /&gt;Also, fastidiously the file could be picked up by remote system before I end transferring it (it should not happen, I guess it depends on the FTP server implementation, it's just one extra concern I have).&lt;br /&gt;&lt;br /&gt;This clearly sucks.&lt;br /&gt;&lt;br /&gt;Luckily the &lt;a href="http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_file.htm#BABEBDGI"&gt;Oracle JCA FTP Adapter supports moving remote files&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The FTPMove operation with Type="MOVE" has been successfully tested, using Transport Headers to pass the "file name from" and "to" parameters to the JCA Adapter.&lt;br /&gt;&lt;br /&gt;Interestingly enough, you can also COPY and DELETE files remotely.&lt;br /&gt;&lt;br /&gt;So our flow will be:&lt;br /&gt;&lt;br /&gt;- FTP file1 to remote dir /path/to/myfilestemp&lt;br /&gt;- FTP file2 to remote dir /path/to/myfilestemp&lt;br /&gt;- FTP move file1 to /path/to/myfiles&lt;br /&gt;- FTP move file2 to /path/to/myfiles&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok you will say "what if - ##FTP move file2 to /path/to/myfiles## fails?".&lt;br /&gt;Well, I guess that can happen....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1757065964533411992?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1757065964533411992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1757065964533411992&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1757065964533411992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1757065964533411992'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-move-remote-file-with-jca-ftp.html' title='OSB move remote file with JCA FTP Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1412415425759936311</id><published>2011-12-03T11:43:00.001Z</published><updated>2011-12-03T12:17:55.797Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='powerpoint'/><title type='text'>Animated Powerpoint to illustrate business flows</title><content type='html'>I have experimented adding PowerPoint animation over the Visio (&lt;a href="http://eaipatterns.com/downloads.html"&gt;Gregor Hohpe EAI Stencils&lt;/a&gt;) diagrams showing our end-to-end solution.&lt;br /&gt;&lt;br /&gt;Just use a &lt;a href="http://www.eaipatterns.com/Message.html"&gt;Message Icon&lt;/a&gt; and show it running along from one component to another, generating side error/tracking messages, being bounced back and replayed, being redirected to an error queue/folder.&lt;br /&gt;&lt;br /&gt;Animation adds a great value to your documentation when it comes to dynamically illustrate your business flow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1412415425759936311?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1412415425759936311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1412415425759936311&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1412415425759936311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1412415425759936311'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/animated-powerpoint-to-illustrate.html' title='Animated Powerpoint to illustrate business flows'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-8051234755933826046</id><published>2011-12-01T12:29:00.001Z</published><updated>2011-12-01T12:30:20.629Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB, how to get the equivalent of System.currentTimeMillis()</title><content type='html'>try:&lt;br /&gt;&lt;br /&gt;(fn:current-dateTime() - xs:dateTime("1970-01-01T00:00:00-00:00")) div xdt:dayTimeDuration("PT0.001S")&lt;br /&gt;&lt;br /&gt;(thanks &lt;a href="http://aestasit.com/"&gt;to Luciano&lt;/a&gt; for this) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;or do a Custom XPath returning System.currentTimeMillis() from Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-8051234755933826046?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/8051234755933826046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=8051234755933826046&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8051234755933826046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/8051234755933826046'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-how-to-get-equivalent-of.html' title='OSB, how to get the equivalent of System.currentTimeMillis()'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-153392050450653257</id><published>2011-12-01T11:23:00.000Z</published><updated>2011-12-01T11:23:19.515Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB Console: Another session operation is in progress. Please retry later.</title><content type='html'>I have seen this problem a number of times. &lt;br /&gt;Two people login with the same credentials, and at the time one activates (or even discard!) a OSB Session, he gets this message.&lt;br /&gt;&lt;br /&gt;The only solution known to me is to restart the whole environment.&lt;br /&gt;&lt;br /&gt;Ideally you should create a WebLogic user per operator, to avoid these kind of issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-153392050450653257?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/153392050450653257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=153392050450653257&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/153392050450653257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/153392050450653257'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/12/osb-console-another-session-operation.html' title='OSB Console: Another session operation is in progress. Please retry later.'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-7871683126237764511</id><published>2011-11-26T21:00:00.001Z</published><updated>2011-11-28T17:26:08.670Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='reporting'/><title type='text'>OSB custom reporting provider</title><content type='html'>Here an example:&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html"&gt;http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;download link:&lt;br /&gt;&lt;a href="http://java.net/projects/oracleservicebus1031/downloads/download/SAMPLE-REPORTPROVIDER.zip"&gt;http://java.net/projects/oracleservicebus1031/downloads/download/SAMPLE-REPORTPROVIDER.zip&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here an interesting presentation &lt;a href="http://www.slideshare.net/guest6070853/osb-bam-integration"&gt;http://www.slideshare.net/guest6070853/osb-bam-integration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell this is what I understand:&lt;br /&gt;&lt;br /&gt;a Reporting Provider should implement a com.bea.wli.reporting.ReportingDataHandler&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java"&gt;public interface ReportingDataHandler&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    public abstract void handle(XmlObject xmlobject, String s)&lt;br /&gt;        throws Exception;&lt;br /&gt;&lt;br /&gt;    public abstract void handle(XmlObject xmlobject, InputStream inputstream)&lt;br /&gt;        throws Exception;&lt;br /&gt;&lt;br /&gt;    public abstract void handle(XmlObject xmlobject, XmlObject xmlobject1)&lt;br /&gt;        throws Exception;&lt;br /&gt;&lt;br /&gt;    public abstract void handle(XmlObject xmlobject, XmlTokenSource xmltokensource)&lt;br /&gt;        throws Exception;&lt;br /&gt;&lt;br /&gt;    public abstract void handle(XmlObject xmlobject, Serializable serializable)&lt;br /&gt;        throws Exception;&lt;br /&gt;&lt;br /&gt;    public abstract void close();&lt;br /&gt;&lt;br /&gt;    public abstract void flush();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;apparently you only need to implement 3 handle methods:&lt;br /&gt;handle( XmlObject metadata, String str ) &lt;br /&gt;void handle( XmlObject metadata, InputStream is )&lt;br /&gt;handle( XmlObject metadata, XmlObject data )&lt;br /&gt;&lt;br /&gt;and close() and flush()&lt;br /&gt;&lt;br /&gt;(see the CustomReportDataFileProvider associated with the ZIP file above)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The implementation seems quite straightforward.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The OOTB JMS Report Provider uses a&lt;br /&gt;com.bea.wli.reporting.jmsprovider.init.JmsReportingDataHandler implementation,&lt;br /&gt;which uses wli.reporting.jmsprovider.ConnectionFactory and wli.reporting.jmsprovider.queue&lt;br /&gt;&lt;br /&gt;Interestingly, the JmsReportingDataHandler suspends the Transaction if there is a non-XA transaction in course.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For the OOTB JMS Reporting provider:&lt;br /&gt;&lt;br /&gt;if the Proxy Service where you use the Report action has "Transaction Required" = true, and the Tx fails (reply with error, or no reply), then the Report JMS message will not be produced.&lt;br /&gt;&lt;br /&gt;if the Proxy Service where you use the Report action has "Transaction Required" = false, the Report JMS message will be produced no matter what.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-7871683126237764511?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/7871683126237764511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=7871683126237764511&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7871683126237764511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/7871683126237764511'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/osb-custom-reporting-provider.html' title='OSB custom reporting provider'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2297537929152762847</id><published>2011-11-25T16:37:00.001Z</published><updated>2011-12-13T10:00:28.840Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='jms'/><category scheme='http://www.blogger.com/atom/ns#' term='acknowledgment'/><title type='text'>OSB and JMS message acknowledgement</title><content type='html'>I am torturing myself over this problem:&lt;br /&gt;&lt;br /&gt;I have a JMS message that I want to FTP:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JMSQUEUE -&gt; JMS_PS (validation, tranformation) -&gt; FTP_BS&lt;br /&gt;&lt;br /&gt;If FTP_BS fails, I want to retry (redeliver) the message later&lt;br /&gt;&lt;br /&gt;If the validation/transformation fail, I don't want to retry the message.&lt;br /&gt;&lt;br /&gt;In both cases, I want to fail the transaction, so that the appropriate statistics are shown at monitoring level.&lt;br /&gt;&lt;br /&gt;It turns out that you cannot acknowledge a JMS message in OSB independently from the result of the transaction. &lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=901203"&gt;Here it says&lt;/a&gt;: OSB proxies always work in AUTO_ACKNOWLEDGE mode:&lt;br /&gt;Tx rollback - &gt; JMS message NOT ack'ed&lt;br /&gt;Tx commit - &gt; JMS message ack'ed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, if you want to consume immediately the JMS message without retries, your only option is to "Reply with Success" in the error handler. &lt;br /&gt;&lt;br /&gt;If the fault happened in the FTP_BS, at monitoring level (Operations/Service Health) you will find the error reported. &lt;br /&gt;If the fault happened in the JMS_PS and you replied with success, the error will not appear in the Monitoring page.&lt;br /&gt;&lt;br /&gt;A possible workaround could be:&lt;br /&gt;never redeliver the JMS message, always acknowledge it, and upon FTP failure send the message to a RedeliveryQueue, from which it will be resubmitted in future (WebLogic supports delivery in future) to the main JMSQUEUE. Obviously this sucks.&lt;br /&gt;&lt;br /&gt;Another workaround is to introduce a second JMSQUEUE2:&lt;br /&gt;JMSQUEUE -&gt; JMS_PS (validation, tranformation) -&gt; JMSQUEUE2 -&gt; FTP_BS&lt;br /&gt;&lt;br /&gt;so that you separate validation/transformation from the FTPing.&lt;br /&gt;This also sucks.&lt;br /&gt;&lt;br /&gt;I cannot think of any other workaround.&lt;br /&gt;&lt;br /&gt;Obviously this is not ideal, I hate committing a transaction when in reality we had a validation error, only for the sake of consuming immediately the JMS message.&lt;br /&gt;I wish we had more control on the JMS message.&lt;br /&gt;&lt;br /&gt;Redelivery at FTP_BS level (retries) is not an option, because they will keep a transaction open for a long time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2297537929152762847?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2297537929152762847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2297537929152762847&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2297537929152762847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2297537929152762847'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/osb-and-jms-message-acknowledgement.html' title='OSB and JMS message acknowledgement'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5997359901849740263</id><published>2011-11-23T14:12:00.006Z</published><updated>2011-11-23T17:40:07.596Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ftpadapter'/><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>Error FTPing with JCA FTP Adapter</title><content type='html'>&lt;i&gt;&lt;br /&gt;BEA-381971&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Invoke JCA outbound service failed with connection error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/ACME_PurchaseOrder/PV_FtpToACME [ Put_ptt::Put(body) ] - WSIF JCA Execute of operation 'Put' failed due to: Error in establishing connection to FTP Server.&lt;br /&gt;Error in establishing connection to FTP Server.&lt;br /&gt;Unable to establish connection to server.&lt;br /&gt;; nested exception is: &lt;br /&gt;BINDING.JCA-11438&lt;br /&gt;Error in establishing connection to FTP Server.&lt;br /&gt;Error in establishing connection to FTP Server.&lt;br /&gt;Unable to establish connection to server.&lt;br /&gt;Please ensure hostname and port specified to login to the server is correct.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The FTP Put is done in a Local Transaction:&lt;br /&gt;&lt;br /&gt;in the log you will find:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;JCA_FRAMEWORK_AND_ADAPTER Starting JCA LocalTransaction&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;and when the error occurs:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;JCA_FRAMEWORK_AND_ADAPTER Rolling back JCA LocalTransaction&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;For the NoTransConnEventListener of pool 'eis/Ftp/ACMEFtpAdapter' CONNECTION_CLOSED event received&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;servicebus:/WSDL/ACME_PurchaseOrder/PV_FtpToACME [ Put_ptt::Put(body) ] - Marking this exception as Locally Retryable&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;WSIFCache: Closing CCI Connection&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In fact the JCA Adapter for File and FTP do not support XA Transaction, but only Local Transactions. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The message is retried the number of times determined by the Business Service generated on top of the JCA Adapter:&lt;br /&gt;&lt;br /&gt;Transport Configuration  &lt;br /&gt;Protocol    jca&lt;br /&gt;Load Balancing Algorithm    round-robin&lt;br /&gt;Endpoint URI    &lt;br /&gt;jca://eis/Ftp/ACMEFtpAdapter&lt;br /&gt;Retry Count    2&lt;br /&gt;Retry Iteration Interval    30&lt;br /&gt;Retry Application Errors    No&lt;br /&gt;&lt;br /&gt;So in this case the message will be tried 3 times (2 retries) before erroring out. The local transaction only is retried, while the global transaction is still active. This makes the global transaction last 60 seconds.&lt;br /&gt;&lt;br /&gt;Be aware that these local transactions are executed as part of the Proxy Service transaction: if you define 10 retries at 1 minute interval, your global transaction will be open for 10 minutes. So this is not a viable solution. &lt;br /&gt;&lt;br /&gt;This is what you will see at the end of the TX:&lt;br /&gt;&lt;br /&gt;&amp;lt;BEA-010213&amp;gt; &amp;lt;Message-Driven EJB: RequestEJB-7263521924761754948--49bf0c34.133cb4ae47d.-7fe0's transaction was rolled back. The transaction details are: Xid=BEA1-01DB458350C2A589D5FB(10150583),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException: setRollbackOnly called on transaction],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=306,seconds left=60,XAServerResourceInfo[WLStore_prod_domain_FileStore_auto_1]=(ServerResourceInfo[WLStore_prod_domain_FileStore_auto_1]=(state=rolledback,assigned=osb_server1),xar=WLStore_prod_domain_FileStore_auto_121108363,re-Registered = false),SCInfo[prod_domain+osb_server1]=(state=rolledback),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=osb_server1+pierrepc:7011+prod_domain+t3+, XAResources={eis/tibjms/Topic, WLStore_prod_domain_FileStore_auto_1, eis/aqjms/Queue, eis/fioranomq/Topic, eis/wls/Queue, eis/tibjms/Queue, eis/activemq/Queue, WLStore_prod_domain_ACMEFileStore1, eis/pramati/Queue, WLStore_prod_domain__WLS_osb_server1, eis/tibjmsDirect/Queue, eis/Apps/Apps, eis/jbossmq/Queue, eis/sunmq/Queue, WSATGatewayRM_osb_server1_prod_domain, eis/aqjms/Topic, eis/tibjmsDirect/Topic, eis/wls/Topic, eis/AQ/aqSample, wlsbjmsrpDataSource_prod_domain, eis/webspheremq/Queue, WLStore_prod_domain_WseeFileStore_auto_1},NonXAResources={})],CoordinatorURL=osb_server1+pierrepc:7011+prod_domain+t3+).&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Go to the Server/MOnitoring/JTA/Transaction tab and you will see the transaction open for the entire duration of the retries. The transactionId is also traced in the logs.&lt;br /&gt;&lt;br /&gt;We were consuming the message from a JMS queue, and redirecting on error to an ErrorQueue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5997359901849740263?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5997359901849740263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5997359901849740263&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5997359901849740263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5997359901849740263'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/error-ftping-with-jca-ftp-adapter.html' title='Error FTPing with JCA FTP Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6273476799975190962</id><published>2011-11-23T12:30:00.000Z</published><updated>2011-11-23T12:30:56.481Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='poll'/><title type='text'>Poll results: what do I enjoy the most?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZKzeHWC3woc/TsznDJQi3aI/AAAAAAAAAwk/PHTU5zA-TN8/s1600/Capture.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="240" width="320" src="http://1.bp.blogspot.com/-ZKzeHWC3woc/TsznDJQi3aI/AAAAAAAAAwk/PHTU5zA-TN8/s320/Capture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;this reveals that most voters of this poll are socially oriented and curious about new stuff. cool, I like that. &lt;br /&gt;&lt;br /&gt;I don't expect many politicians to have participated to this poll, otherwise the results would have been very different.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6273476799975190962?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6273476799975190962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6273476799975190962&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6273476799975190962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6273476799975190962'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/poll-results-what-do-i-enjoy-most.html' title='Poll results: what do I enjoy the most?'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ZKzeHWC3woc/TsznDJQi3aI/AAAAAAAAAwk/PHTU5zA-TN8/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6004713417018000087</id><published>2011-11-22T17:18:00.001Z</published><updated>2011-11-22T17:57:15.416Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='errorhandling'/><title type='text'>Reply with failure and the JCA Adapter</title><content type='html'>In a fault handler, we decide to fail the Transaction by using the "Reply with failure" Action.&lt;br /&gt;&lt;br /&gt;For HTTP Proxy Services, this returns a HTTP 500 error code to the caller. For JMS, it will set the JMS_BEA_Error to true.&lt;br /&gt;&lt;br /&gt;For JCA File Adapter Proxy Services, this mechanism doesn't work. The adapter doesn't receive the information that the Transaction failed (even if I set the Proxy as "Transaction required" and "Same Transaction for Response"). The file is archived and not sent to the Error directory.&lt;br /&gt;&lt;br /&gt;The funny thing is that I have enabled all the debug flags for weblogic.jca , plus all the alsbdebug.xml flags... and it shows clearly that the isFailure=true, the message "OSB is rolling back a transaction BEA1-xxxx started by it", YET the AlsbJcaFrameworkAdapter says "successfully sent message to Adapter Framework".&lt;br /&gt;&lt;br /&gt;If you want the Transaction to fail, the only way is to "Raise Error" in the Error Handler - or simply don't "Reply" at all.&lt;br /&gt;&lt;br /&gt;Probably this (weird) behaviour will be addressed in future. JCA in OSB was introduced recently. IMHO the current behavious quite counter-intuitive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6004713417018000087?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6004713417018000087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6004713417018000087&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6004713417018000087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6004713417018000087'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/reply-with-failure-and-jca-adapter.html' title='Reply with failure and the JCA Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4710409654912456350</id><published>2011-11-22T10:55:00.000Z</published><updated>2011-11-22T10:55:14.484Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>BEA-000386 LDAP file (maybe) corrupted</title><content type='html'>We had some OutOfMemory errors in our server, and finally - after fixing the memory problems - we were unable to start the Admin because of this problem:&lt;br /&gt;&lt;br /&gt;####&amp;lt;Nov 21, 2011 1:12:20 PM CET&amp;gt; &amp;lt;Critical&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;hqchnesoa102&amp;gt; &amp;lt;osbdv1as&amp;gt; &amp;lt;main&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;1321877540974&amp;gt; &amp;lt;BEA-000386&amp;gt; &amp;lt;Server subsystem failed. Reason: java.lang.NumberFormatException: null&lt;br /&gt;java.lang.NumberFormatException: null&lt;br /&gt;        at java.lang.Integer.parseInt(Integer.java:417)&lt;br /&gt;        at java.lang.Integer.&amp;lt;init&amp;gt;(Integer.java:660)&lt;br /&gt;        at com.octetstring.vde.replication.Replication.initAgreements(Replication.java:146)&lt;br /&gt;        at com.octetstring.vde.replication.Replication.init(Replication.java:87)&lt;br /&gt;        at weblogic.ldap.EmbeddedLDAP.initReplication(EmbeddedLDAP.java:1304)&lt;br /&gt;        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:344)&lt;br /&gt;        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)&lt;br /&gt;        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)&lt;br /&gt;        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)&lt;br /&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;moving the AdminServer/data/LDAP directory to a LDAP_BACKUP and restarting the server solved the problem. Of course we lost all the users.&lt;br /&gt;&lt;br /&gt;I assume that the LDIF files simply get occasionally corrupted upon OOM. This is quite annoying. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://onlineappsdba.com/index.php/2010/08/16/error-while-starting-weblogic-server-javalangnumberformatexception-null/"&gt;Further digging&lt;/a&gt; showed that the file $DOMAIN_HOME/servers/AdminServer/data/ldap/conf/replicas.prop  was empty, while it should contain something like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Generated property file&lt;br /&gt;#Mon Nov 21 13:38:21 CET 2011&lt;br /&gt;replica.num=1&lt;br /&gt;replica.0.name=osbdv1ms1&lt;br /&gt;replica.0.base=dc\=osbdv1do&lt;br /&gt;replica.0.port=8001&lt;br /&gt;replica.0.hostname=soa102.acme.com&lt;br /&gt;replica.0.masterurl=ldap\://soa102.acme.com\:7001/&lt;br /&gt;replica.0.masterid=osbdv1as&lt;br /&gt;replica.0.secure=0&lt;br /&gt;replica.0.binddn=cn\=Admin&lt;br /&gt;replica.0.consumerid=osbdv1ms1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How the file managed to get nuked, it's anybody's guess.&lt;br /&gt;&lt;br /&gt;The message is: keep a backup of the AdminServer/data directory...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4710409654912456350?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4710409654912456350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4710409654912456350&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4710409654912456350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4710409654912456350'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/bea-000386-ldap-file-maybe-corrupted.html' title='BEA-000386 LDAP file (maybe) corrupted'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-6815646207534061589</id><published>2011-11-21T19:27:00.002Z</published><updated>2011-11-21T19:28:58.517Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='versioning'/><title type='text'>Version Information attached to a OSB Service/Project</title><content type='html'>If your customer he asks you "which version of a given service to we have in the TST environment?" you want to give him a 100% safe answer.&lt;br /&gt;&lt;br /&gt;So you better find a way to return this info in a API.&lt;br /&gt;&lt;br /&gt;Here is a way:&lt;br /&gt;&lt;br /&gt;in each project (say POCVersioning), write a GetVersion proxy service:&lt;br /&gt;&lt;br /&gt;Request  Message Type = None&lt;br /&gt;Response Message Type = XML&lt;br /&gt;&lt;br /&gt;Replace [ node contents ] of [ . ] in [ body ] with XQuery Resource &lt;b&gt;version&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;where "version" is a XQuery function like this:&lt;br /&gt;&lt;br /&gt;&amp;lt;version&amp;gt;37&amp;lt;/version&amp;gt;&lt;br /&gt;&lt;br /&gt;At this point you can invoke from the browser&lt;br /&gt;&lt;br /&gt;http://localhost:7011/POCVersioning/GetVersion&lt;br /&gt;&lt;br /&gt;and you get back the &amp;lt;version&amp;gt;37&amp;lt;/version&amp;gt;  XML&lt;br /&gt;&lt;br /&gt;Sounds silly? Maybe, but it saves a lot of trouble.&lt;br /&gt;&lt;br /&gt;Of course, you want to assign automatically the version number in the automated build process (Hudson, Bamboo...) using some Maven/Ant/whatever versioning mechanism. Or just maintain it manually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-6815646207534061589?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/6815646207534061589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=6815646207534061589&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6815646207534061589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/6815646207534061589'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/version-information-attached-to-osb.html' title='Version Information attached to a OSB Service/Project'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3730906459408152677</id><published>2011-11-20T13:41:00.011Z</published><updated>2011-12-04T18:06:30.122Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='weblogic12'/><title type='text'>What is new in Oracle WebLogic 12c?</title><content type='html'>so, what is new in weblogic 12c?&lt;br /&gt;&lt;br /&gt;you can watch the recorded presentation &lt;a href="https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&amp;eventid=375727&amp;sessionid=1&amp;key=108E7A597FD93F05D40355E5A6A5F60C&amp;partnerref=WLS12c_Launch_CAFBlog&amp;sourcepage=register"&gt;join the launching webcast&lt;/a&gt;, I have managed to register only after giving up on my UK ZIP address and adopting a numbers-only one... tell me about US-centricity...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try also &lt;a href="http://event.on24.com/view/presentation/flash/EventConsoleNG.html?uimode=nextgeneration&amp;simulive=y&amp;eventid=375707&amp;sessionid=1&amp;username=&amp;partnerref=&amp;format=fhvideo1&amp;mobile=false&amp;flashsupportedmobiledevice=false&amp;helpcenter=false&amp;key=FD49B1C2777C7F392190DFC4AC14EF78&amp;text_language_id=en&amp;playerwidth=1000&amp;playerheight=650&amp;eventuserid=57375997&amp;contenttype=A&amp;mediametricsessionid=47476120&amp;mediametricid=787267&amp;usercd=57375997&amp;mode=launch#"&gt;this link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and &lt;a href="http://event.on24.com/view/presentation/flash/EventConsoleNG.html?uimode=nextgeneration&amp;simulive=y&amp;eventid=375724&amp;sessionid=1&amp;username=&amp;partnerref=&amp;format=fhvideo1&amp;mobile=false&amp;flashsupportedmobiledevice=false&amp;helpcenter=false&amp;key=D89D2EEBC7ED80446A01E55F83C9205E&amp;text_language_id=en&amp;playerwidth=1000&amp;playerheight=650&amp;eventuserid=57375998&amp;contenttype=A&amp;mediametricsessionid=47477315&amp;mediametricid=787284&amp;usercd=57375998&amp;mode=launch#"&gt;this link for the developer's cut&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.beyondoracle.com/2011/12/01/oracle-weblogic-12c-available-targets-cloud/"&gt;Here a detailed list of the new features.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell:&lt;br /&gt;&lt;br /&gt;* Java7 and JEE 6&lt;br /&gt;* Oracle Traffic Director (Traffic Management)&lt;br /&gt;* Much higher performance&lt;br /&gt;* Integration with Oracle Public Cloud&lt;br /&gt;* Integration with Oracle RAC&lt;br /&gt;* TLS 1.2 (Transport Layer Security) support&lt;br /&gt;* Much more compact code is required&lt;br /&gt;* Oracle Virtual Assembly Builder for flexible Cloud configuration&lt;br /&gt;* OEPE is still there&lt;br /&gt;* Netbeans is there&lt;br /&gt;* Maven easily builds WL12c artifacts&lt;br /&gt;* "Light" WebLogic without EJB/JMS containers&lt;br /&gt;* Fast Swap improved (hot redeploy of classes)&lt;br /&gt;* Lightweight version to download (168 MB)&lt;br /&gt;&lt;br /&gt;* More support for Dependency Injection&lt;br /&gt;&lt;br /&gt;here the slides:&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_10423953"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/JustinKestelyn/oracle-weblogic-server-12c-developer-overview" title="Oracle WebLogic Server 12c - Developer Overview" target="_blank"&gt;Oracle WebLogic Server 12c - Developer Overview&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/10423953" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/JustinKestelyn" target="_blank"&gt;Oracle Technology Network&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3730906459408152677?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3730906459408152677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3730906459408152677&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3730906459408152677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3730906459408152677'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/what-is-new-in-weblogic-12.html' title='What is new in Oracle WebLogic 12c?'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3576358140419599537</id><published>2011-11-18T13:43:00.000Z</published><updated>2011-11-18T13:43:12.594Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ftpadapter'/><title type='text'>Move operation in JCA FTP Adapter</title><content type='html'>the UseNativeRenameOperation seems promising to do a Move (RNFR/RNTO) operation:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10231/adptr_file.htm"&gt;http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10231/adptr_file.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;but I haven't tested it yet...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3576358140419599537?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3576358140419599537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3576358140419599537&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3576358140419599537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3576358140419599537'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/move-operation-in-jca-ftp-adapter.html' title='Move operation in JCA FTP Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3128224958561884350</id><published>2011-11-16T17:25:00.000Z</published><updated>2012-01-20T10:48:26.027Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='FileAdapter'/><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><title type='text'>OSB and rejectedMessageHandlers in JCA File Adapter</title><content type='html'>I am completing &lt;a href="http://www.javamonamour.org/2011/11/jca-file-adapter-and-error-files.html"&gt;a previous post&lt;/a&gt; on the same topic.&lt;br /&gt;&lt;br /&gt;By default, the JCA File Adapter will write bad files into $DOMAIN_HOME/jca/Read/rejectedMessages, renaming them to a filename like:&lt;br /&gt;&lt;br /&gt;INVALID_MSG_154330703_Read_20111109_103658_0898.dat&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you specify in your JCA file the property PhysicalErrorArchiveDirectory=/path/to/my/errorDirectory, the bad files will be written here and not to the $DOMAIN_HOME/jca/Read/rejectedMessages directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To retry a "failed" file (only those who are not directly rejected by the Adapter, but for instance those who fail validation in the Proxy Service), you can specify in the JCA Transport Configuration of the Proxy Service:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;jca.retry.count = "3"&lt;br /&gt;jca.retry.interval = "40"&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you want to change the destination, there is a property rejectedMessageHandlers to be set (see oracle.tip.adapter.file. package). In SOA Suite you would set it in bpel.xml, in OSB it's a bit tricky:&lt;br /&gt;&lt;br /&gt;edit the JCA Proxy Service, JCA Transport Configuration, Dynamic EndPoint Properties, add "rejectedMessageHandlers" with value "file://path/to/your/dir"  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you fail format, you will get this message:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Error JCA_FRAMEWORK_AND_ADAPTER BEA-000000 Unrecognized Rejection handler&lt;br /&gt;Unrecognized Rejection handler&lt;br /&gt;The Rejection handler C:/acme/po/rejected is not recognized.&lt;br /&gt;Please use on of the existing Rejection handlers: file://, queue://, bpel:// or wsif://&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;so your options are a AQ queue (queue refers to AQ, not to JMS!), a BPEL process, a Web Service. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here you have a series of possible formats for the destination:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B14099_19/integrate.1012/b14058/life_cycle.htm"&gt;http://download.oracle.com/docs/cd/B14099_19/integrate.1012/b14058/life_cycle.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;it says that you can send the file to a JMS queue or a DB, not necessarily to a Directory... I haven't tested this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/testcontent/ds-oracleasadapter-files-130342.pdf"&gt;Here the Oracle Integration File Adapter Datasheet&lt;/a&gt; , but it doesn't say much about error handler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3128224958561884350?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3128224958561884350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3128224958561884350&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3128224958561884350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3128224958561884350'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/osb-and-rejectedmessagehandlers-in-jca.html' title='OSB and rejectedMessageHandlers in JCA File Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1433114500602804885</id><published>2011-11-14T06:16:00.000Z</published><updated>2011-11-14T06:16:17.683Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='base64'/><category scheme='http://www.blogger.com/atom/ns#' term='ftpadapter'/><title type='text'>opaq:opaqueElement and base64Binary</title><content type='html'>If you want to write binary data to a FTP in OSB (or simply you want to avoid any nXSD transformation in your XML), you have the option of using &lt;br /&gt;&lt;br /&gt;opaq:opaqueElement&lt;br /&gt;&lt;br /&gt;You should in this case base64-encode your payload. &lt;br /&gt;The bad news is that in Xquery 1.0 there is not a function to base64encode&lt;br /&gt;&lt;br /&gt;You can do a Java Callout or a Custom XPath to a Java function.&lt;br /&gt;&lt;br /&gt;There are plenty of BASE64Encoder classes around... from the BEA WLI framework, from Sun, from Apache....&lt;br /&gt;&lt;br /&gt;more later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1433114500602804885?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1433114500602804885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1433114500602804885&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1433114500602804885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1433114500602804885'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/opaqopaqueelement-and-base64binary.html' title='opaq:opaqueElement and base64Binary'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-2398753920780271264</id><published>2011-11-13T23:39:00.003Z</published><updated>2011-11-16T08:53:40.197Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='FileAdapter'/><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>Security and Authentication in JCA FTP File Adapter</title><content type='html'>I have setup a Credential Mapping to be able to do a Opaque FTP Put with the JCA FTP Adapter, as &lt;a href="http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10231/adptr_file.htm#BABEJEGD"&gt;documented here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It maps a WebLogic user into a FTP EIS User.&lt;br /&gt;&lt;br /&gt;I still get an authentication error:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;####&amp;lt;13-Nov-2011 22:26:29 o'clock CET&amp;gt; &amp;lt;Error&amp;gt; &amp;lt;WliSbTransports&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;anonymous&amp;gt;&amp;gt; &amp;lt;BEA1-07F5BFB39FA8A589D5FB&amp;gt; &amp;lt;9218d6466d04a9d6:4f7d3afe:1339e75d3c7:-8000-00000000000000e4&amp;gt; &amp;lt;1321219589928&amp;gt; &amp;lt;BEA-381502&amp;gt; &amp;lt;Exception in JmsInboundMDB.onMessage: com.bea.wli.sb.transports.TransportException: &amp;lt;jca-transport-application-error xmlns="http://www.bea.com/wli/sb/transports/jca"&amp;gt;&lt;br /&gt;&amp;lt;jca-transport-error-message&amp;gt;Invoke JCA outbound service failed with application error&amp;lt;/jca-transport-error-message&amp;gt;&lt;br /&gt;&amp;lt;jca-runtime-fault-detail&amp;gt;&lt;br /&gt;&amp;lt;eis-error-code&amp;gt;501&amp;lt;/eis-error-code&amp;gt;&lt;br /&gt;&amp;lt;eis-error-message&amp;gt;501 Syntax error&amp;lt;/eis-error-message&amp;gt;&lt;br /&gt;&amp;lt;exception&amp;gt;com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/Phoenix_PurchaseOrder/WriteToWMOS_FTP [ Put_ptt::Put(opaque) ] - WSIF JCA Execute of operation 'Put' failed due to: Error in logging in.&lt;br /&gt;Error in logging in.&lt;br /&gt;Unable to log in to the server.&lt;br /&gt;; nested exception is: &lt;br /&gt;BINDING.JCA-11439&lt;br /&gt;Error in logging in.&lt;br /&gt;Error in logging in.&lt;br /&gt;Unable to log in to the server.&lt;br /&gt;Please ensure userid and password specified to login to the server is correct.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To understand what is going on, I enable debug flag alsb-jca-framework-adapter-debug &lt;a href="http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/jca.htm"&gt;as explained here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All I get is :&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Caused by: BINDING.JCA-11439&lt;br /&gt;Error in logging in.&lt;br /&gt;Error in logging in.&lt;br /&gt;Unable to log in to the server.&lt;br /&gt;Please ensure userid and password specified to login to the server is correct.&lt;br /&gt;&lt;br /&gt;at oracle.tip.adapter.ftp.FTPClient.regularLogin(FTPClient.java:1630)&lt;br /&gt;at oracle.tip.adapter.ftp.FTPClient.login(FTPClient.java:1593)&lt;br /&gt;at oracle.tip.adapter.ftp.FTPAgent.login(FTPAgent.java:1170)&lt;br /&gt;at oracle.tip.adapter.ftp.FTPAgent.preCall(FTPAgent.java:1632)&lt;br /&gt;at oracle.tip.adapter.ftp.FTPAgent.validateOutputDir(FTPAgent.java:1230)&lt;br /&gt;at oracle.tip.adapter.file.outbound.FileInteraction.validateDirectory(FileInteraction.java:2676)&lt;br /&gt;at oracle.tip.adapter.file.outbound.FileInteraction.executeFileWrite(FileInteraction.java:547)&lt;br /&gt;at oracle.tip.adapter.ftp.outbound.FTPInteraction.execute(FTPInteraction.java:251)&lt;br /&gt;at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:529)&lt;br /&gt;... 62 more&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and there is no way to log the actual username/password it is using to login into the FTP server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am using Filezilla Server, I disable the Miscellaneous/Don't show password in logs, and I enable logging on the server.&lt;br /&gt;&lt;br /&gt;What I find is disconcerting:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;(000033) 13-11-2011 21:46:48 - (not logged in) (127.0.0.1)&amp;gt; USER&lt;br /&gt;(000033) 13-11-2011 21:46:48 - (not logged in) (127.0.0.1)&amp;gt; 501 Syntax error&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;while the normal sequence should be:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;(000037) 13-11-2011 21:57:07 - (not logged in) (fe80::5950:1b46:fefe:aa61)&amp;gt; USER someuser&lt;br /&gt;(000037) 13-11-2011 21:57:07 - (not logged in) (fe80::5950:1b46:fefe:aa61)&amp;gt; 331 Password required for someuser&lt;br /&gt;(000037) 13-11-2011 21:57:07 - (not logged in) (fe80::5950:1b46:fefe:aa61)&amp;gt; PASS somepassword&lt;br /&gt;(000037) 13-11-2011 21:57:07 - someuser (fe80::5950:1b46:fefe:aa61)&amp;gt; 230 Logged on&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;normally after USER I should see a username.... this means that the mapping fails.&lt;br /&gt;&lt;br /&gt;The case is &lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=2123457"&gt;reported here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I notice that the log statement reports "anonymous". If you go to deployment, FtpAdapter, Security, Principal you can set "weblogic" and principal, and make sure that you also use weblogic in the Credential Mapping.&lt;br /&gt;This is not enough.&lt;br /&gt;&lt;br /&gt;In the $inbound of the OSB request I notice:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;con:security&amp;gt;&lt;br /&gt;&amp;lt;con:transportClient&amp;gt;&lt;br /&gt;&amp;lt;con:username&amp;gt;&amp;lt;anonymous&amp;gt;&amp;lt;/con:username&amp;gt;&lt;br /&gt;&amp;lt;/con:transportClient&amp;gt;&lt;br /&gt;&amp;lt;/con:security&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;so I create a weblogicServiceAccount for username weblogic, associate it to the Proxy JMS Service Account  (hoping to make the OSB proxy "run as" the weblogic username, but I get this in the logs:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;ServiceAccountRuntimeManagerImpl.getUsernamePasswordCredential = this: com.bea.wli.sb.svcacct.ServiceAccountRuntimeManagerImpl@17d3da &lt;br /&gt;&lt;br /&gt;Could not find credentials on admin server: java.lang.IllegalArgumentException: com.bea.wli.sb.management.configuration.ServiceAccountRuntime is not an interface&lt;br /&gt;&lt;br /&gt;com.bea.wli.sb.svcacct.ServiceAccountRuntimeCache@1e49c6b$ServiceAccountRuntimeCache.get(Acme_PurchaseOrder/weblogicServiceAccount)&lt;br /&gt;&lt;br /&gt;ServiceAccountRuntimeCache.get(Acme_PurchaseOrder/weblogicServiceAccount) returned ServiceAccountRuntime[Acme_PurchaseOrder/weblogicServiceAccount]&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and the $inbound still shows anonymous user&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Anyway, at the end I do:&lt;br /&gt;&lt;br /&gt;Deployments/FtpAdapter/Security/Credential Mapping/New/Unauthenticated User and I map it to the FTP user.... works like magic!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The alternative is to specify a username/password in the JCA Outbound Connection Pool instance properties (there are 55 properties, only 10 shown in the first page... they are in alphabetical order, so yuoi must go to the last page)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Gk0FDCNHj8o/TsN56OemXII/AAAAAAAAAwU/Cjt-m6H_ZCg/s1600/JCACapture.JPG" imageanchor="1"&gt;&lt;img border="0" height="329" src="http://4.bp.blogspot.com/-Gk0FDCNHj8o/TsN56OemXII/AAAAAAAAAwU/Cjt-m6H_ZCg/s640/JCACapture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One day I will figure out how to attach a WebLogic principal to an incoming JMS request...  security has always been my Achilles' heel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-2398753920780271264?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/2398753920780271264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=2398753920780271264&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2398753920780271264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/2398753920780271264'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/security-and-authentication-in-jca-ftp.html' title='Security and Authentication in JCA FTP File Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Gk0FDCNHj8o/TsN56OemXII/AAAAAAAAAwU/Cjt-m6H_ZCg/s72-c/JCACapture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1765369309336391463</id><published>2011-11-13T22:02:00.000Z</published><updated>2011-11-13T22:02:54.784Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>WebLogic on YouTube</title><content type='html'>&lt;a href="http://www.youtube.com/OracleWebLogic"&gt;http://www.youtube.com/OracleWebLogic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am watching these videos, some of them are quite cool...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1765369309336391463?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1765369309336391463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1765369309336391463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1765369309336391463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1765369309336391463'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/weblogic-on-youtube.html' title='WebLogic on YouTube'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5458438868257572679</id><published>2011-11-10T19:30:00.001Z</published><updated>2011-11-10T19:31:14.276Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ftpadapter'/><category scheme='http://www.blogger.com/atom/ns#' term='JCA'/><title type='text'>JCATransport:381987 in JCA FTP Adapter</title><content type='html'>I have created a FTP Adapter in JDeveloper 11.1.1.5 and imported in OSB.&lt;br /&gt;&lt;br /&gt;When I activate, I get this beautiful conflict&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;[JCATransport:381987]An error occured while validating JCA transport endpoint. JNDI lookup with URL: jca://eis/ftp/FtpAdapter failed. Missing JNDI configuration such as undeployed or misconfigured JCA Adapter RAR or connection factory.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well, embarrassingly enough it turns out that the actual JNDI Binding name is eis/Ftp/FtpAdapter and not eis/ftp/FtpAdapter (upper case F) as proposed by &lt;br /&gt;&lt;br /&gt;I wonder how such a blunder could take place in JDeveloper...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-MZiPRfSjLeU/TrwmTDpwQRI/AAAAAAAAAwE/VBNoO4cAC7o/s1600/CaptureJDev.JPG" imageanchor="1"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-MZiPRfSjLeU/TrwmTDpwQRI/AAAAAAAAAwE/VBNoO4cAC7o/s320/CaptureJDev.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5458438868257572679?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5458438868257572679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5458438868257572679&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5458438868257572679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5458438868257572679'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/jcatransport381987-in-jca-ftp-adapter.html' title='JCATransport:381987 in JCA FTP Adapter'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-MZiPRfSjLeU/TrwmTDpwQRI/AAAAAAAAAwE/VBNoO4cAC7o/s72-c/CaptureJDev.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-753517103396645894</id><published>2011-11-09T21:40:00.001Z</published><updated>2011-11-09T21:41:44.672Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSB'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><title type='text'>OSB Validate action failed validation</title><content type='html'>The Exception logged is quite useless. You must examine the $fault in an error handler, to determine what went wrong:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush: xml"&gt;&amp;lt;con:fault xmlns:con="http://www.bea.com/wli/sb/context"&amp;gt;&lt;br /&gt;  &amp;lt;con:errorCode&amp;gt;BEA-382505&amp;lt;/con:errorCode&amp;gt;&lt;br /&gt;  &amp;lt;con:reason&amp;gt;OSB Validate action failed validation&amp;lt;/con:reason&amp;gt;&lt;br /&gt;  &amp;lt;con:details&amp;gt;&lt;br /&gt;    &amp;lt;con1:ValidationFailureDetail xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config"&amp;gt;&lt;br /&gt;      &amp;lt;con1:message&amp;gt;string length (4) is greater than maxLength facet (3) for UOMType in namespace http://acme.pippo.com/po&amp;lt;/con1:message&amp;gt;&lt;br /&gt;      &amp;lt;con1:xmlLocation&amp;gt;&lt;br /&gt;        &amp;lt;po:UOM xmlns:po="http://acme.pippo.com/po"&amp;gt;PAL&amp;lt;/po:UOM&amp;gt;&lt;br /&gt;      &amp;lt;/con1:xmlLocation&amp;gt;&lt;br /&gt;      &amp;lt;con1:message&amp;gt;string length (4) is greater than maxLength facet (3) for UOMType in namespace http://acme.pippo.com/po&amp;lt;/con1:message&amp;gt;&lt;br /&gt;      &amp;lt;con1:xmlLocation&amp;gt;&lt;br /&gt;        &amp;lt;po:UOM xmlns:po="http://acme.pippo.com/po"&amp;gt;PAL&amp;lt;/po:UOM&amp;gt;&lt;br /&gt;      &amp;lt;/con1:xmlLocation&amp;gt;&lt;br /&gt;    &amp;lt;/con1:ValidationFailureDetail&amp;gt;&lt;br /&gt;  &amp;lt;/con:details&amp;gt;&lt;br /&gt;  &amp;lt;con:location&amp;gt;&lt;br /&gt;    &amp;lt;con:node&amp;gt;PPL_acme_PO_FFMW_FilePoller_file&amp;lt;/con:node&amp;gt;&lt;br /&gt;    &amp;lt;con:pipeline&amp;gt;PPL_acme_PO_FFMW_FilePoller_file_request&amp;lt;/con:pipeline&amp;gt;&lt;br /&gt;    &amp;lt;con:stage&amp;gt;Validation&amp;lt;/con:stage&amp;gt;&lt;br /&gt;    &amp;lt;con:path&amp;gt;request-pipeline&amp;lt;/con:path&amp;gt;&lt;br /&gt;  &amp;lt;/con:location&amp;gt;&lt;br /&gt;&amp;lt;/con:fault&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For some funny reason, the error message and location are repeated twice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-753517103396645894?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/753517103396645894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=753517103396645894&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/753517103396645894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/753517103396645894'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/osb-validate-action-failed-validation.html' title='OSB Validate action failed validation'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-3556434857185923811</id><published>2011-11-09T09:20:00.000Z</published><updated>2011-11-09T09:20:28.959Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='osbinstall'/><title type='text'>Installing OSB 10.3.5 on a Windows machine where you are not the Administrator</title><content type='html'>The installer needs to create a directory &lt;br /&gt;C:\Program Files\Oracle\Inventory&lt;br /&gt;&lt;br /&gt;and you won't be able unless you run as Administrator.&lt;br /&gt;&lt;br /&gt;Run your installer right-clicking C:\tmp\Disk1\install\win32\setup.exe and choose "Run as administrator". That should do the job.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-3556434857185923811?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/3556434857185923811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=3556434857185923811&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3556434857185923811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/3556434857185923811'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/installing-osb-1035-on-windows-machine.html' title='Installing OSB 10.3.5 on a Windows machine where you are not the Administrator'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-1289571012674534243</id><published>2011-11-09T08:51:00.003Z</published><updated>2011-12-01T08:21:07.262Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='FileAdapter'/><category scheme='http://www.blogger.com/atom/ns#' term='rejectedMessageHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='nxsd'/><title type='text'>Anatomy of a JCA File Adapter parsing failure</title><content type='html'>If you submit a "broken" file to a File Adapter associated to a nXSD transformation, you might expect something like this to happen (see after).&lt;br /&gt;&lt;br /&gt;To be noticed:&lt;br /&gt;&lt;br /&gt;* eventually, the file is moved to the error directory&lt;br /&gt;&lt;br /&gt;* The entry point to the translation is &lt;b&gt;oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.translateFromNative&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* The exception is a ORABPEL-11168&lt;br /&gt;* The Proxy Service is not invoked, so there is no way to trace this error in OSB.&lt;br /&gt;&lt;br /&gt;* To trace the error, you must implement a RejectedMessageHandler&lt;br /&gt;* In alternative, you could "grep" the logs for ORABPEL-11168 with WLDF, but this solution really sucks&lt;br /&gt;&lt;br /&gt;So implementing a RejectedMessageHandler seems to me the best way to trace the error. This requires more investigation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397613&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Error while translating inbound file : po00000BROKEN.dat&lt;br /&gt;ORABPEL-11168&lt;br /&gt;&lt;br /&gt;Error while reading native data.&lt;br /&gt;[Line=1, Col=1] Expected "," for the data starting at the specified position, while trying to read the data for "element with name OrderNumber", using "style" as "terminated" and "terminatedBy" as ",", but not found.&lt;br /&gt;Ensure that ",", exists for the data starting at the specified position.&lt;br /&gt;&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDStyleBasedReader.readTerminatedStyle(NXSDStyleBasedReader.java:338)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.readTerminatedStyle(NXSDTranslatorImpl.java:2771)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.readNativeData(NXSDTranslatorImpl.java:2841)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processScalarType(NXSDTranslatorImpl.java:3600)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processElement(NXSDTranslatorImpl.java:3800)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1327)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processGroup(NXSDTranslatorImpl.java:3705)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1334)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processComplexType(NXSDTranslatorImpl.java:3841)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1330)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processElement(NXSDTranslatorImpl.java:3806)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1327)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processGroup(NXSDTranslatorImpl.java:3705)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1334)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processComplexType(NXSDTranslatorImpl.java:3841)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1330)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.processElement(NXSDTranslatorImpl.java:3806)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1327)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.doTranslateFromNative(NXSDTranslatorImpl.java:846)&lt;br /&gt;at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.translateFromNative(NXSDTranslatorImpl.java:602)&lt;br /&gt;at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.xlate(InboundTranslatorDelegate.java:314)&lt;br /&gt;at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.doXlate(InboundTranslatorDelegate.java:121)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessorDelegate.doXlate(ProcessorDelegate.java:388)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessorDelegate.process(ProcessorDelegate.java:174)&lt;br /&gt;at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:349)&lt;br /&gt;at weblogic.work.ContextWrap.run(ContextWrap.java:41)&lt;br /&gt;at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)&lt;br /&gt;at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)&lt;br /&gt;at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)&lt;br /&gt;&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397614&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Since a translation exception was thrown, this indicates that  it is a non-debatching scenario.&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397615&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Failed to translate file : {C:\acme\ffmw\po\in\po00000BROKEN.dat}&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397615&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Sending message to Adapter Framework for rejection to user-configured rejection handlers  : {&lt;br /&gt;file=C:\acme\ffmw\po\in\po00000BROKEN.dat, Exception=ORABPEL-11168&lt;br /&gt;&lt;br /&gt;Error while reading native data.&lt;br /&gt;[Line=1, Col=1] Expected "," for the data starting at the specified position, while trying to read the data for "element with name OrderNumber", using "style" as "terminated" and "terminatedBy" as ",", but not found.&lt;br /&gt;Ensure that ",", exists for the data starting at the specified position.&lt;br /&gt;&lt;br /&gt;}&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397616&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;onReject: The resource adapter 'File Adapter' requested handling of a malformed inbound message. However, the following activation property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy. Will use the default Rejection Directory file://jca\Read\rejectedMessages for now.&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397616&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;onReject: Sending invalid inbound message to Rejection Handler: &amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397618&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Handing rejected message to DEFAULT rejection handler: file://jca\Read\rejectedMessages since none of the configured rejection handlers [] succeeded.&amp;gt; &lt;br /&gt;####&amp;lt;08-Nov-2011 22:39:57 o'clock CET&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;pierrepc&amp;gt; &amp;lt;osb_server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;9218d6466d04a9d6:5003231f:133830ed055:-8000-0000000000000031&amp;gt; &amp;lt;1320788397622&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Copying file :C:\acme\ffmw\po\in\po00000BROKEN.dat to user-defined archive directory for files with errors :C:\acme\ffmw\po\error&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See also &lt;a href="http://docs.oracle.com/cd/E12839_01/integration.1111/e10231/life_cycle.htm#BABBHJEA"&gt;this Oracle documentation&lt;/a&gt; on the rejectedMessageHandler topic&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Errors or faults arising after the message is posted to Service Infrastructure layer are not rejected. These faulted messages are handled by the Service Infrastructure components and will not be considered as rejected messages.&lt;br /&gt;&lt;br /&gt;Adapters and other binding components (for example, WS Binding Component) reject messages which error out at the binding level, that is, before entering the Service Infrastructure layer. All rejected messages are stored in the Database with payload.&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-1289571012674534243?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/1289571012674534243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=1289571012674534243&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1289571012674534243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/1289571012674534243'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/anatomy-of-jca-file-adapter-parsing.html' title='Anatomy of a JCA File Adapter parsing failure'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-5364430512188486068</id><published>2011-11-08T20:35:00.002Z</published><updated>2011-11-08T20:50:49.781Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='FileAdapter'/><title type='text'>JCA File Adapter and Error files</title><content type='html'>Oracle implementation of the File Adapter is the class:&lt;br /&gt;&lt;b&gt;oracle.tip.adapter.file.inbound.FileActivationSpec&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you customize the adapter in the .JCA file&lt;br /&gt;&lt;br /&gt;One of its parameters is &lt;br /&gt;&lt;br /&gt;&lt;b&gt;PhysicalErrorArchiveDirectory&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;and &lt;a href="http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10226/bc_config.htm#CBDFEBGB"&gt;it is documented here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For instance if you submit an empty file, the File Adapter will fail and move the file to the Error directory. In the logs I find:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Warning&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;onReject: The resource adapter 'File Adapter' requested handling of a malformed inbound message. However, the following activation property has not been defined: '&lt;b&gt;rejectedMessageHandlers&lt;/b&gt;'. Please define it and redeploy. Will use the default Rejection Directory file://jca\Read\rejectedMessages for now.&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Warning&amp;gt; &amp;lt;JCA_FRAMEWORK_AND_ADAPTER&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;onReject: Sending invalid inbound message to Rejection Handler: &amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In case of error in the Proxy Service consuming the message, at proxy level you should set &lt;b&gt;jca.retry.count&lt;/b&gt; and &lt;b&gt;jca.retry.interval&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jca:endpoint-properties&amp;gt;&lt;br /&gt;&amp;lt;jca:endpoint-property&amp;gt;&lt;br /&gt;&amp;lt;jca:name&amp;gt;jca.retry.count&amp;lt;/jca:name&amp;gt;&lt;br /&gt;&amp;lt;jca:value&amp;gt;3&amp;lt;/jca:value&amp;gt;&lt;br /&gt;&amp;lt;/jca:endpoint-property&amp;gt;&lt;br /&gt;&amp;lt;jca:endpoint-property&amp;gt;&lt;br /&gt;&amp;lt;jca:name&amp;gt;jca.retry.interval&amp;lt;/jca:name&amp;gt;&lt;br /&gt;&amp;lt;jca:value&amp;gt;40&amp;lt;/jca:value&amp;gt;&lt;br /&gt;&amp;lt;/jca:endpoint-property&amp;gt;        &lt;br /&gt;&amp;lt;/jca:endpoint-properties&amp;gt;&lt;br /&gt;&lt;br /&gt;with these settings, you will see these messages:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Failed to send message {C:\acme\ffmw\po\in\po000000002.dat} to Adapter Framework due to Retriable Exception, the worker will sleep for the configured retryInterval[40000] msecs&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Retry Interval will be bounded to [30000] msecs since we're using a global processor thread pool and the current retryInterval is[40000] msecs&lt;br /&gt;&lt;br /&gt;Since Retry Interval is specified, the processor will disable for[30000] msecs to throttle&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;40 seconds after, you get:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The adapter will not process [C:\acme\ffmw\po\in\po000000002.dat] since it has been processed earlier&lt;br /&gt;&lt;br /&gt;onReject: Sending invalid inbound message to Rejection Handler: &lt;br /&gt;&lt;br /&gt;Handing rejected message to DEFAULT rejection handler: file://jca\Read\rejectedMessages since none of the configured rejection handlers [] succeeded.&lt;br /&gt;&lt;br /&gt;Copying file :C:\acme\ffmw\po\in\po000000002.dat to user-defined archive directory for files with errors :C:\acme\ffmw\po\error&lt;br /&gt;&lt;br /&gt;The adapter has handled the poisoned file [C:\acme\ffmw\po\in\po000000002.dat]&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, only if you set the retry count the file will eventually be moved to the error directory also on "application" error triggered by the Proxy Service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-5364430512188486068?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/5364430512188486068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=5364430512188486068&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5364430512188486068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/5364430512188486068'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/jca-file-adapter-and-error-files.html' title='JCA File Adapter and Error files'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3195885170348729753.post-4515079888285282864</id><published>2011-11-07T09:12:00.000Z</published><updated>2011-11-07T09:12:55.558Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eclipse: Interpreter: Weblogic 10.3.5 WLST Interpreter not found</title><content type='html'>Apparently in Eclipse, if you Import an existing project with the "Oracle WebLogic Scripting Tools (WLST) Support" facet, this is not enough to have the facet fully configured in your new project.&lt;br /&gt;You will get an error "Interpreter: Weblogic 10.3.5 WLST Interpreter not found".&lt;br /&gt;Workaround: create the Utiliy project, enable the "Oracle WebLogic Scripting Tools (WLST) Support" facet and copy the code manually.&lt;br /&gt;&lt;br /&gt;I will not miss too much Eclipse... or maybe yes, it could be worse, it could rain...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3195885170348729753-4515079888285282864?l=www.javamonamour.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.javamonamour.org/feeds/4515079888285282864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3195885170348729753&amp;postID=4515079888285282864&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4515079888285282864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3195885170348729753/posts/default/4515079888285282864'/><link rel='alternate' type='text/html' href='http://www.javamonamour.org/2011/11/eclipse-interpreter-weblogic-1035-wlst.html' title='Eclipse: Interpreter: Weblogic 10.3.5 WLST Interpreter not found'/><author><name>Pierluigi Vernetto</name><uri>http://www.blogger.com/profile/00289134594764720847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-tcEIjS3AVPs/TkC5cawFNII/AAAAAAAAAp8/OfktLl_cojI/s220/pierluigi_vernetto.jpg'/></author><thr:total>0</thr:total></entry></feed>
