Hi Marc,

Your cxf-version is 2.0-incubator-SNAPSHOT, it's a bit out of date, please use 2.1-incubator-SNAPSHOT,
Cheers

Freeman
Marc Baumgartner wrote:
Hi Freeman,

I am working with maven and I can't find a repository with 2.1 libs. My pom 
contains these libs:

<dependency>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                        <version>4.1</version>
                        <scope>test</scope>
                </dependency>
                <dependency>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                        <version>1.2.14</version>
                </dependency>             
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-webmvc</artifactId>
                        <version>2.0.5</version>
                </dependency>
                <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                        <version>2.4</version>
                        <scope>provided</scope>
                </dependency>
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-aop</artifactId>
                        <version>2.0.5</version>
                </dependency>
                <dependency>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty</artifactId>
                        <version>6.1.0</version>                    
                </dependency>
                <dependency>
                        <groupId>org.apache.ws.commons.schema</groupId>
                        <artifactId>XmlSchema</artifactId>
                        <version>1.2</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-transports-http-jetty</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-jaxws</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>             
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-databinding-aegis</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-transports-http</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-bindings-soap</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-ws-addr</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-ws-policy</artifactId>
                        <version>2.0-incubator-SNAPSHOT</version>
                </dependency>

Do I really have to define every web service by its own with
implementation class and url? Is it not possible that cxf gets this information 
from the
annotations?

Answer: Consider the scenario that we are using code first way, so HelloWorldImpl may not have all annotations as we need.

Hm, why not let the user config if he wants let cfx get information from the annotations like xfire?
Regards,
Marc


-------- Original-Nachricht --------
Datum: Fri, 13 Jul 2007 17:47:03 +0800
Von: Freeman Fang <[EMAIL PROTECTED]>
An: [email protected]
Betreff: Re:

Hi Marc,
The redunadant declaration of address and implementing class is unnecessary, actually the context could be
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
        xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>

        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
/>
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
        <bean id="aegisDatabinding"
              class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
        <bean id="serviceFactory"
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                <property name="dataBinding" ref="aegisDatabinding"/>
        </bean>
        <jaxws:endpoint
          id="helloWorld"
          implementor="demo.spring.HelloWorldImpl"
          address="/HelloWorld">
          <jaxws:serviceFactory>
             <ref bean="serviceFactory"/>
          </jaxws:serviceFactory>
        </jaxws:endpoint>

</beans>
For Could not find destination factory for transport http://schemas.xmlsoap.org/soap/http, I cann't reproduce it and it should be classpath issue, can you append your classpath? Or just add cxf-2.1-incubator-SNAPSHOT.jar from cxf kit on your classpath and try it again?

Do I really have to define every web service by its own with
implementation class and url? Is it not possible that cxf gets this information 
from the
annotations?

Answer: Consider the scenario that we are using code first way, so HelloWorldImpl may not have all annotations as we need.

Best Regards

Freeman


Marc Baumgartner wrote:
Hi Freeman,

is it possible to avoid the redunadant declaration of the adress and
implementing class?
With your example configuration I have to define these parameters twice.

Do I really have to define every web service by its own with
implementation class and url? Is it not possible that cxf gets this information 
from
the annotations?
When I start my test I get again an exception:

Caused by: java.lang.RuntimeException: Could not find destination
factory for transport http://schemas.xmlsoap.org/soap/http
Same question as in my other mail :-)

Regards,
Marc



-------- Original-Nachricht --------
Datum: Fri, 13 Jul 2007 16:24:57 +0800
Von: Freeman Fang <[EMAIL PROTECTED]>
An: [email protected]
Betreff: Re:

Hi Marc,

You can do it like
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
        xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd";>
        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import
resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
/>
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
        <bean id="serviceClass" class="demo.spring.HelloWorldImpl"/>
        <bean id="aegisDatabinding"
class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
        <bean id="serviceFactory"
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                <property name="dataBinding" ref="aegisDatabinding"/>
        </bean>
<bean id="serverBeanFactory" class="org.apache.cxf.frontend.ServerFactoryBean"
              init-method="create">
                <property name="address" value="/HelloWorld"/>
<property name="bindingId" value="http://schemas.xmlsoap.org/soap/"/>
                <property name="serviceBean" ref="serviceClass"/>
                <property name="serviceFactory" ref="serviceFactory"/>
        </bean>
        <jaxws:endpoint
          id="helloWorld"
          implementor="demo.spring.HelloWorldImpl"
          address="/HelloWorld">
          <jaxws:serviceFactory>
             <ref bean="serviceFactory"/>
          </jaxws:serviceFactory>
        </jaxws:endpoint>

</beans>

Best Regards

Freeman

Marc Baumgartner wrote:
How do I configure in my applicationContext.xml to use Aegis?

Is there anywhere an example?

Regards
Marc

-------- Original-Nachricht --------
Datum: Thu, 12 Jul 2007 13:35:58 -0600
Von: "Dan Diephouse" <[EMAIL PROTECTED]>
An: [email protected]
Betreff: Re:

JAXB can't handle interfaces. What you want to do is configure your
service
to use the Aegis databinding library from XFire instead:

http://cwiki.apache.org/CXF20DOC/aegis-databinding.html

Aegis will handle just about any datatypes you throw at it. Hope that
helps,
- Dan

On 7/12/07, Marc Baumgartner <[EMAIL PROTECTED]> wrote:
Hi,

in Xfire it is possible to define a complex result object from a web
service as an interface like this:

public interface Greeting {

        public abstract void setMessage(String msg);

        public abstract String getMessage();

}

@WebService
public interface HelloWorldService {

        @WebMethod
        @WebResult(name="Greeting")
        public List<hello.impl.GreetingImpl> getGreeting(String
name);
        @WebMethod
        public String sayHello(String name);
}

With CXF a signature like this causes an error. It seems that JAXB
can
not
handle the result interfaces. Is it possible to "tell" JAXB to
accept
the
interfaces? Can I use another bindung lib? How do i configure it?

Regards,
Marc


--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger

--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Reply via email to