<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blogs from Iterox</title>
	<atom:link href="http://blogiterox.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogiterox.wordpress.com</link>
	<description>Java Enterprise Development</description>
	<lastBuildDate>Sun, 24 Jul 2011 18:36:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blogiterox.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blogs from Iterox</title>
		<link>http://blogiterox.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blogiterox.wordpress.com/osd.xml" title="Blogs from Iterox" />
	<atom:link rel='hub' href='http://blogiterox.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Exploring Apache Axis2 and Eclipse Plug-in Development</title>
		<link>http://blogiterox.wordpress.com/2008/10/24/exploring-apache-axis2-and-eclipse-plug-in-development/</link>
		<comments>http://blogiterox.wordpress.com/2008/10/24/exploring-apache-axis2-and-eclipse-plug-in-development/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 07:33:59 +0000</pubDate>
		<dc:creator>Eric Tamminga</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jee]]></category>
		<category><![CDATA[Axis2]]></category>
		<category><![CDATA[Plug-in Development]]></category>

		<guid isPermaLink="false">http://blogiterox.wordpress.com/?p=15</guid>
		<description><![CDATA[Introduction Exploring Service Oriented Architecture I decided to dive into Apache Axis2. I like to work with Eclipse IDE and having found this tutorial I started it right away. I use Eclipse Ganymede (SDK 3.4.0) with JDK 1.5.0_16 and Tomcat 6.0.18 (on XP/SP3) and did not pay too much attention to the fact that the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogiterox.wordpress.com&amp;blog=5275425&amp;post=15&amp;subd=blogiterox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-size:12pt;"><strong>Introduction<br />
</strong></span></p>
<p><span style="font-size:10pt;">Exploring Service Oriented Architecture I decided to dive into <a href="http://ws.apache.org/axis2/index.html">Apache Axis2</a>. I like to work with <a href="http://www.eclipse.org/">Eclipse IDE</a> and having found <a href="http://wso2.org/library/1719">this</a> tutorial I started it right away. I use Eclipse Ganymede (SDK 3.4.0) with JDK 1.5.0_16 and Tomcat 6.0.18 (on XP/SP3) and did not pay too much attention to the fact that the tutorial was written for Eclipse SDK v3.2 and Axis2 Eclipse Plug-in v1.3 with JDK 1.4.2.x and Tomcat 4.1.x. Part 1 of the tutorial went fine almost to the last step. I downloaded the two Axis2 Eclipse Plug-ins (of interest for this short story is the Axis2 Code Generator Plug-in which I downloaded from <a href="http://www.apache.org/dyn/mirrors/mirrors.cgi/ws/axis2/tools/1_4_1/axis2-eclipse-codegen-wizard.zip">here</a>), unzipped them and installed the two unzipped folders in the dropins folder of Eclipse and restarted Eclipse. Generating the service archive into the deployed Axis2 Web Application went smooth. Generating the WSDL from the Java source gave no problems until I got to the point where I clicked the final Finish button to complete the Axis2 Code Generator Plug-in Wizard.<br />
</span></p>
<p><span style="font-size:10pt;">It said:<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap1.png?w=700" alt="" /></p>
<p><span style="font-size:10pt;">No further information. No logging. No nothing. Searching the web lead me to this very same tutorial, where, I now found out, were quite a large number of desperate comments on the occurrence of the java.lang.reflect.InvocationtargetException, but no solution. (Later I found <a href="http://www.nabble.com/Axis2:-Error-while-trying-to-use-Wsdl2Java-eclipse-plugin-td17064841.html">this</a> thread of comments,  but that was after I investigated the problem myself). What to do? Since the Axis2 Code Generator Plug-in Wizard came with sources included and a .classpath and a .project file I thought it worthwhile to give it a shot and import the whole thing as a </span><span style="font-size:9pt;">Plug-ins and Fragments</span><span style="font-size:10pt;"> into my workspace and debug it! Yeah! Let&#8217;s go.<br />
</span></p>
<p><span style="font-size:12pt;"><strong>Debugging Axis2 Code Generator Wizard Plug-in<br />
</strong></span></p>
<p><span style="font-size:10pt;">With Eclipse started and the Plug-in Development perspective selected choose Import and from the list select Plug-ins and Fragments like below:<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap2.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Choose Next. The following screen is displayed:<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap3.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Choose next. Select Axis2_Codegen_Wizard (1.3.0) in the left panel and click Add<span style="font-family:Wingdings;">à</span> to have the plug-in selected for import. (Make sure that you have the target platform pointing to your Eclipse home directory)<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap4.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Click Finish. Eclipse will now import the plug-in into the workspace. A couple of errors are displayed. I ignored them.<span style="font-family:Wingdings;">J</span><br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap5.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Before I move on lets switch over to the Debug perspective and add a Java Exception Breakpoint and select java.lang.reflect.InvocationTargetException like shown below.<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap6.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Switch back to the Plug-in Development perspective and open plugin.xml with the built-in Plug-in Manifest editor. The Overview tab is shown.<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap7.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Under the Testing heading click the hyperlink &#8220;Launch an Eclipse application in Debug mode&#8221;. Ignore the Errors in Workspace notification and click Proceed. A new Eclipse Application is launched in which we now will invoke the Axis2 Code Generator Plug-in Wizard by following the <a href="http://wso2.org/library/1719">tutorial</a> at the point where the WSDL is to be generated from the java class. Upon clicking the Finish button to complete the wizard you will see that the Eclipse Application from which we launched is now halted at the Java Exception Breakpoint for the InvocationTargetException:<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap8.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">As you can see in the screenshot the Variables view now tells us that a RuntimeException has occurred. This is caused by a NoClassDefFoundError for class javax/xml/stream/XMLStreamException. In Firefox I then went to findjar.com and entered &#8220;javax/xml/stream/XMLStreamException&#8221;. This lead to stax-api-1.0.1.jar. I downloaded this jar file and added it to the \lib directory of the plug-in residing in the dropins directory of your Eclipse installation. As a matter of fact the jar is listed in the plugin.xml, but apparently the plug-in is provided without the actual jar file in it. After adding the jar file restart Eclipse using the –clean option.<br />
</span></p>
<p><span style="font-size:10pt;">Repeating the same procedure as described above I again launched an Eclipse application in debug mode and invoked the Plug-in Wizard once more. Going through the steps of the wizard I finally clicked the Finish button and again the java Exception Breakpoint for the same InvocationTargetException halted as can be seen in the following screenshot:<br />
</span></p>
<p><img src="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap9.png?w=700" alt="" /><span style="font-size:10pt;"><br />
</span></p>
<p><span style="font-size:10pt;">Again a RuntimeException, but this time caused by the absence of class edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap. Through findjar.com I established that it&#8217;s inside backport-util-concurrent-3.1.jar. This I found to be part of the Axis2 1.4.1 distribution and I copied it from there to the \lib directory of the Plug-in. This time also adding an entry to the plugin.xml, just like the other jar files.<br />
</span></p>
<p><span style="font-size:10pt;">Repeating the steps from the tutorial again, this time clicking the Finish button of the Axis2 Code Generator Plug-in Wizard resulted in the desired WSDL file being created. Yippee!<br />
</span></p>
<p><span style="font-size:12pt;"><strong>Conclusion<br />
</strong></span></p>
<p><span style="font-size:10pt;">To get myself familiarized with Apache Axis2 in combination with the Eclipse platform I stumbled upon the Axis2 Code Generator Plug-in Wizard crashing in an exception being thrown. I then used Eclipse Plug-in Development to Import the Plug-in code and start debugging it. (A helpful resource in this respect is the cheat sheet on creating an Eclipse Plug-in). This lead to the discovery of two missing jar files in the lib directory of the plug-in folder. After adding these jar files the Axis2 Code generator Plug-in is working fine. So, now it&#8217;s time to continue my journey in the land of SOA.</span></p>
<p><span style="font-size:10pt;"><br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogiterox.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogiterox.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogiterox.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogiterox.wordpress.com&amp;blog=5275425&amp;post=15&amp;subd=blogiterox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogiterox.wordpress.com/2008/10/24/exploring-apache-axis2-and-eclipse-plug-in-development/feed/</wfw:commentRss>
		<slash:comments>78</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69b78863c9a85ecd6c3040a48cee260b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tammi</media:title>
		</media:content>

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap1.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap2.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap3.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap4.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap5.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap6.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap7.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap8.png" medium="image" />

		<media:content url="http://blogiterox.files.wordpress.com/2008/10/102408-0733-exploringap9.png" medium="image" />
	</item>
	</channel>
</rss>
