Happy to say the issue is *finally* resolved. Essentially had to get
Maven to compile using the JVM provided jaxp deps. It wasn't enough
to just exclude these deps from the war after a build was through.
This was done by adding the following to my master pom's
<dependencyManagement> section, a list of conflicting dependencies
setting their <scope> to provided like so:
<dependency>
<groupId>javax.xml.parsers</groupId>
<artifactId>jaxp-api</artifactId>
<version>1.4.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.xml.parsers</groupId>
<artifactId>jaxp-ri</artifactId>
<version>1.4.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
<scope>provided</scope>
</dependency>
Craig.
On Mon, Oct 26, 2009 at 5:31 PM, Craig Tataryn <[email protected]> wrote:
> Both apps are setup to use the webapp's dependencies first, at least
> that's what the console is telling me. Attached is another view of
> the class loaders, looks like it "doesn't know" where DocumentBuilder*
> classes are being loaded from. I ran a script to find out where in
> the AppServer directory there were copies, and besides my own war's
> WEB-INF/lib they are also in java/jre/lib/xml.jar.
>
> Dan suggested perhaps putting some entries in my war's
> META-INF/services directory for directing which parsers are to be
> used, but I'll have to read up a bit on that before experimenting.
>
> Craig.
>
>
>
> On Mon, Oct 26, 2009 at 4:53 PM, Andreas Veithen
> <[email protected]> wrote:
>> My guess is that the class loading policy is not configured the same
>> way on both servers. Looks like the application on AIX is set up using
>> parent last, while the other one uses parent first.
>>
>> Andreas
>>
>> On Mon, Oct 26, 2009 at 20:56, Craig Tataryn <[email protected]> wrote:
>>> Just to keep you updated.... I installed WAS v6.1 (granted v6.1.0, not
>>> 6.1.0.19) and successfully deployed my CXF web app by simply endorsing
>>> (or making a shared library) wsdl4j-1.6.2.
>>>
>>> This is not the case on our AIX WAS instance, still always get the error:
>>>
>>> Error 500: Error creating bean with name
>>> 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource
>>> [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception
>>> is org.springframework.beans.BeanInstantiationException: Could not
>>> instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
>>> Constructor threw exception; nested exception is
>>> java.lang.ClassCastException:
>>> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
>>> incompatible with javax.xml.parsers.DocumentBuilderFactory
>>>
>>> Attached is a dump of the classpath info for the webapp. I think jaxp
>>> must be set up on the server's classpath or something because I don't
>>> see any conflict as far as the jars go.
>>>
>>> Craig.
>>>
>>> On Fri, Oct 23, 2009 at 5:17 PM, Craig Tataryn <[email protected]> wrote:
>>>> Tried copying that jaxp-api-1.4.2.jar file to the endorsed dir,
>>>> unfortunately that caused the WAS server to not be able to startup :S
>>>>
>>>> *sigh*
>>>>
>>>> Craig.
>>>>
>>>> On Fri, Oct 23, 2009 at 1:10 PM, Daniel Kulp <[email protected]> wrote:
>>>>>
>>>>> Was afraid of that. :-(
>>>>>
>>>>> OK. Couple options.
>>>>>
>>>>> 1) Somehow endorse the jaxp-api-1.4.2.jar as that is where that class
>>>>> lives.
>>>>>
>>>>> 2) Use java 6 which I believe has that class built in
>>>>>
>>>>> 3) Remove the jaxp-ri jar and saaj jars entirely. The version of SAAJ
>>>>> built
>>>>> into WAS may work. If using Java6, they should be built in there as
>>>>> well.
>>>>>
>>>>> 4) Somehow get it to use the xalan transformer in the xalan jar instead
>>>>> of the
>>>>> one in the sun jar. There is probably a sys property or similar for
>>>>> that.
>>>>> Maybe copy the contents of the xalan jars META-INF/services into your war
>>>>> so
>>>>> it gets picked up first?
>>>>>
>>>>> Have I mentioned I hate WAS?
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>
>>>>> On Fri October 23 2009 1:24:22 pm Craig Tataryn wrote:
>>>>>> Ok, got further. Now I'm getting:
>>>>>>
>>>>>> ===============================================================
>>>>>> [10/23/09 12:18:28:899 CDT] 0000002b WebApp E [Servlet
>>>>>> Error]-[CXFServlet]: java.lang.NoClassDefFoundError:
>>>>>> javax.xml.transform.stax.StAXResult
>>>>>> at
>>>>>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHand
>>>>>> ler(TransformerImpl.java:416) at
>>>>>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Tra
>>>>>> nsformerImpl.java:334) at
>>>>>> org.apache.cxf.wsdl11.SchemaSerializer.writeXml(SchemaSerializer.java:60)
>>>>>> at
>>>>>> org.apache.cxf.wsdl11.SchemaSerializer.marshall(SchemaSerializer.java:48)
>>>>>> at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown
>>>>>> Source) at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
>>>>>> at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
>>>>>> at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
>>>>>> at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
>>>>>> at
>>>>>> org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHand
>>>>>> ler.java:180) at
>>>>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle
>>>>>> r.java:182) at
>>>>>> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServ
>>>>>> let.java:220) at
>>>>>> org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServl
>>>>>> et.java:158) at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>>>>>> at
>>>>>> org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFSer
>>>>>> vlet.java:211) at
>>>>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java
>>>>>> :1095) at
>>>>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrappe
>>>>>> r.java:569) at
>>>>>> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrap
>>>>>> per.java:478) at
>>>>>> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3440) at
>>>>>> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267)
>>>>>> at
>>>>>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:815)
>>>>>> at
>>>>>> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:146
>>>>>> 1) at
>>>>>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:118
>>>>>> ) at
>>>>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(
>>>>>> HttpInboundLink.java:458) at
>>>>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(
>>>>>> HttpInboundLink.java:387) at
>>>>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink
>>>>>> .java:267) at
>>>>>> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConn
>>>>>> ectionLink.java:1037) at
>>>>>> com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.comp
>>>>>> lete(SSLConnectionLink.java:644) at
>>>>>> com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback
>>>>>> .complete(SSLReadServiceContext.java:1818) at
>>>>>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueMana
>>>>>> ger.java:556) at
>>>>>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.ja
>>>>>> va:606) at
>>>>>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.ja
>>>>>> va:979) at
>>>>>> com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.j
>>>>>> ava:1064) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>> javax.xml.transform.stax.StAXResult at
>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:496)
>>>>>> at
>>>>>> com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:132)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
>>>>>> at
>>>>>> com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:87)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
>>>>>> at
>>>>>> com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoad
>>>>>> er.java:58) at
>>>>>> com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoad
>>>>>> er.java:54) at
>>>>>> com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.j
>>>>>> ava:394) at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
>>>>>> at
>>>>>> com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.j
>>>>>> ava:394) at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
>>>>>> at
>>>>>> com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.j
>>>>>> ava:394) at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
>>>>>>
>>>>>>
>>>>>> ... 34 more
>>>>>>
>>>>>> ===============================================================
>>>>>>
>>>>>> I thought maybe it was because I removed the stax api deps, but those
>>>>>> probably don't contain the implementations (and it didn't help when I
>>>>>> added them back in)
>>>>>>
>>>>>>
>>>>>> My deps now look like this now:
>>>>>>
>>>>>> CorpBusinessDelegates-r1v7m0.jar
>>>>>> CorpJavaUtilsRuntime-3.1.0.jar
>>>>>> CorpJavaUtilsRuntimeModel-1.0.0.jar
>>>>>> CorpJavaUtilsSecurity-r2v3m0.jar
>>>>>> CorpLogger-r2v2m0.jar
>>>>>> CorpPerformanceLogger-r1v0m0.jar
>>>>>> CorpServiceInterface-r5v2m1.jar
>>>>>> FastInfoset-1.2.7.jar
>>>>>> GroupProviderEClaimsWSIHL7Jar-r1v0m0.jar
>>>>>> GroupProviderEClaimsWSIServiceJar-r1v0m0.jar
>>>>>> JavaUtils-r1v4m0.jar
>>>>>> XmlSchema-1.4.5.jar
>>>>>> activation-1.1.jar
>>>>>> aopalliance-1.0.jar
>>>>>> asm-2.2.3.jar
>>>>>> bcprov-jdk15-1.43.jar
>>>>>> com.springsource.javax.jms-1.1.0.jar
>>>>>> com.springsource.javax.transaction-1.1.0.jar
>>>>>> com.springsource.org.apache.commons.logging-1.1.1.jar
>>>>>> com.springsource.org.apache.log4j-1.2.15.jar
>>>>>> com.springsource.org.aspectj.runtime-1.6.3.RELEASE.jar
>>>>>> commons-beanutils-1.6.jar
>>>>>> commons-collections-2.0.jar
>>>>>> commons-lang-2.4.jar
>>>>>> commons-logging-1.0.3.jar
>>>>>> cxf-api-2.2.3.jar
>>>>>> cxf-common-schemas-2.2.3.jar
>>>>>> cxf-common-utilities-2.2.3.jar
>>>>>> cxf-rt-bindings-soap-2.2.3.jar
>>>>>> cxf-rt-bindings-xml-2.2.3.jar
>>>>>> cxf-rt-core-2.2.3.jar
>>>>>> cxf-rt-databinding-jaxb-2.2.3.jar
>>>>>> cxf-rt-frontend-jaxws-2.2.3.jar
>>>>>> cxf-rt-frontend-simple-2.2.3.jar
>>>>>> cxf-rt-transports-http-2.2.3.jar
>>>>>> cxf-rt-ws-addr-2.2.3.jar
>>>>>> cxf-rt-ws-security-2.2.3.jar
>>>>>> cxf-tools-common-2.2.3.jar
>>>>>> geronimo-activation_1.1_spec-1.0.2.jar
>>>>>> geronimo-annotation_1.0_spec-1.1.1.jar
>>>>>> geronimo-javamail_1.4_spec-1.6.jar
>>>>>> geronimo-jaxws_2.1_spec-1.0.jar
>>>>>> geronimo-stax-api_1.0_spec-1.0.1.jar
>>>>>> geronimo-ws-metadata_2.0_spec-1.1.2.jar
>>>>>> jaxb-api-2.2.jar
>>>>>> jaxb-impl-2.1.9.jar
>>>>>> jaxb-libs-1.0.5.jar
>>>>>> jaxb-xjc-2.0EA3.jar
>>>>>> jaxp-ri-1.4.2.jar
>>>>>> jdom-1.0.jar
>>>>>> junit-addons-1.4.jar
>>>>>> log4j-1.2.9.jar
>>>>>> neethi-2.0.4.jar
>>>>>> out.txt
>>>>>> saaj-api-1.3.jar
>>>>>> saaj-impl-1.3.2.jar
>>>>>> serializer-2.7.1.jar
>>>>>> spring-beans-2.5.6.jar
>>>>>> spring-context-2.5.6.jar
>>>>>> spring-core-2.5.6.jar
>>>>>> spring-web-2.5.5.jar
>>>>>> stax-api-1.0-2.jar
>>>>>> wsdl4j-1.6.2.jar
>>>>>> wss4j-1.5.8.jar
>>>>>> wstx-asl-3.2.8.jar
>>>>>> xalan-2.7.1.jar
>>>>>> xercesImpl-2.6.2.jar
>>>>>> xml-resolver-1.2.jar
>>>>>> xmlsec-1.4.3.jar
>>>>>> xsdbeans-5.0.1.jar
>>>>>>
>>>>>>
>>>>>> Craig
>>>>>>
>>>>>> On Fri, Oct 23, 2009 at 10:56 AM, Daniel Kulp <[email protected]> wrote:
>>>>>> > Try removing or endorsing:
>>>>>> > jaxp-api-1.4.2.jar
>>>>>> >
>>>>>> > That should be built into the JDK/WAS. And that would certainly
>>>>>> > conflict with:
>>>>>> >
>>>>>> > xmlParserAPIs-2.6.2.jar
>>>>>> > which should be removed.
>>>>>> >
>>>>>> > You also have:
>>>>>> > > stax-api-1.0-2.jar
>>>>>> > > geronimo-stax-api_1.0_spec-1.0.1.jar
>>>>>> >
>>>>>> > which are both the same thing basically.
>>>>>> >
>>>>>> > Dan
>>>>>> >
>>>>>> > On Fri October 23 2009 11:37:37 am Craig Tataryn wrote:
>>>>>> > > Been having a heck of a time getting my CXF application running on
>>>>>> > > WAS
>>>>>> > > 6.1.0.19. After getting this error:
>>>>>> > > Error 500: Error creating bean with name 'chirophysioEndpoint':
>>>>>> > > Invocation of init method failed; nested exception is
>>>>>> > > java.lang.IncompatibleClassChangeError
>>>>>> > >
>>>>>> > > Followed the instructions listed on the wiki [1], by moving wsdl4j
>>>>>> > > into java/jre/lib/endorsed and it got me a bit farther (by that I
>>>>>> > > mean
>>>>>> > > another type of error):
>>>>>> > >
>>>>>> > > Error 500: Error creating bean with name
>>>>>> > > 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource
>>>>>> > > [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested
>>>>>> > > exception
>>>>>> > > is org.springframework.beans.BeanInstantiationException: Could not
>>>>>> > > instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
>>>>>> > > Constructor threw exception; nested exception is
>>>>>> > > java.lang.ClassCastException:
>>>>>> > > com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
>>>>>> > > incompatible with javax.xml.parsers.DocumentBuilderFactory
>>>>>> > >
>>>>>> > > Asked Dan K. about this and he asked me to try and remove my xerces
>>>>>> > > and serializer jars, unfortunately that didn't do it.
>>>>>> > >
>>>>>> > > Here is a list of dependencies I have in the untouched version of my
>>>>>> > > WAR [2]
>>>>>> > >
>>>>>> > > Any help would be greatly appreciated, we are very much stuck in a
>>>>>> > > "we
>>>>>> > > can't deploy to DEV, maybe we should look at Axis" type of situation.
>>>>>> > > Please, for the love of god save me.
>>>>>> > >
>>>>>> > > Craig.
>>>>>> > >
>>>>>> > > [1]
>>>>>> > > http://cwiki.apache.org/confluence/display/CXF20DOC/Application+Server
>>>>>> > >+Spe
>>>>>> > > cific+Configuration+Guide#ApplicationServerSpecificConfigurationGuide-W
>>>>>> > >ebsp here
>>>>>> > >
>>>>>> > > [2]
>>>>>> > > CorpBusinessDelegates-r1v7m0.jar
>>>>>> > > CorpJavaUtilsRuntime-3.1.0.jar
>>>>>> > > CorpJavaUtilsRuntimeModel-1.0.0.jar
>>>>>> > > CorpJavaUtilsSecurity-r2v3m0.jar
>>>>>> > > CorpLogger-r2v2m0.jar
>>>>>> > > CorpPerformanceLogger-r1v0m0.jar
>>>>>> > > CorpServiceInterface-r5v2m1.jar
>>>>>> > > FastInfoset-1.2.7.jar
>>>>>> > > GroupProviderEClaimsWSIHL7Jar-r1v0m0.jar
>>>>>> > > GroupProviderEClaimsWSIServiceJar-r1v0m0.jar
>>>>>> > > JavaUtils-r1v4m0.jar
>>>>>> > > XmlSchema-1.4.5.jar
>>>>>> > > activation-1.1.jar
>>>>>> > > aopalliance-1.0.jar
>>>>>> > > asm-2.2.3.jar
>>>>>> > > bcprov-jdk15-1.43.jar
>>>>>> > > com.springsource.javax.jms-1.1.0.jar
>>>>>> > > com.springsource.javax.transaction-1.1.0.jar
>>>>>> > > com.springsource.org.apache.commons.logging-1.1.1.jar
>>>>>> > > com.springsource.org.apache.log4j-1.2.15.jar
>>>>>> > > com.springsource.org.aspectj.runtime-1.6.3.RELEASE.jar
>>>>>> > > commons-beanutils-1.6.jar
>>>>>> > > commons-collections-2.0.jar
>>>>>> > > commons-lang-2.4.jar
>>>>>> > > commons-logging-1.0.3.jar
>>>>>> > > cxf-api-2.2.3.jar
>>>>>> > > cxf-common-schemas-2.2.3.jar
>>>>>> > > cxf-common-utilities-2.2.3.jar
>>>>>> > > cxf-rt-bindings-soap-2.2.3.jar
>>>>>> > > cxf-rt-bindings-xml-2.2.3.jar
>>>>>> > > cxf-rt-core-2.2.3.jar
>>>>>> > > cxf-rt-databinding-jaxb-2.2.3.jar
>>>>>> > > cxf-rt-frontend-jaxws-2.2.3.jar
>>>>>> > > cxf-rt-frontend-simple-2.2.3.jar
>>>>>> > > cxf-rt-transports-http-2.2.3.jar
>>>>>> > > cxf-rt-ws-addr-2.2.3.jar
>>>>>> > > cxf-rt-ws-security-2.2.3.jar
>>>>>> > > cxf-tools-common-2.2.3.jar
>>>>>> > > geronimo-activation_1.1_spec-1.0.2.jar
>>>>>> > > geronimo-annotation_1.0_spec-1.1.1.jar
>>>>>> > > geronimo-javamail_1.4_spec-1.6.jar
>>>>>> > > geronimo-jaxws_2.1_spec-1.0.jar
>>>>>> > > geronimo-stax-api_1.0_spec-1.0.1.jar
>>>>>> > > geronimo-ws-metadata_2.0_spec-1.1.2.jar
>>>>>> > > jaxb-api-2.2.jar
>>>>>> > > jaxb-impl-2.1.9.jar
>>>>>> > > jaxb-libs-1.0.5.jar
>>>>>> > > jaxb-xjc-2.0EA3.jar
>>>>>> > > jaxp-api-1.4.2.jar
>>>>>> > > jaxp-ri-1.4.2.jar
>>>>>> > > jdom-1.0.jar
>>>>>> > > junit-addons-1.4.jar
>>>>>> > > log4j-1.2.9.jar
>>>>>> > > neethi-2.0.4.jar
>>>>>> > > out.txt
>>>>>> > > saaj-api-1.3.jar
>>>>>> > > saaj-impl-1.3.2.jar
>>>>>> > > serializer-2.7.1.jar
>>>>>> > > spring-beans-2.5.6.jar
>>>>>> > > spring-context-2.5.6.jar
>>>>>> > > spring-core-2.5.6.jar
>>>>>> > > spring-web-2.5.5.jar
>>>>>> > > stax-api-1.0-2.jar
>>>>>> > > wsdl4j-1.6.2.jar
>>>>>> > > wss4j-1.5.8.jar
>>>>>> > > wstx-asl-3.2.8.jar
>>>>>> > > xalan-2.7.1.jar
>>>>>> > > xercesImpl-2.6.2.jar
>>>>>> > > xml-resolver-1.2.jar
>>>>>> > > xmlParserAPIs-2.6.2.jar
>>>>>> > > xmlsec-1.4.3.jar
>>>>>> > > xsdbeans-5.0.1.jar
>>>>>> > >
>>>>>> > > --
>>>>>> > > Craig Tataryn
>>>>>> > > site: http://www.basementcoders.com/
>>>>>> > > podcast:http://feeds.feedburner.com/TheBasementCoders
>>>>>> > > irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin
>>>>>> > > twitter: craiger
>>>>>> >
>>>>>> > --
>>>>>> > Daniel Kulp
>>>>>> > [email protected]
>>>>>> > http://www.dankulp.com/blog
>>>>>>
>>>>>> --
>>>>>> Craig Tataryn
>>>>>> site: http://www.basementcoders.com/
>>>>>> podcast:http://feeds.feedburner.com/TheBasementCoders
>>>>>> irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin
>>>>>> twitter: craiger
>>>>>>
>>>>>
>>>>> --
>>>>> Daniel Kulp
>>>>> [email protected]
>>>>> http://www.dankulp.com/blog
>>>>>
>>>>
>>>>
>>>
>>
>
>
>
> --
> Craig Tataryn
> site: http://www.basementcoders.com/
> podcast:http://feeds.feedburner.com/TheBasementCoders
> irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin
> twitter: craiger
>
--
Craig Tataryn
site: http://www.basementcoders.com/
podcast:http://feeds.feedburner.com/TheBasementCoders
irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin
twitter: craiger