axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian De Pradine <PRAD...@uk.ibm.com>
Subject RE: Axis2 JMSListener on Websphere
Date Mon, 27 Oct 2008 12:41:03 GMT
Hello,

I am not sure what the solution is but you might want to try the forum at 
[1]

[1] http://www.ibm.com/developerworks/forums/forum.jspa?forumID=266

Cheers

Brian DePradine
Web Services Development
IBM Hursley
External  +44 (0) 1962 816319         Internal 246319

If you can't find the time to do it right the first time, where will you 
find the time to do it again?


Martin Gainty <mgainty@hotmail.com> wrote on 26/10/2008 14:21:11:

> Good Morning All-
> 
> we really need to know which classloader is loading that class 
> before making any kind of recommendation
> BTW: Weblogic has a custom classLoader hierarchy available in 
> weblogic-application.xml
> http://e-docs.bea.com/wls/docs81/programming/classloading.html
> 
> glassfish has the ability to turn off parent first delegation with 
> delegate="false" attribute specification
> https://glassfish.dev.java.net/nonav/javaee5/docs/DG/beade.html
> 
> I raised this "specifying custom classloader options in Websphere" 
> to IBM on  in a opinion poll 
> *Hopefully* the new IBM WAS will have this capability in 2009
> 
> Maybe Keith / Glen or Brian DePradine can weigh in when they get 
> into their office tommorrow am..
> (although I think Keith and Glen will be in ApacheConUS in New 
> Orleans starting this week..)
> 
> HTH..Keep us apprised!
> Martin Gainty 
> ______________________________________________ 
> Disclaimer and confidentiality note 
> Everything in this e-mail and any attachments relates to the 
> official business of Sender. This transmission is of a confidential 
> nature and Sender does not endorse distribution to any party other 
> than intended recipient. Sender does not necessarily endorse content
> contained within this transmission. 
> 
> 
> > Date: Sat, 25 Oct 2008 20:55:34 -0700
> > From: djohnjimmy@gmail.com
> > To: axis-dev@ws.apache.org
> > Subject: RE: Axis2 JMSListener on Websphere
> > 
> > 
> > Hi mgainty,
> > 
> > Actually that is my jmsContext.xml. I also trying my luck 
> > on JSF forum 
> > ( http://forums.sun.com/thread.jspa?threadID=5342580) 
> > and spring forum 
> > ( http://forum.springframework.org/showthread.php?p=209833#post209833) 

> > 
> > And so far Nabble has been the only helpful forum, thanks to people 
like
> > andreas and you.
> > 
> > I will try the JAVA_OPTIONS you suggestion and see what happens. 
Thanks! 
> > 
> > But any pointers on what is going on? 
> > 
> > The QCFs are created fine with parent classsloader first but with 
parent
> > last everything is messed up. 
> > 
> > 
> > 
> > mgainty wrote:
> > > 
> > > 
> > > as andreas mentioned we need to determine which CL *server 
classloader or
> > > application classloader is loading the class
> > > assuming you're using Spring ConnectionFactories..can we see your
> > > jmsContext.xml it should look something like:
> > > 
> > > <bean id="appJmsGateway" 
class="com.newwave.apps.ehrds.jms.AppJmsGateway">
> > > <property name="appRequestJmsTemplate" ref="appRequestJmsTemplate" 
/>
> > > 
> > > <property name="appResponseJmsTemplate" ref="appResponseJmsTemplate" 
/>
> > > 
> > > <property name="appRequestQueue" ref="appRequestQueue" />
> > > 
> > > <property name="appResponseQueue" ref="appResponseQueue" />
> > > 
> > > </bean>
> > > 
> > > <!-- REQUEST JMS TEMPLATES -->
> > > 
> > > <bean id="appRequestJmsTemplate"
> > > class="org.springframework.jms.core.JmsTemplate">
> > > 
> > > <property name="connectionFactory" ref="appRequestQCF" />
> > > 
> > > </bean>
> > > 
> > > <!-- RESPONSE JMS TEMPLATES --> 
> > > 
> > > <bean id="appResponseJmsTemplate"
> > > class="org.springframework.jms.core.JmsTemplate">
> > > 
> > > <property name="connectionFactory" ref="appResponseQCF" />
> > > 
> > > </bean>
> > > 
> > > <!--Connection Factories -->
> > > 
> > > <!--REQUEST -->
> > > 
> > > <jee:jndi-lookup id="appRequestQCF" jndi-name="jms/appRequestQCF"
> > > resource-ref="true" />
> > > 
> > > <!--- RESPONSE -->
> > > 
> > > <jee:jndi-lookup id="appResponseQCF" jndi-name="jms/appResponseQCF"
> > > resource-ref="true" />
> > > 
> > > <!--Request Destinations i.e. Queues --> 
> > > 
> > > <jee:jndi-lookup id="appRequestQueue" 
jndi-name="jms/appRequestQueue"
> > > resource-ref="true" />
> > > 
> > > <!--Response Destinations i.e. Queues --> 
> > > 
> > > <jee:jndi-lookup id="appResponseQueue" 
jndi-name="jms/appResponseQueue"
> > > resource-ref="true" />
> > > 
> > > 
> > > This sounds like a classloader order problem did you try placing
> > > -Dibm.cl.verbose=ClassToTrace MainClass in your JAVA_OPTS e.g.
> > > java -Dibm.cl.verbose=ClassToTrace
> > > com.ibm.ejs.jms.JMSConnectionFactoryFactory -jar bootstrap.jar
> > > http://www.ibm.com/developerworks/java/library/j-dclp1/
> > > 
> > > Thanks,
> > > Martin 
> > > ______________________________________________ 
> > > Disclaimer and confidentiality note 
> > > Everything in this e-mail and any attachments relates to the 
official
> > > business of Sender. This transmission is of a confidential nature 
and
> > > Sender does not endorse distribution to any party other than 
intended
> > > recipient. Sender does not necessarily endorse content contained 
within
> > > this transmission. 
> > > 
> > > 
> > >> Date: Sat, 25 Oct 2008 18:02:58 -0700
> > >> From: djohnjimmy@gmail.com
> > >> To: axis-dev@ws.apache.org
> > >> Subject: Re: Axis2 JMSListener on Websphere
> > >> 
> > >> 
> > >> Thanks Andreas,
> > >> 
> > >> I tried removing jms.jar from the war and then deployed with 
"parent
> > >> last"
> > >> on WAS. 
> > >> 
> > >> WAS now fills the logs with huge exceptions now : 
> > >> 
> > >> [10/25/08 20:57:34:171 EDT] 00000022 ConnectionFac E J2CA0009E: An
> > >> exception occurred while trying to instantiate the
> > >> ManagedConnectionFactory
> > >> class com.ibm.ejs.jms.WSJMSManagedQueueConnectionFactory used by 
resource
> > >> jms/appRequestQCF : java.lang.IllegalArgumentException
> > >> 
> > >> [10/25/08 20:57:34:376 EDT] 00000022 Helpers W NMSV0605W: A
> > >> javax.naming.Reference object looked up from the context
> > >> "localhostNode01Cell/nodes/localhostNode01/servers/server1" with 
the name
> > >> "jms/appRequestQCF" was sent to the JNDI Naming Manager and an 
exception
> > >> resulted. Reference data follows:
> > >> Reference Factory Class Name: 
com.ibm.ejs.jms.JMSConnectionFactoryFactory
> > >> Reference Factory Class Location URLs: <null>
> > >> Reference Class Name: javax.jms.QueueConnectionFactory
> > >> Address Type: JCA
> > >> AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 
6e 61
> > >> 6d
> > >> 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
> > >> Address Type: JMS
> > >> AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 
6e 61
> > >> 6d
> > >> 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
> > >> 
> > >> Exception data follows:
> > >> java.lang.IllegalArgumentException
> > >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > >> Method)
> > >> 
> > >> Caused by: org.springframework.beans.factory.BeanCreationException: 
Error
> > >> creating bean with name 'appRequestQCF': Invocation of init method
> > >> failed;
> > >> nested exception is
> > >> com.ibm.websphere.naming.CannotInstantiateObjectException: 
Exception
> > >> occurred while the JNDI NamingManager was processing a
> > >> javax.naming.Reference object. [Root exception is
> > >> java.lang.IllegalArgumentException]
> > >> 
> > >> 
> > >> Any idea on what this means? 
> > >> 
> > >> 
> > >> 
> > >> Andreas Veithen-2 wrote:
> > >> > 
> > >> > No, the problem is not that WebSphere doesn't see the javax.jms.*
> > >> > classes. It's just the opposite: they are in the classpath of 
both the
> > >> > server classloader and the application classloader. In parent 
first
> > >> > mode that's not an issue, but in parent last mode the result is 
that
> > >> > at runtime the relationships between classes are inconsistent 
with the
> > >> > compile time relationships. What happens here is that the 
application
> > >> > (Spring) refers to javax.jms.ConnectionFactory loaded by the
> > >> > application classloader while
> > >> > com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle implements
> > >> > javax.jms.ConnectionFactory loaded by the server classloader. 
This
> > >> > explains the error "Cannot convert value of type
> > >> > [com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle] to required 
type
> > >> > [javax.jms.ConnectionFactory]". To solve this, the JAR containing

the
> > >> > javax.jms.* classes must be removed from the classpath of the
> > >> > application classloader.
> > >> > 
> > >> > Andreas
> > >> > 
> > >> > On Sat, Oct 25, 2008 at 03:28, Martin Gainty 
<mgainty@hotmail.com>
> > >> wrote:
> > >> >> Andreas-
> > >> >> he has geronimo-jms_1.1_spec-1.1.jar but the websphere 
ClassLoader
> > >> doesnt
> > >> >> see it or wont load the class
> > >> >>
> > >> >> try placing -Dibm.cl.verbose=ClassToTrace MainClass in your 
JAVA_OPTS
> > >> >> e.g.
> > >> >> java -Dibm.cl.verbose=ClassToTrace MainClass jar bootstrap.jar
> > >> >>
> > >> >> http://www.ibm.com/developerworks/java/library/j-dclp1/
> > >> >>
> > >> >> HTH
> > >> >> Martin
> > >> >> ______________________________________________
> > >> >> Disclaimer and confidentiality note
> > >> >> Everything in this e-mail and any attachments relates to the 
official
> > >> >> business of Sender. This transmission is of a confidential 
nature and
> > >> >> Sender
> > >> >> does not endorse distribution to any party other than intended
> > >> recipient.
> > >> >> Sender does not necessarily endorse content contained within 
this
> > >> >> transmission.
> > >> >>
> > >> >>
> > >> >>> Date: Sat, 25 Oct 2008 01:11:54 +0200
> > >> >>> From: andreas.veithen@gmail.com
> > >> >>> To: axis-dev@ws.apache.org
> > >> >>> Subject: Re: Axis2 JMSListener on Websphere
> > >> >>>
> > >> >>> Then the culprit is probably jms.jar.
> > >> >>>
> > >> >>> Andreas
> > >> >>>
> > >> >>> On Sat, Oct 25, 2008 at 01:07, djohnjimmy 
<djohnjimmy@gmail.com>
> > >> wrote:
> > >> >>> >
> > >> >>> > Hi Andreas,
> > >> >>> >
> > >> >>> > Thanks for the quick response. But I dont have that jar
on my 
WAR
> > >> or
> > >> >>> > classpath.
> > >> >>> >
> > >> >>> > Jars in my WAR file :
> > >> >>> >
> > >> >>> > avalon-framework-4.1.3.jar jboss-el-2.0.0.GA.jar
> > >> >>> > org.springframework.web.servlet-2.5.5.A.jar
> > >> >>> > commons-beanutils-1.7.0.jar jms.jar
> > >> >>> > oro-2.0.8.jar
> > >> >>> > commons-codec-1.3.jar
> > >> >>> > jsf-facelets-1.1.14.jar pat-1.0.jar
> > >> >>> > commons-collections-3.2.jar jsp-2.1-6.0.0.jar
> > >> >>> > providerutil-1.2.1.jar
> > >> >>> > commons-digester-1.8.jar jsp-api-2.1.jar
> > >> >>> > providerutil.jar
> > >> >>> > commons-discovery-0.2.jar jsr173-api-1.0.jar
> > >> >>> > resolver-1.0.jar
> > >> >>> > commons-el-1.0.jar jstl-1.1.2.jar
> > >> >>> > shale-core-1.0.4.jar
> > >> >>> > commonservices.jar log4j-1.2.12.jar
> > >> >>> > shale-validator-1.0.4.jar
> > >> >>> > commons-fileupload-1.0.jar logkit-1.0.1.jar
> > >> >>> > spring-2.5.5.jar
> > >> >>> > commons-lang-2.4.jar
> > >> >>> > org.springframework.aop-2.5.5.A.jar spring-webmvc-2.5.5.jar
> > >> >>> > commons-logging-1.1.jar
> > >> >>> > org.springframework.beans-2.5.5.A.jar standard-1.1.2.jar
> > >> >>> > commons-validator-1.3.1.jar
> > >> >>> > org.springframework.binding-2.0.3.RELEASE.jar 
stax-api-1.0.1.jar
> > >> >>> > com.springsource.org.aopalliance-1.0.0.jar
> > >> >>> > org.springframework.context-2.5.5.A.jar tomahawk-1.1.6.jar
> > >> >>> > com.springsource.org.apache.commons.logging-1.1.1.jar
> > >> >>> > org.springframework.core-2.5.5.A.jar xbean-1.0.jar
> > >> >>> > connector.jar
> > >> >>> > org.springframework.faces-2.0.3.RELEASE.jar 
xbean_xpath-1.0.jar
> > >> >>> > fscontext-1.2.beta3.jar
> > >> >>> > org.springframework.js-2.0.3.RELEASE.jar xmlbeans-2.3.0.jar
> > >> >>> > fscontext.jar
> > >> >>> > org.springframework.web-2.5.5.A.jar xmlbeans-qname-1.0.jar
> > >> >>> > javassist-3.8.0.GA.jar
> > > 
> > >> >>> > org.springframework.webflow-2.0.3.RELEASE.jar 
xmlpublic-1.0.jar
> > >> >>> >
> > >> >>> >
> > >> >>> > These are the jars in my Appserver lib :
> > >> >>> >
> > >> >>> > activation-impl.jar commons-collections-3.2.jar ext
> > >> >>> > j2ee.jar nif.jar sib.api.jmsra.rar
> > >> >>> > urlprotocols.jar
> > >> >>> > aspectjrt.jar commons-digester-1.8.jar ffdcSupport.jar
> > >> >>> > jacl.jar pc-appext.jar sib.ra.rar util.jar
> > >> >>> > base.jar commons-discovery-0.2.jar htmlshell.jar
> > >> >>> > launchclient.jar physicalrep.jar sljc.jar webadmin
> > >> >>> > bootstrap.jar commons-el-1.0.jar installver.jar
> > >> >>> > lmproxy.jar pmirm4arm.jar spy.jar WMQ
> > >> >>> > bsf-engines.jar commons-lang-2.4.jar installxml.jar
> > >> >>> > mail-impl.jar rrd-appext.jar spy-sl.jar wsatlib.jar
> > >> >>> > commandlineutils.jar EJBCommandTarget.jar iscdeploy.jar
> > >> >>> > marshall.jar rsadbutils.jar sqlserver.jar
> > >> >>> > wsif-compatb.jar
> > >> >>> > commons-beanutils-1.7.0.jar el-api-1.0.jar ivblogbr.jar
> > >> >>> > myfaces-api-1.2.4.jar rsahelpers.jar startup.jar
> > >> >>> > commons-codec-1.3.jar el-impl-1.0.jar IVTClient.jar
> > >> >>> > myfaces-impl-1.2.4.jar serviceadapter.jar tcljava.jar
> > >> >>> >
> > >> >>> >
> > >> >>> > Andreas Veithen-2 wrote:
> > >> >>> >>
> > >> >>> >> Try to remove the geronimo-jms_1.1_spec-1.1.jar file
from 
your WAR
> > >> or
> > >> >>> >> EAR. That should solve the problem.
> > >> >>> >>
> > >> >>> >> Andreas
> > >> >>> >>
> > >> >>> >> On Sat, Oct 25, 2008 at 00:22, djohnjimmy 
<djohnjimmy@gmail.com>
> > >> >>> wrote:
> > >> >>> >>>
> > >> >>> >>> I am facing the same problem although with JSF,
Spring, MQ 
and
> > >> WAS.
> > >> >>> >>>
> > >> >>> >>> JSF requires us to use change Class loader order
to 
"Classes
> > >> loaded
> > >> >>> >>> with
> > >> >>> >>> application class loader first" and with the
configuration 
- the
> > >> >>> >>> queueConnectionFactories wont initialze...
> > >> >>> >>>
> > >> >>> >>> And it WAS throws the following exception :
> > >> >>> >>>
> > >> >>> >>> Caused by: java.lang.IllegalArgumentException:
Cannot 
convert
> > >> value
> > >> >>> of
> > >> >>> >>> type
> > >> >>> >>> [com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle]
to 
required
> > >> type
> > >> >>> >>> [javax.jms.ConnectionFactory] for property 
'connectionFactory':
> > >> no
> > >> >>> >>> matching
> > >> >>> >>> editors or conversion strategy found
> > >> >>> >>>
> > >> >>> >>> If we Change Class loader order to "Classes loaded
with 
parent
> > >> class
> > >> >>> >>> loader
> > >> >>> >>> first", then JSF will not work.
> > >> >>> >>>
> > >> >>> >>> Looks like its either JSF or MQ for us on WAS.
Any ideas 
anyone?
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>> callagc4 wrote:
> > >> >>> >>>>
> > >> >>> >>>>
> > >> >>> >>>> Hi,
> > >> >>> >>>>
> > >> >>> >>>> I have set up an MQQueueConnectionFactory
in Websphere. I 
have
> > >> >>> >>>> configured
> > >> >>> >>>> my axis2.xml to use this factory for my default

JMSListener. On
> > >> >>> >>>> startup
> > >> >>> >>>> the application is successfully finding the
Factory 
reference in
> > >> >>> the
> > >> >>> >>>> websphere jndi context however i am receiving
the 
following
> > >> >>> exception
> > >> >>> >>>>
> > >> >>> >>>> "com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle

incompatible
> > >> with
> > >> >>> >>>> javax.jms.ConnectionFactory"
> > >> >>> >>>>
> > >> >>> >>>> This appears to be a classpath issue on the
server as i 
have
> > >> >>> >>>> configured
> > >> >>> >>>> the client to use the same context and jndi
reference and 
it has
> > >> no
> > >> >>> >>>> problem creating the MQQueueConnectionFactory
and placing
> > >> messages
> > >> >>> on
> > >> >>> >>>> the
> > >> >>> >>>> queue. The client is a standalone java client,
it is 
running on
> > >> the
> > >> >>> >>>> ibm
> > >> >>> >>>> websphere jre and i have placed the following
classes on 
the
> > >> >>> >>>> classpath:
> > >> >>> >>>> ibm-jaxrpc-client.jar
> > >> >>> >>>> idl.jar
> > >> >>> >>>> j2ee.jar
> > >> >>> >>>> messagingClient.jar
> > >> >>> >>>> naming.jar
> > >> >>> >>>> namingclient.jar
> > >> >>> >>>> sas.jar
> > >> >>> >>>>
> > >> >>> >>>> Another point to note is that this issue
depends on the
> > >> classloader
> > >> >>> >>>> policy. When the ploicy is set to Application
first - 
single
> > >> loader
> > >> >>> i
> > >> >>> >>>> get
> > >> >>> >>>> this issue. However when the ploicy is set
to Application 
first
> > >> -
> > >> >>> >>>> multiple
> > >> >>> >>>> loaders the listener initializes. unfortunately
our 
application
> > >> >>> >>>> contraints
> > >> >>> >>>> require that our policy is Application fisrt
- single 
loader.
> > >> >>> >>>>
> > >> >>> >>>> Has anybody seen this issue before or are
there any ideas 
as to
> > >> >>> what
> > >> >>> >>>> may
> > >> >>> >>>> be causing this incompatablility issue?
> > >> >>> >>>>
> > >> >>> >>>> Cheers,
> > >> >>> >>>> Cathal
> > >> >>> >>>>
> > >> >>> >>>
> > >> >>> >>> --
> > >> >>> >>> View this message in context:
> > >> >>> >>>
> > >> >>> >>>
> > >> >>>
> > >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-
> tp15165852p20158727.html
> > >> >>> >>> Sent from the Axis - Dev mailing list archive
at 
Nabble.com.
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> 
---------------------------------------------------------------------
> > >> >>> >>> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> >>> >>> For additional commands, e-mail: 
axis-dev-help@ws.apache.org
> > >> >>> >>>
> > >> >>> >>>
> > >> >>> >>
> > >> >>> >>
> > >> 
---------------------------------------------------------------------
> > >> >>> >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> >>> >> For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >> >>> >>
> > >> >>> >>
> > >> >>> >>
> > >> >>> >
> > >> >>> > --
> > >> >>> > View this message in context:
> > >> >>> >
> > >> >>>
> > >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-
> tp15165852p20159210.html
> > >> >>> > Sent from the Axis - Dev mailing list archive at Nabble.com.
> > >> >>> >
> > >> >>> >
> > >> >>> >
> > >> 
---------------------------------------------------------------------
> > >> >>> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> >>> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >> >>> >
> > >> >>> >
> > >> >>>
> > >> >>> 
---------------------------------------------------------------------
> > >> >>> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> >>> For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >> >>>
> > >> >>
> > >> >> ________________________________
> > >> >> Store, manage and share up to 5GB with Windows Live SkyDrive.

Start
> > >> >> uploading now
> > >> > 
> > >> > 
---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >> > 
> > >> > 
> > >> > 
> > >> 
> > >> -- 
> > >> View this message in context:
> > >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-
> tp15165852p20169507.html
> > >> Sent from the Axis - Dev mailing list archive at Nabble.com.
> > >> 
> > >> 
> > >> 
---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >> For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >> 
> > > 
> > > _________________________________________________________________
> > > Store, manage and share up to 5GB with Windows Live SkyDrive.
> > > http://skydrive.live.com/welcome.aspx?provision=1?
> ocid=TXT_TAGLM_WL_skydrive_102008
> > > 
> > 
> > -- 
> > View this message in context: http://www.nabble.com/Axis2-
> JMSListener-on-Websphere-tp15165852p20170218.html
> > Sent from the Axis - Dev mailing list archive at Nabble.com.
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > 
> 
> Stay organized with simple drag and drop from Windows Live Hotmail. Try 
it





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU






Mime
View raw message