Hi,

You can't use
<simple:server id="PersonService"
                serviceClass="org.apache.servicemix.samples.wsdl_first.Person"
                address="/PersonService">
                <simple:serviceBean>
                        <bean 
class="org.apache.servicemix.samples.wsdl_first.PersonImpl" />
                </simple:serviceBean>
        </simple:server>

in smx-cxf-se endpoint xbean.xml.
You should use something like

<cxfse:endpoint useAegis="true">
        <cxfse:pojo>
<bean class="org.apache.servicemix.samples.wsdl_first.PersonImpl">
          </bean>

        </cxfse:pojo>
</cxfse:endpoint>

Notice I put useAegis="true" flag which generally used with simple frontend

You may need also take a look at how to configure smx-cxf-se endpoint from [1]
[1]http://servicemix.apache.org/servicemix-cxf-se.html

Freeman

On 2010-3-5, at 下午3:44, chris charles harris wrote:



Hi,

I was trying to use simple-frountend with servicemix-cxf-se.
Following shows my xbean.xml file, Interface and implementation class.

xbean.xml

<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0";
xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:simple="http://cxf.apache.org/simple";
        xmlns:soap="http://cxf.apache.org/bindings/soap";
        xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/simple http://cxf.apache.org/schemas/ simple.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-extension-http- jetty.xml" />

        <simple:server id="PersonService"
                serviceClass="org.apache.servicemix.samples.wsdl_first.Person"
                address="/PersonService">
                <simple:serviceBean>
<bean class="org.apache.servicemix.samples.wsdl_first.PersonImpl" />
                </simple:serviceBean>
        </simple:server>
</beans>

Person.java

public interface Person {

        public String getPerson(String personId) ;
}

PersonImpl .java

public class PersonImpl implements Person {

      public String getPerson(String personId) {
                if (personId == null || personId.length() == 0) {
           return "null";
       }
       return personId = "success";
        }
}


Then i am getting following error.

INFO: Creating Service
{http://wsdl_first.samples.servicemix.apache.org/}Person from class
org.apache.servicemix.samples.wsdl_first.Person
ERROR - CxfSeComponent                 -
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'PersonService': Invocation of init method failed; nested
exception is org.apache.cxf.service.factory.ServiceConstructionException Mar 5, 2010 1:03:54 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be
http://localhost:8092/PersonService/
INFO  - DeploymentService              - UnDeployed ServiceUnit
wsdl-first-cxfbc-su from Component: servicemix-cxf-bc
ERROR - AutoDeploymentService - Failed to update Service Assembly:
wsdl-first-cxf-sa
java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message";
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
       <component-name>servicemix-cxf-se</component-name>
       <component-task-result-details>
               <task-result-details>
                       <task-id>deploy</task-id>
                       <task-result>FAILED</task-result>
                       <message-type>ERROR</message-type>
                       <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Could not deploy xbean service unit</loc-message>
</msg-loc-info>
</task-status-msg>
                       <exception-info>
                               <nesting-level>1</nesting-level>
                               <msg-loc-info>
                                       <loc-token/>
<loc-message>Error creating bean
with name 'PersonService': Invocation of init method failed; nested
exception is
org.apache.cxf.service.factory.ServiceConstructionException</loc- message>

<stack-trace><! [CDATA[org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'PersonService': Invocation of init method
failed; nested exception is
org.apache.cxf.service.factory.ServiceConstructionException
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
       at
org .springframework .beans.factory.support.AbstractAutowireCapableBeanFactory $1.run(AbstractAutowireCapableBeanFactory.java:409)
       at java.security.AccessController.doPrivileged(Native Method)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .createBean(AbstractAutowireCapableBeanFactory.java:380)
       at
org.springframework.beans.factory.support.AbstractBeanFactory $1.getObject(AbstractBeanFactory.java:264)
       at
org .springframework .beans .factory .support .DefaultSingletonBeanRegistry .getSingleton(DefaultSingletonBeanRegistry.java:222)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
       at
org .springframework .beans .factory .support .DefaultListableBeanFactory .preInstantiateSingletons(DefaultListableBeanFactory.java:429)
       at
org .springframework .context .support .AbstractApplicationContext .finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
       at
org .springframework .context .support .AbstractApplicationContext.refresh(AbstractApplicationContext.java: 380)
       at
org .apache .servicemix .common .xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:87)
       at
org .apache .servicemix .common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java: 88)
       at
org .apache .servicemix .common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
       at
org .apache .servicemix .jbi .framework .DeploymentService.deployServiceAssembly(DeploymentService.java:520)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService .updateServiceAssembly(AutoDeploymentService.java:349)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.monitorDirectory(AutoDeploymentService.java: 658)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access $800(AutoDeploymentService.java:63)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService $1.run(AutoDeploymentService.java:622)
       at java.util.TimerThread.mainLoop(Timer.java:512)
       at java.util.TimerThread.run(Timer.java:462)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
       at
org .apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java: 127)
       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 .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
       ... 23 more
