Andrej Koelewijn

  • Home
  • About
  • Departments
    • cloud
    • java
    • mobile
    • open standards
    • oracle
    • oss
    • other
    • soa
    • software development
    • tablet
    • Uncategorized
    • web
  • Subscribe via RSS

Wicket and Mule on OC4J

November 4th, 2009  |  Published in java, oracle, oss, soa

I did a small proof of concept yesterday: a wicket web application using embedded Mule to connect to some services. Problem is that it had to run on OC4J 10.1.3.4.0 with Java 5. Got it running pretty fast, some tips:

  • Oracle’s xml parser didn’t like some of Mule’s xsd files. You can solve this by including the Xerxes xml parser in the web application, and making sure that local classes are loaded first:
    The maven dependency required:

            <dependency>
              <groupId>xerces</groupId>
              <artifactId>xercesImpl</artifactId>
              <version>2.9.1</version>
            </dependency>
    

    The orion-web.xml file required to load local classes first, so the oracle xml parser isn’t used:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <orion-web-app directory-browsing="allow">
      <web-app-class-loader search-local-classes-first="true"
       include-war-manifest-class-path="true" />
    </orion-web-app>
    
  • OC4J has some problems displaying wicket pages if you use the wicket filter as follows in your web.xml:
    <filter>
      <filter-name>wicket.ZmWeb</filter-name>
      <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
      <init-param>
        <param-name>applicationClassName</param-name>
        <param-value>nl.iteye.poc.WicketApplication</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>wicket.ZmWeb</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    If you run it like this OC4J will complain that directory browsing isn’t allowed. Just adding a simple html file in your web folder solves the issue, for example src/main/webapp/index.html if you’re using the default maven project layout.

Having mule embedded in your web application makes using services really easy. From your java code you just call a mule service with a vm transport, and from there you can call web services with a http connector for example. I did the XOM (Xml Object Mapping) using a bit of groovy scripting in a response transformer using the XML slurper. The result is that there’s no need for code generation based on wsdls, and you can put integration patterns into your mule configuration. No need to have a separate deploy to a standalone ESB server.

Share and Enjoy:
  • del.icio.us
  • Google Bookmarks
  • DZone
  • SphereIt
  • StumbleUpon
  • Technorati
  • LinkedIn
  • HackerNews
  • PDF
  • Digg
  • Facebook
  • FriendFeed
  • Posterous
  • Tumblr
  • Twitter
  • RSS
  • andrkoel

    blogpost: wicket and mule on oc4j: http://bit.ly/2qhpY4


    This comment was originally posted on Twitter

blog comments powered by Disqus

Tags

bi bpel camel cep css dsl esb esper google governance grails groovy gtalk html5 innovation internet ipad ivy java javascript jaxrs jersey jigsaw jquery linkeddata linux maven middleware mule noiv openoffice openweb oracle osgi oss plsql rdbms rest soa sql sun tablet web 2.0 xmpp yql

Archives

  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Recent Posts

  • Getting started with Nexus maven repository manager
  • JEE CDI tip: Target Unreachable, identifier resolved to null
  • Absent Code attribute in method that is not native or abstract
  • Prezi presentation software needs to add visual
  • So you think it’s the iPad that’s missing features?

Categories

  • cloud
  • java
  • mobile
  • open standards
  • oracle
  • oss
  • other
  • soa
  • software development
  • tablet
  • Uncategorized
  • web

Recent Comments

  • andrej on So you think it’s the iPad that’s missing features?
  • Dave on So you think it’s the iPad that’s missing features?
  • andrej on So you think it’s the iPad that’s missing features?
  • Fernando on So you think it’s the iPad that’s missing features?
  • andrej on So you think it’s the iPad that’s missing features?

RSS Friendfeed

  • Amerikanen rangschikken Rotterdams MVRDV in top 50 March 9, 2010
    andrej koelewijn Amerikanen rangschikken Rotterdams MVRDV in top 50 - http://www.idealize.nl/2010... 15 hours ago from Google Reader - Comment - Like […]
    FriendFeed
  • Getting started with Nexus maven repository manager March 9, 2010
    andrej koelewijn Getting started with Nexus maven repository manager - http://www.andrejkoelewijn.com/wp... 15 hours ago from Google Reader - Comment - Like […]
    FriendFeed
  • @eelzinga Did you add the remote repository to the correct reposutory group in nexus? http://bit.ly/a2gTmZ March 9, 2010
    andrej koelewijn @eelzinga Did you add the remote repository to the correct reposutory group in nexus? http://www.andrejkoelewijn.com/wp... 15 hours ago from Twitter - Comment - Like […]
    FriendFeed
  • Getting started with Nexus maven repository manager March 9, 2010
    andrej koelewijn Getting started with Nexus maven repository manager - http://www.andrejkoelewijn.com/wp... 15 hours ago from Andrej Koelewijn - Comment - Like […]
    FriendFeed
  • Re: 7 Reasons For Apple To Acquire Adobe March 7, 2010
    andrej koelewijn Re: 7 Reasons For Apple To Acquire Adobe - http://thenextweb.com/apple... Saturday from Disqus - Comment - Like "Seems to me you left out the most important reason: ipad will be about media convergence: combining books with magazines, newspapers, tv and internet. Currently adobe seems to have the best tools to create these new types of […]
    FriendFeed
  • Do we need a new tech literacy? (Behind the “big data” services like Twitter, Facebook use) March 6, 2010
    andrej koelewijn Do we need a new tech literacy? (Behind the “big data” services like Twitter, Facebook use) - http://scobleizer.com/2010... Saturday from Google Reader - Comment - Like […]
    FriendFeed
  • Pivot: Business intelligence meets the internet as a database http://bit.ly/bFc6wp March 6, 2010
    andrej koelewijn Pivot: Business intelligence meets the internet as a database http://infosthetics.com/archive... Saturday from Twitter - Comment - Like […]
    FriendFeed
  • Live Labs Pivot: A Massive Interactive Zoom on Data (TED Talk) March 6, 2010
    andrej koelewijn Live Labs Pivot: A Massive Interactive Zoom on Data (TED Talk) - http://infosthetics.com/archive... Saturday from Google Reader - Comment - Like […]
    FriendFeed
  • http://twitpic.com/16ykk7 - March 6, 2010
    andrej koelewijn http://twitpic.com/16ykk7 - Saturday from Twitter - Comment - Like […]
    FriendFeed
  • http://twitpic.com/16y8ve - #vuurtoren #scheveningen March 6, 2010
    andrej koelewijn http://twitpic.com/16y8ve - #vuurtoren #scheveningen Saturday from Twitter - Comment - Like […]
    FriendFeed


©2010 Andrej Koelewijn
Powered by WordPress using the Gridline Lite theme by Graph Paper Press.