It seems that the error get removed after putting <import
resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the jaxrs:server
configuration, but then I faces missing classes as I get the error below. It
seems that cxf is using lower/higher version of some artifact than the rest of
my application? When I remove the dependencies to my store (implemented using
hibernate) the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get
it running with the latest jax-rs (1.0).
Any suggestion what to upgrade in my application?
regards, Piotr
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
net.sf.cglib.proxy.Enhancer
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
at
org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
at
org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
at
org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
at
org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
at
org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
at
org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
at
org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
at
org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
at
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at
org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
at
org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
at
org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> From: [EMAIL PROTECTED]
> To: [email protected]
> Subject: Re: Problem of having jax-rs based services together with jax-ws
> based clients
> Date: Wed, 26 Nov 2008 12:31:02 +0000
>
> Thanks, I'll have a look...
>
> ----- Original Message -----
> From: "Piotr Skawinski" <[EMAIL PROTECTED]>
> To: "cxf users mailing list" <[email protected]>
> Sent: Wednesday, November 26, 2008 12:21 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws
> based clients
>
>
>
> Yes, I have seperate configuration files. One for services and one for store.
> Configuration files are merged into one configuration
> file like:
>
> <?xml version="1.0"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>
> <import
> resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> <import
> resource="classpath:/arena.cs.images/images-store-connector.context"/>
>
> </beans>
>
> which is loaded by the CXFServlet as described in the web.xml.
>
> As I said it works fine when services are implemented using the restlet
> framework, but I would like to change to the JAX-RS
> implementation as CXF offers.
>
>
> > From: [EMAIL PROTECTED]
> > To: [email protected]
> > Subject: Re: Problem of having jax-rs based services together with jax-ws
> > based clients
> > Date: Wed, 26 Nov 2008 12:05:17 +0000
> >
> > So you have seperate configuration files, right ? In what order they're
> > loaded or how do you access them ?
> > I didn't know multiple config files were possible...
> >
> > Cheers, Sergey
> >
> >
> >
> > jaxws client configuration
> > ------------------------------
> >
> > <?xml version="1.0"?>
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> >
> > <bean id="fedoraServiceConnector"
> > class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> > </bean>
> > </beans>
> >
> > client implementation
> >
> > --------------------
> >
> > public class FedoraServiceConnector implements FedoraService {
> >
> > private FedoraAPIA fedoraAPIA;
> > private FedoraAPIM fedoraAPIM;
> >
> > public FedoraServiceConnector() {
> > fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> > BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> >
> > apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY,
> > "fedoraAdmin");
> >
> > apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,
> > "fedoraAdmin");
> >
> > fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> > BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> >
> > apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY,
> > "fedoraAdmin");
> >
> > apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,
> > "fedoraAdmin");
> > }
> > .
> > .
> > .
> > }
> >
> > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are
> > generated client classes using the cxf plugin for maven for
> > generating ws clients.
> >
> >
> > sample jaxrs server configuration
> > -------------------------------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> > xsi:schemaLocation="
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans.xsd
> > http://cxf.apache.org/jaxrs
> > http://cxf.apache.org/schemas/jaxrs.xsd">
> >
> > <import resource="classpath:META-INF/cxf/cxf.xml" />
> > <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"
> > />
> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> >
> > <jaxrs:server id="imageService" address="/">
> > <jaxrs:serviceBeans>
> > <ref bean="imagesServiceImpl" />
> > </jaxrs:serviceBeans>
> > </jaxrs:server>
> >
> > <bean id="imagesServiceImpl"
> > class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> > <property name="imagesStore" ref="imagesStoreConnector"/>
> > </bean>
> >
> > </beans>
> >
> > jaxrs service implementation
> > ---------------------------
> > @Path("/images")
> > @Produces("application/xml")
> > public class ImagesServiceImpl {
> >
> > private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> > private ImagesStore imagesStore;
> >
> > @POST
> > @Path("/image")
> > public ImageDTO createImage(ImageDTO imageDTO) {
> > logger.debug("ImagesServiceImpl.createImage");
> > try {
> > logger.debug("ImagesServiceImpl.createImage");
> > Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> > image = imagesStore.createImage(image);
> > return ImagesConverter.convertImage(image);
> > } catch (ParseException e) {
> > throw new WebApplicationException(e);
> > }
> > }
> >
> > @GET
> > @Path("/image/{imageId}")
> > public ImageDTO getImage(@PathParam("imageId") final String id) {
> > logger.debug("ImagesServiceImpl.getImage");
> > Image.Id imageId = new Image.Id(new Uberkey() {
> > {
> > setUuid(new Uuid(id));
> > }
> > });
> > Image image = imagesStore.getImage(imageId);
> > return ImagesConverter.convertImage(image);
> > }
> >
> > @GET
> > public ImagesDTO getAllImages() {
> > logger.debug("ImagesServiceImpl.getAllImages");
> > List<Image> images = imagesStore.getAllImages();
> > return ImagesConverter.convertImages(images);
> > }
> >
> > public void setImagesStore(ImagesStore imagesStore) {
> > this.imagesStore = imagesStore;
> > }
> >
> > }
> >
> >
> > web.xml
> > --------
> > <?xml version="1.0"?>
> > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> >
> > <context-param>
> > <param-name>contextConfigLocation</param-name>
> >
> > <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> > </context-param>
> >
> > <listener>
> > <listener-class>
> > org.springframework.web.context.ContextLoaderListener
> > </listener-class>
> > </listener>
> >
> > <servlet>
> > <servlet-name>CXFServlet</servlet-name>
> > <servlet-class>
> > org.apache.cxf.transport.servlet.CXFServlet
> > </servlet-class>
> > <load-on-startup>1</load-on-startup>
> > </servlet>
> >
> > <servlet-mapping>
> > <servlet-name>CXFServlet</servlet-name>
> > <url-pattern>/*</url-pattern>
> > </servlet-mapping>
> >
> > </web-app>
> >
> >
> >
> >
> >
> > > From: [EMAIL PROTECTED]
> > > To: [email protected]
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws
> > > based clients
> > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > >
> > > Hi
> > >
> > > Can you please post
> > >
> > > - sample jaxws client configuration
> > > - sample jaxws server configuration if any
> > > - sample jaxrs server configuration
> > > - sample jaxws and jaxrs code you use
> > >
> > > It will make it easier to investigate the problem
> > >
> > > Cheers, Sergey
> > >
> > > ----- Original Message -----
> > > From: "Piotr Skawinski" <[EMAIL PROTECTED]>
> > > To: "cxf users mailing list" <[email protected]>
> > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > Subject: Problem of having jax-rs based services together with jax-ws
> > > based clients
> > >
> > >
> > >
> > > Hi,
> > >
> > > I'm facing a problem of deploying jax-rs based services together with
> > > jax-ws based client. I get below exception when the client
> > > is
> > > tried to be initilized. Both, the jax-rs based services and jax-ws based
> > > client are implemented
> > > using the cxf. The problem seem not to occur when services are
> > > implemented using the restlet framework, or when jax-rs based services are
> > > deployed without the jax-ws based client. Is there a conflict of
> > > having the jax-rs services together with jax-ws clients, both
> > > implemented using the cxf?
> > >
> > > Caused by: javax.xml.ws.WebServiceException:
> > > org.apache.cxf.service.factory.ServiceConstructionException
> > > at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > > at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > > at javax.xml.ws.Service.getPort(Service.java:92)
> > > at
> > > info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > > at
> > > com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > > Method)
> > > at
> > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > at
> > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > at
> > > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > > ... 83 more
> > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > > at
> > > org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > > at
> > > org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > > at
> > > org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > > at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > > at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > > ... 92 more
> > > Caused by: org.apache.cxf.BusException: No binding factory for namespace
> > > http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > > at
> > > org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > > at
> > > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > > at
> > > org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > > ... 96 more
> > >
> > >
> > > thx in advance, Piotr
> > >
> > >
> > >
> > >
> > > _________________________________________________________________
> > > Connect to the next generation of MSN Messenger
> > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > >
> > >
> >
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> >
> >
>
> _________________________________________________________________
> Discover the new Windows Vista
> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
>
>
_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE