<?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/"
	>

<channel>
	<title>Gooder Code</title>
	<atom:link href="http://www.goodercode.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.goodercode.com/wp</link>
	<description>Me code gooder one day (and more fastly)</description>
	<lastBuildDate>Sun, 29 Jan 2012 14:40:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Spring Roo Database Reverse Engineer with Oracle</title>
		<link>http://www.goodercode.com/wp/spring-roo-database-reverse-engineer-with-oracle/</link>
		<comments>http://www.goodercode.com/wp/spring-roo-database-reverse-engineer-with-oracle/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 14:40:49 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[roo]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=250</guid>
		<description><![CDATA[So you are trying to reverse engineer an Oracle database with roo? Unfortunately, due to licensing restrictions with the Oracle JDBC Drivers, this is a little difficult. There are a few blog posts and forum threads that address the problem but I figured I would post what worked for me here. First, you need to [...]]]></description>
			<content:encoded><![CDATA[<p><script src="/js/syntaxhighlighter_2.1.364/scripts/shBrushBash.js"></script></p>
<p>So you are trying to <em>reverse engineer an Oracle database with roo</em>?</p>
<p>Unfortunately, due to licensing restrictions with the Oracle JDBC Drivers, this is a little difficult.  There are a few blog posts and forum threads that address the problem but I figured I would post what worked for me here.</p>
<p>First, you need to download the <a href="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html">appropriate Oracle Drivers from Oracle</a>.  The required login, stringent password requirements, nosy registration form, and general system instability made this a pretty painful step for me.  I&#8217;d also like to say that companies that have password requirements that don&#8217;t allow symbols (or any other non-standard requirement) have a special place in my heart.  Having to recover my password every time I go to your site virtually guarantees I will only go there when I absolutely have to (not often).  Anyways, once you have it downloaded you need to install is with maven:</p>
<pre class="brush: bash">
mvn install:install-file -Dfile=~/Downloads/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true
</pre>
<p>Here comes the fun part.  You need to create an osgi wrapper for the driver to install it in roo.  Otherwise, roo cannot see the driver.  Create a new folder and put the contents of the <a href="https://gist.github.com/1698906">oracle roo addon pom</a> gist I created.  Now build it with maven.  You may want to change some of the artifact ids and dependencies for your particular situation.</p>
<pre class="brush: bash">
mvn package
</pre>
<p>No open a roo shell and execute the following command:</p>
<pre class="brush: bash">
osgi install --url file:///Users/me/my-osgi-project/target/the-jar-it-built.jar
</pre>
<p>Now run (in roo):</p>
<pre class="brush: bash">
jpa setup --provider HIBERNATE --database ORACLE
dependency remove --groupId com.oracle --artifactId ojdbc14 --version 10.2.0.2
dependency add --groupId com.oracle --artifactId ojdbc6 --version 11.2.0.3
database properties set --key database.driverClassName --value oracle.jdbc.OracleDriver
database properties set --key database.url --value jdbc:oracle:thin:@%YOUR_CONNECTION_INFO%
database properties set --key database.username --value %YOUR_USERNAME%
database properties set --key database.password --value %YOUR_PASSWORD%
database reverse engineer --schema %YOUR_SCHEMA% --package ~.domain
</pre>
<p>If you have any package loading exceptions when running the reverse engineer command you can uninstall the osgi bundle, set the package to optional in the osgi pom in the IncludedPackages tag (javax.some.package.*;resolution:=optional) rebuild, then reinstall in roo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/spring-roo-database-reverse-engineer-with-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My 2012 Professional Development Goals</title>
		<link>http://www.goodercode.com/wp/my-2012-professional-development-goals/</link>
		<comments>http://www.goodercode.com/wp/my-2012-professional-development-goals/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 15:13:22 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[jekyll]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=241</guid>
		<description><![CDATA[Once again I am going to declare some professional goals for my upcoming year. Convert my blog to Jekyll hosted on github &#8211; I am tired of wordpress, tired of spam, and would like to try something new.  I have already started on this.  Just need to finish it up. Launch my GWT / Google [...]]]></description>
			<content:encoded><![CDATA[<p>Once again I am going to declare some professional goals for my upcoming year.</p>
<ol>
<li>Convert my blog to Jekyll hosted on github &#8211; I am tired of wordpress, tired of spam, and would like to try something new.  I have already started on this.  Just need to finish it up.</li>
<li>Launch my GWT / Google App Engine application &#8211; I am currently developing a GWT application to be deployed to Google App Engine.</li>
<li>Do another presentation at the user group &#8211; At least a few lightning talks.  I have a few ideas.</li>
<li>Attend a tech conference &#8211; Dev Nexus is the likely target</li>
<li>Post more often &#8211; I did 10 posts last year, would like to maybe double that next year (including this one)</li>
<li>Attend a user group meeting outside of Nashville JUG &#8211; A rollover from last year, I will probably be regularly attend the Interactive Developers meeting</li>
<li>Study another language &#8211; I have been thinking about looking in to Dart or perhaps Go</li>
<li>Launch an Android app &#8211; Another holdover from last year I am thinking of doing a small app having to do with managing the silent state of the phone</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/my-2012-professional-development-goals/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>2011 Tech Goal Review</title>
		<link>http://www.goodercode.com/wp/2011-tech-goal-review/</link>
		<comments>http://www.goodercode.com/wp/2011-tech-goal-review/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 03:41:31 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=238</guid>
		<description><![CDATA[A year ago I wrote a post listing my professional goals for 2011.  I thought I would review them and see how I did. Release an Android app to the marketplace &#8211; Didn&#8217;t do it.  In fact, haven&#8217;t really touched Android much since I wrote that.  I still have some ideas but am not sure [...]]]></description>
			<content:encoded><![CDATA[<p>A year ago I wrote a post listing my professional goals for 2011.  I thought I would review them and see how I did.</p>
<ol>
<li>Release an Android app to the marketplace &#8211; Didn&#8217;t do it.  In fact, haven&#8217;t really touched Android much since I wrote that.  I still have some ideas but am not sure if I will get around to it.</li>
<li>Contribute free software to the community &#8211; I did do this.  I have been collaborating with others via github more lately.</li>
<li>Regularly attend a user group meetings outside of Java &#8211; Did not do this.  Family life being what it is makes this not that much of a priority right now.</li>
<li>Obtain the Oracle Certified Web Developer Certification &#8211; Did not do this.  This is not much of a priority to me any more.</li>
<li>Learn scala &#8211; I am about 50/50 on this one.  I read a few scala books but did not write an actual application.</li>
<li>Write an app using JSF &#8211; Did not do this.  Still interested.</li>
<li>Present at a user group meeting &#8211; I did a Maven presentation at the Java user group.</li>
<li>Use git more, and more effectively &#8211; Definitely did this.  Using it on a daily basis now.</li>
</ol>
<p>Overall, I got about halfway on my goals.  It&#8217;s not too bad since I did do a few things that weren&#8217;t on my list.</p>
<ol>
<li>Learned to develop applications using GWT and deploy them to Google App Engine</li>
<li>Converted one of my sites from PHP to Ruby / Sinatra (learning to use it in the process)</li>
<li>Studied up on the HTML 5 features and did a lot of Javascript development</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/2011-tech-goal-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SubCut Scala Dependency Injection Framework</title>
		<link>http://www.goodercode.com/wp/subcut-scala-dependency-injection-framework/</link>
		<comments>http://www.goodercode.com/wp/subcut-scala-dependency-injection-framework/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 17:02:21 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[dependency injection]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=233</guid>
		<description><![CDATA[It&#8217;s no secret I am a fan of dependency injection.  So I was happy to hear that Dick Wall of the Java Posse recently released a dependency injection framework for scala.  Called SubCut, or Scala Uniquely Bound Classes Under Traits, the project is a &#8216;mix of service locator and dependency injection patterns designed to provide an idiomatic [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret I am a <a href="http://www.goodercode.com/wp/what-are-the-downsides-to-using-dependency-injection/">fan of dependency injection</a>.  So I was happy to hear that Dick Wall of the <a href="http://javaposse.com/" target="_blank">Java Posse</a> recently released a dependency injection framework for scala.  Called SubCut, or Scala Uniquely Bound Classes Under Traits, the project is a &#8216;mix of service locator and dependency injection patterns designed to provide an idiomatic way of providing configured dependencies to scala applications&#8217;.</p>
<p>It&#8217;s hosted on github, so &#8216;git&#8217; (rimshot) over there and try it out:</p>
<p><a href="https://github.com/dickwall/subcut " target="_blank">Dependency injection framework for Scala</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/subcut-scala-dependency-injection-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS 5 New Features vs Android</title>
		<link>http://www.goodercode.com/wp/ios-5-new-features-vs-android/</link>
		<comments>http://www.goodercode.com/wp/ios-5-new-features-vs-android/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 22:31:55 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=230</guid>
		<description><![CDATA[Browsing through the iOS 5 features list, I can&#8217;t help but notice a lot of it is catch up. Having owned both an iPhone and an Android for a considerable amount of time, I figured I would jot down my opinions. Notification Center &#8211; Completely ripped off from Android but looks good and is a [...]]]></description>
			<content:encoded><![CDATA[<p>Browsing through the <a href="http://www.apple.com/ios/ios5/features.html">iOS 5 features list</a>, I can&#8217;t help but notice a lot of it is catch up.  Having owned both an iPhone and an Android for a considerable amount of time, I figured I would jot down my opinions.</p>
<ul>
<li>Notification Center &#8211; Completely ripped off from Android but looks good and is a much needed addition</li>
<li>iMessage &#8211; This is very interesting as most people who would think it&#8217;s cool, probably really wouldn&#8217;t understand the significance.  Basically, Apple is adding an IM application to iOS.  Now iPhone / iPad users can sit around messaging each other how cool it is like Crackberry users circa 2003.  I guess the only real improvement over MMS is that you can easily setup groups, see when each other are typing, and don&#8217;t incur text messaging charges; at the expense of leaving your non-iOS buddies out (who wants to talk to those losers anyways?).</li>
<li>Newstand &#8211; An app update and not an OS one (Apple typically doesn&#8217;t make distinctions).  It all seems like stuff my current Nook stuff will do.  Note: I did look to compare prices but it seems that information is not available without downloading iTunes.  lame.</li>
<li>Reminders &#8211; TODO lists are ho hum, but the ability to have reminders when you arrive or leave a position is pretty cool.</li>
<li>Twitter integration &#8211; The fact that the best Apple can come up with is &#8216;one at a timing&#8217; online service integration is laughable at best.</li>
<li>Camera &#8211; Can control it from the lock screen.  Now you&#8217;ll have tons of pocket lint photos in your iCloud to go along with the wicked shot of that cheetah that just unexpectedly ran by your apartment.</li>
<li>Photos &#8211; Speaking of iCloud, all of your devices photos will be synced through it.  That&#8217;s cool I guess, not sure if Android will do the same.</li>
<li>Safari &#8211; What?  You haven&#8217;t been reading rss feeds on your device this whole time?  Something tells me you aren&#8217;t about to start.</li>
<li>PC Free &#8211; Finely Apple untethers the iPhone.  What took them so long?</li>
<li>Game Center &#8211; This should be an interesting service.  Attention Apple fanboys immediately forget how they are blatantly copying Microsoft achievements (at least rename them).</li>
<li>Wifi Sync &#8211; Just couldn&#8217;t cut the cord completely could they?  For what it&#8217;s worth, the Zune has been doing this for 5 years now.</li>
</ul>
<p>All in all a pretty big update.  Mostly iCloud.  Mostly keeping up the mobile status quo.  As an Android user, I can&#8217;t say there is anything I am envious of.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/ios-5-new-features-vs-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I want to run an agile project</title>
		<link>http://www.goodercode.com/wp/i-want-to-run-an-agile-project/</link>
		<comments>http://www.goodercode.com/wp/i-want-to-run-an-agile-project/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 16:19:10 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=223</guid>
		<description><![CDATA[The plight of an agile project.]]></description>
			<content:encoded><![CDATA[<p>The plight of an agile project.</p>
<!-- YouTube Embed v1.5 | http://www.artiss.co.uk/youtube-embed -->
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/4u5N00ApR_k&amp;fs=0&amp;rel=0&amp;autoplay=0&amp;loop=0&amp;egm=0&amp;border=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1&amp;showsearch=1&amp;showinfo=1&amp;iv_load_policy=1&amp;cc_load_policy=0&amp;disablekb=0" width="560" height="349" wmode="transparent">
<param name="movie" value="http://www.youtube.com/v/4u5N00ApR_k&amp;fs=0&amp;rel=0&amp;autoplay=0&amp;loop=0&amp;egm=0&amp;border=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1&amp;showsearch=1&amp;showinfo=1&amp;iv_load_policy=1&amp;cc_load_policy=0&amp;disablekb=0" />
<param name="wmode" value="transparent" />
</object>
<!-- End of YouTube Embed code -->

]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/i-want-to-run-an-agile-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Strict Pomodoro and other time management Chrome extensions</title>
		<link>http://www.goodercode.com/wp/218/</link>
		<comments>http://www.goodercode.com/wp/218/#comments</comments>
		<pubDate>Mon, 16 May 2011 16:09:04 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[time management]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=218</guid>
		<description><![CDATA[I have recently begun using the Pomodoro Technique to increase my productivity. However, I still find myself getting sucked in to the vortex of useless information that is the internet. With that in mind I began searching for a useful chrome extension to replace the Android Pomodoro app I have been using to manage my [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently begun using the <a href="http://www.pomodorotechnique.com/">Pomodoro Technique</a> to increase my productivity.  However, I still find myself getting sucked in to the vortex of useless information that is the internet.  With that in mind I began searching for a useful chrome extension to replace the <a href="https://market.android.com/details?id=net.artifix.pomodroido.free&#038;feature=search_result">Android Pomodoro app</a> I have been using to manage my &#8216;doros.  I even considered writing it myself.  Luckily, I stumbled on one that had a similar featureset to what I was looking for.</p>
<p><a href="https://chrome.google.com/webstore/detail/cgmnfnmlficgeijcalkgnnkigkefkbhd">Strict Pomodoro</a> is an excellent Chrome extension for practicing Pomodoro.  Though lacking a few key features, such as the ability to set the duration of your pomodoros and breaks, it still has a key feature that helps me stay on task.  It blocks time sucking websites.  You can set filter lists and it will keep you from accessing them during a Pomodoro.  Effectively reminding you to stay on task.  Also, the author readily admits that it was quickly put together and new features may be added down the road.  For now, it is still an excellent option.</p>
<p>For those of you who do not practice Pomodoro but are trying to stay on task.  The <a href="https://chrome.google.com/webstore/detail/laankejkbhbdhmipfmgcngdelahlfoji">StayFocusd extension</a> will effectively manage the amount of time you spend on useless (non-productive) sites.  It also has a rich feature set that may be better for your work habits.</p>
<p>OK, breaks over.  Time to get back to work.  25 minutes at a time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/218/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Host your own private git repository via SSH</title>
		<link>http://www.goodercode.com/wp/host-your-own-private-git-repository-via-ssh/</link>
		<comments>http://www.goodercode.com/wp/host-your-own-private-git-repository-via-ssh/#comments</comments>
		<pubDate>Sat, 14 May 2011 21:46:54 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=210</guid>
		<description><![CDATA[If you are like me you have tons of projects you would like to keep private but track with git, but do not want to pay a git host for a private plan. One of the problems is that most hosts scale their plans by project instead of users. Luckily, it is easy to host [...]]]></description>
			<content:encoded><![CDATA[<p><script src="/js/syntaxhighlighter_2.1.364/scripts/shBrushBash.js"></script></p>
<p>If you are like me you have tons of projects you would like to keep private but track with git, but do not want to pay a git host for a private plan.  One of the problems is that most hosts scale their plans by project instead of users.  Luckily, it is easy to host your own git repositories on any el cheapo host that provides ssh access.</p>
<p>In the interest of full disclosure, I learned this trick from <a href="http://railstips.org/blog/archives/2008/11/23/gitn-your-shared-host-on/">this blog post</a>.  I decided to recreate it in case the source material vanishes for some reason.</p>
<p>To setup your host, login via ssh and run the following commands:</p>
<pre class="brush: bash">mkdir ~/git/yourprojectname.git
cd ~/git/yourprojectname.git
git --bare init</pre>
<p>Then in your project directory (on your local machine):</p>
<pre class="brush: bash">
# setup your user info
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@youremail.com"

# initialize the workspace
git init
git add .
git commit -m "initial commit"
git remote add origin ssh://youruser@yourhost.com/~/git/yourprojectname.git
git push origin master</pre>
<p>It&#8217;s that easy!</p>
<p>To keep from entering your password every time add your public key to the server:</p>
<p>Generate your key with &#8216;<em>ssh-keygen -t rsa</em>&#8216; on your local machine.  Then add the contents of the generated file to <em>~/.ssh/authorized_keys</em> on your server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/host-your-own-private-git-repository-via-ssh/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Git cheatsheet</title>
		<link>http://www.goodercode.com/wp/git-cheatsheet/</link>
		<comments>http://www.goodercode.com/wp/git-cheatsheet/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 14:23:38 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=204</guid>
		<description><![CDATA[Bookmark this sweet visual aid for git. Nicely done! git cheatsheet &#160;]]></description>
			<content:encoded><![CDATA[<p>Bookmark this sweet visual aid for git.  Nicely done!</p>
<p><a href="http://www.ndpsoftware.com/git-cheatsheet.html">git cheatsheet</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/git-cheatsheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting to Magento Web Services with Java</title>
		<link>http://www.goodercode.com/wp/connecting-to-magento-web-services-with-java/</link>
		<comments>http://www.goodercode.com/wp/connecting-to-magento-web-services-with-java/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 15:43:39 +0000</pubDate>
		<dc:creator>kerry</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.goodercode.com/wp/?p=185</guid>
		<description><![CDATA[I was in the unenviable position of needing to connect to Magento, a PHP ecommerce platform, web services using Java.  It was kind of difficult to get the classes generated from the WSDL so I figured I would throw the results up on my github account for any other poor sap in a similar position. [...]]]></description>
			<content:encoded><![CDATA[<p><script src="/js/syntaxhighlighter_2.1.364/scripts/shBrushBash.js"></script> <script src="/js/syntaxhighlighter_2.1.364/scripts/shBrushJava.js"></script></p>
<p>I was in the unenviable position of needing to connect to Magento, a PHP ecommerce platform, web services using Java.  It was kind of difficult to get the classes generated from the WSDL so I figured I would throw the results up on my github account for any other poor sap in a similar position.</p>
<p>First, pull down the project using git:</p>
<pre class="brush: bash">git clone git://github.com/webdevwilson/magento-java.git</pre>
<p>and build it with maven:</p>
<pre class="brush: bash">mvn install</pre>
<p>Here is a quick example of how to pull an order using the generated classes:</p>
<pre class="brush: java">MagentoServiceLocator serviceLocator = new MagentoServiceLocator();
String url = "http://domain.com/index.php/api/v2_soap";
Mage_Api_Model_Server_V2_HandlerPortType port = serviceLocator.getMage_Api_Model_Server_V2_HandlerPort(url);
String sessionId = port.login("username", "key");
SalesOrderEntity salesOrder = port.salesOrderInfo(sessionId, orderId);</pre>
<p>I also have some wrapper code in there that makes it a little easier to call the API.</p>
<p>Checkout the project at <a href="https://github.com/webdevwilson/magento-java">https://github.com/webdevwilson/magento-java</a></p>
<p>There is another option. it&#8217;s called Magja and it is located at <a href="http://code.google.com/p/magja/">google code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodercode.com/wp/connecting-to-magento-web-services-with-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

