Hi,

Could you append a working testcase, not only the binary jar/zip, including the src which I can build and deploy? Also please tell me the smx version you are working with.
A working testcase is more helpful in this case.

Freeman
On 2010-8-13, at 上午3:13, Dan Powell wrote:

I need to use a binding file to customize the generated classes for my services (specifically generateMixedExtensions). The cxf-codegen- plugin correctly observes the binding file and generates the correct classes, but the cxf-se component throws an Exception deploying the SU. Without the binding file, my service deploys properly. I suspect it may have something to do with a version mismatch of the JAXB or XJC libraries at compile vs runtime creating some kind of a ClassNotFoundException processing the @XmlMixed annotation or something similar. I have tried explicitly including the jaxb-impl library in my SU but that didn't help. Any ideas on how to resolve this or at least how to get a more helpful error message?

Thanks!

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>java.lang.IllegalStateException: start tag has already been written</loc-message> <stack-trace><![CDATA[javax.xml.ws.WebServiceException: java.lang.IllegalStateException: start tag has already been written
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:275)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
at org .apache.servicemix.cxfse.CxfSeEndpoint.validate(CxfSeEndpoint.java: 355) at org .apache .servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58) at org .apache .servicemix .common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55) at org .apache .servicemix .common .xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:97) 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.checkPendingSAs(AutoDeploymentService.java:473) at org .apache .servicemix .jbi .framework .AutoDeploymentService.updateComponent(AutoDeploymentService.java:289) at org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:251) 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.IllegalStateException: start tag has already been written at com .sun.xml.txw2.ContainerElement.checkStartTag(ContainerElement.java: 160) at com.sun.xml.txw2.ContainerElement.addAttribute(ContainerElement.java: 149) at com.sun.xml.txw2.ContainerElement.invoke(ContainerElement.java: 129)
        at $Proxy65.mixed(Unknown Source)
at com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator $Namespace.writeClass(XmlSchemaGenerator.java:925) at com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator $Namespace.writeTo(XmlSchemaGenerator.java:668) at com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator$Namespace.access $700(XmlSchemaGenerator.java:493) at com .sun .xml .bind.v2.schemagen.XmlSchemaGenerator.write(XmlSchemaGenerator.java: 475) at com .sun .xml .bind.v2.runtime.JAXBContextImpl.generateSchema(JAXBContextImpl.java: 822) at org.apache.cxf.jaxb.JAXBUtils.generateJaxbSchemas(JAXBUtils.java: 699) at org .apache .cxf.jaxb.JAXBDataBinding.generateJaxbSchemas(JAXBDataBinding.java: 445) at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java: 372) at org .apache .cxf .service .factory .ReflectionServiceFactoryBean .buildServiceFromClass(ReflectionServiceFactoryBean.java:467) at org .apache .cxf .jaxws .support .JaxWsServiceFactoryBean .buildServiceFromClass(JaxWsServiceFactoryBean.java:550) at org .apache .cxf .service .factory .ReflectionServiceFactoryBean .initializeServiceModel(ReflectionServiceFactoryBean.java:530) at org .apache .cxf .service .factory .ReflectionServiceFactoryBean .create(ReflectionServiceFactoryBean.java:278) at org .apache .cxf .jaxws .support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java: 178) at org .apache .cxf .frontend .AbstractWSDLBasedEndpointFactory .createEndpoint(AbstractWSDLBasedEndpointFactory.java:100) at org .apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java: 105) at org .apache .cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java: 167)
        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
        ... 16 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.checkPendingSAs(AutoDeploymentService.java:473) at org .apache .servicemix .jbi .framework .AutoDeploymentService.updateComponent(AutoDeploymentService.java:289) at org .apache .servicemix .jbi .framework .AutoDeploymentService.updateArchive(AutoDeploymentService.java:251) 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)



--
Freeman Fang

------------------------
Open Source SOA: http://fusesource.com
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org

Reply via email to