Caused by: java.net.MalformedURLException: no protocol: /PersonService
       at java.net.URL.<init>(URL.java:567)
       at java.net.URL.<init>(URL.java:464)
       at java.net.URL.<init>(URL.java:413)
       at
org .apache .cxf .transport .http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
       at
org .apache .cxf .transport .http_jetty .JettyHTTPTransportFactory .createDestination(JettyHTTPTransportFactory.java:116)
       at
org .apache .cxf .transport .http_jetty .JettyHTTPTransportFactory .getDestination(JettyHTTPTransportFactory.java:103)
       at
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java: 69)
       at
org .apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java: 106)
       ... 30 more
]]></stack-trace>
                               </msg-loc-info>
                       </exception-info>
               </task-result-details>
       </component-task-result-details>
</component-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
       <component-name>servicemix-cxf-bc</component-name>
       <component-task-result-details>
               <task-result-details>
                       <task-id>deploy</task-id>
                       <task-result>SUCCESS</task-result>
               </task-result-details>
       </component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

       at
org .apache .servicemix .jbi.framework.ManagementSupport.failure(ManagementSupport.java:125)
       at
org .apache .servicemix .jbi.framework.ManagementSupport.failure(ManagementSupport.java:111)
       at
org .apache .servicemix .jbi .framework .DeploymentService.deployServiceAssembly(DeploymentService.java:555)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService .updateServiceAssembly(AutoDeploymentService.java:349)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.monitorDirectory(AutoDeploymentService.java: 658)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access $800(AutoDeploymentService.java:63)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService $1.run(AutoDeploymentService.java:622)
       at java.util.TimerThread.mainLoop(Timer.java:512)
       at java.util.TimerThread.run(Timer.java:462)
WARN - AutoDeploymentService - Directory: hotdeploy: Automatic install of D:\apache-servicemix-3.3.1\hotdeploy\wsdl-first-cxf- sa-3.3.1.zip
failed
javax.jbi.management.DeploymentException: Failed to update Service Assembly:
wsdl-first-cxf-sa
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService .updateServiceAssembly(AutoDeploymentService.java:364)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.monitorDirectory(AutoDeploymentService.java: 658)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access $800(AutoDeploymentService.java:63)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService $1.run(AutoDeploymentService.java:622)
       at java.util.TimerThread.mainLoop(Timer.java:512)
       at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message";
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
       <component-name>servicemix-cxf-se</component-name>
       <component-task-result-details>
               <task-result-details>
                       <task-id>deploy</task-id>
                       <task-result>FAILED</task-result>
                       <message-type>ERROR</message-type>
                       <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Could not deploy xbean service unit</loc-message>
</msg-loc-info>
</task-status-msg>
                       <exception-info>
                               <nesting-level>1</nesting-level>
                               <msg-loc-info>
                                       <loc-token/>
<loc-message>Error creating bean
with name 'PersonService': Invocation of init method failed; nested
exception is
org.apache.cxf.service.factory.ServiceConstructionException</loc- message>

<stack-trace><! [CDATA[org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'PersonService': Invocation of init method
failed; nested exception is
org.apache.cxf.service.factory.ServiceConstructionException
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
       at
org .springframework .beans.factory.support.AbstractAutowireCapableBeanFactory $1.run(AbstractAutowireCapableBeanFactory.java:409)
       at java.security.AccessController.doPrivileged(Native Method)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .createBean(AbstractAutowireCapableBeanFactory.java:380)
       at
org.springframework.beans.factory.support.AbstractBeanFactory $1.getObject(AbstractBeanFactory.java:264)
       at
org .springframework .beans .factory .support .DefaultSingletonBeanRegistry .getSingleton(DefaultSingletonBeanRegistry.java:222)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
       at
org .springframework .beans .factory .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
       at
org .springframework .beans .factory .support .DefaultListableBeanFactory .preInstantiateSingletons(DefaultListableBeanFactory.java:429)
       at
org .springframework .context .support .AbstractApplicationContext .finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
       at
org .springframework .context .support .AbstractApplicationContext.refresh(AbstractApplicationContext.java: 380)
       at
org .apache .servicemix .common .xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:87)
       at
org .apache .servicemix .common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java: 88)
       at
org .apache .servicemix .common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
       at
org .apache .servicemix .jbi .framework .DeploymentService.deployServiceAssembly(DeploymentService.java:520)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService .updateServiceAssembly(AutoDeploymentService.java:349)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService.monitorDirectory(AutoDeploymentService.java: 658)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access $800(AutoDeploymentService.java:63)
       at
org.apache.servicemix.jbi.framework.AutoDeploymentService $1.run(AutoDeploymentService.java:622)
       at java.util.TimerThread.mainLoop(Timer.java:512)
       at java.util.TimerThread.run(Timer.java:462)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
       at
org .apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java: 127)
       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 .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
       at
org .springframework .beans .factory .support .AbstractAutowireCapableBeanFactory .initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
       ... 23 more
Caused by: java.net.MalformedURLException: no protocol: /PersonService
       at java.net.URL.<init>(URL.java:567)
       at java.net.URL.<init>(URL.java:464)
       at java.net.URL.<init>(URL.java:413)
       at
org .apache .cxf .transport .http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
       at
org .apache .cxf .transport .http_jetty .JettyHTTPTransportFactory .createDestination(JettyHTTPTransportFactory.java:116)
       at
org .apache .cxf .transport .http_jetty .JettyHTTPTransportFactory .getDestination(JettyHTTPTransportFactory.java:103)
       at
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java: 69)
       at
org .apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java: 106)
       ... 30 more
]]></stack-trace>
                               </msg-loc-info>
                       </exception-info>
               </task-result-details>
       </component-task-result-details>
</component-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
       <component-name>servicemix-cxf-bc</component-name>
       <component-task-result-details>
               <task-result-details>
                       <task-id>deploy</task-id>
                       <task-result>SUCCESS</task-result>
               </task-result-details>
       </component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

       at
org .apache .servicemix .jbi.framework.ManagementSupport.failure(ManagementSupport.java:125)
       at
org .apache .servicemix .jbi.framework.ManagementSupport.failure(ManagementSupport.java:111)
       at
org .apache .servicemix .jbi .framework .DeploymentService.deployServiceAssembly(DeploymentService.java:555)
       at
org .apache .servicemix .jbi .framework .AutoDeploymentService .updateServiceAssembly(AutoDeploymentService.java:349)
       ... 6 more


Can you give any help to fix this.
Thanks,
chris

--
View this message in context: 
http://old.nabble.com/How--to-pass-complex-object-in-to-a-web-service-tp27779954p27790800.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to