Oops, The dependency should be
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-components</artifactId>
<version>3.3.x.x</version>
</dependency>
Cheers,
Ashwin...
Ashwin Karpe wrote:
>
> Hi Liav,
>
> I just noticed in your original email that you have the HTTP Marshaler
> under http-consumer-su/src/main/resources. This is incorrect. It should be
> under http-consumer-su/src/main/java. Only configurations files maiy be
> under src/main/resources. All code in Maven compliant projects should be
> under src/main/java.
>
> This should hopefully solve the problem.
>
> If it does not due to other unresolved dependencies, the more suitable way
> would be to download servicemix 3.3.x.x source code and do a maven build
> of the common/servicemix-components directory which contains an HTTP
> Marshaler exactly as you need with resolved dependencies. This will load
> the common/servicemix-components into the Maven repository.
>
> Now add the following dependency into your application POM file.
>
> <dependency>
> <groupId>org.apache.servicemix</groupId>
> <artifactId>servicemix-core</artifactId>
> <version>3.3.x.x</version>
> </dependency>
>
> This should take care of the problem for you.
>
> Cheers,
>
> Ashwin...
>
>
>
>
> Liav Ezer wrote:
>>
>> Hi Ashwin,
>>
>> I'm pretty new to ESB, could you please guide me through your
>> recomendations?
>>
>> How do i build my Marshaler class? Is it by a Maven command? or with
>> eclipce?
>>
>> How do i load it to my Maven repository?
>>
>> Can you give an example of a depedency which adds a Maven coordinate of a
>> built class?
>>
>> Here is a reference of my SA build warning & Deployment error:
>>
>> Build warning after performing "mvn install" in my root directory:
>>
>> [WARNING] Failed to generate jbi.xml:
>> org.apache.servicemix.maven.plugin.jbi.JbiPluginException: Unable to
>> generate service unit descriptor!
>> org.apache.servicemix.maven.plugin.jbi.JbiPluginException: Unable to
>> generate service unit descriptor!
>> ...
>> Caused by:
>> org.springframework.beans.factory.BeanDefinitionStoreException: Failed to
>> load type: org.apache.servicemix.jbi.HTTPMarshaler. Reason:
>> java.lang.ClassNotFoundException:
>>
>> Deployment Error after hot deply of my SA jar:
>>
>> <loc-message>
>> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>> Configuration problem: Bean class
>> [org.apache.servicemix.jbi.HTTPMarshaler] not found
>>
>> Please advise.
>>
>> Thanks.
>>
>>
>>
>>
>> Ashwin Karpe wrote:
>>>
>>> Hi Liav,
>>>
>>> Looks like this is a case of the marshaler code not being on your
>>> classpath. Can you build the SMX source code directory in which this
>>> class is found and load it into your Maven repository and then add the
>>> Maven coordinate in your POM file as a dependency.
>>>
>>> That should take care of the problem.
>>>
>>> Cheers,
>>>
>>> Ashwin...
>>>
>>>
>>> Liav Ezer wrote:
>>>>
>>>> Hi,
>>>>
>>>> My Project consist of 3 SU which one of them is a servicemix-http
>>>> consumer with an HTTPMarshaler bean
>>>> & two more simple http providers.
>>>>
>>>> My Marshaler class is located in:
>>>> "http-consumer-su\src\main\resources\org\apache\servicemix\jbi\HTTPMarshaler.java"
>>>>
>>>>
>>>> My consumer xbean is as follows:
>>>>
>>>> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>>>> xmlns:replaceMe="http://servicemix.apache.org/replaceMe"
>>>> xmlns="http://www.springframework.org/schema/beans"
>>>> xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
>>>> xsi:schemaLocation="http://servicemix.apache.org/http/1.0
>>>> http://servicemix.apache.org/schema/servicemix-http-3.2.2.xsd
>>>> http://www.springframework.org/schema/beans
>>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>>>>
>>>> <http:consumer service="GenericProxyImplService"
>>>> endpoint="GenericProxyImpl"
>>>>
>>>> locationURI="http://localhost:8080/GenericProxyService/services/GenericProxyImpl"
>>>>
>>>> role="consumer"
>>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>>>> targetService="wsn:RouterBuilderSvc"
>>>> marshaler="#marshaler"
>>>> soap="true" />
>>>> <bean id="marshaler" class="org.apache.servicemix.jbi.HTTPMarshaler"
>>>> />
>>>> </beans>
>>>>
>>>> I have the following problem reported by the servicemix console after
>>>> dropping the SA's jar to the hotdeploy directory:
>>>>
>>>> ERROR - AutoDeploymentService - Failed to update Service
>>>> Assembly: http-receiver-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-http</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>org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>>>> Configuration problem: Bean class [org.apache.service
>>>> mix.jbi.HTTPMarshaler] not found
>>>> Offending resource: file
>>>> [C:\iona\fuse-esb-3.3.1.3\data\smx\service-assemblies\http-receiver-sa\version_3\sus\servicemix-http\http-consumer-su\xbean.xml]
>>>> Bean 'marshaler'; nested exception is java.lang.ClassNotFoundException:
>>>> org.apache.servicemix.jbi.HTTPMarshaler in classloader
>>>> org.apache.servicemix.jbi.HTTPMarshaler</loc-message>
>>>>
>>>>
>>>> <stack-trace><![CDATA[org.apache.xbean.kernel.ServiceRegistrationException:
>>>> org.springframework.beans.factory.parsing.BeanDefinitionParsingE
>>>> xception: Configuration problem: Bean class
>>>> [org.apache.servicemix.jbi.HTTPMarshaler] not found
>>>> Offending resource: file
>>>> [C:\iona\fuse-esb-3.3.1.3\data\smx\service-assemblies\http-receiver-sa\version_3\sus\servicemix-http\http-consumer-su\xbean.xml]
>>>>
>>>> Bean 'marshaler'; nested exception is java.lang.ClassNotFoundException:
>>>> org.apache.servicemix.jbi.HTTPMarshaler in classloader
>>>> org.apache.servicemix.jbi.HTTPMarshaler
>>>> at
>>>> org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:424)
>>>>
>>>> at
>>>> org.apache.xbean.kernel.standard.StandardKernel.registerService(StandardKernel.java:220)
>>>>
>>>> at
>>>> org.apache.xbean.server.spring.loader.SpringLoader.load(SpringLoader.java:152)
>>>>
>>>> at
>>>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:83)
>>>>
>>>> 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:508)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:353)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:664)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:628)
>>>>
>>>> at java.util.TimerThread.mainLoop(Timer.java:512)
>>>> at java.util.TimerThread.run(Timer.java:462)
>>>> Caused by:
>>>> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>>>> Configuration problem: Bean class
>>>> [org.apache.servicemix.jbi.HTTPMarshaler] not found
>>>> Offending resource: file
>>>> [C:\iona\fuse-esb-3.3.1.3\data\smx\service-assemblies\http-receiver-sa\version_3\sus\servicemix-http\http-consumer-su\xbean.xml]
>>>>
>>>> Bean 'marshaler'; nested exception is java.lang.ClassNotFoundException:
>>>> org.apache.servicemix.jbi.HTTPMarshaler in classloader
>>>> org.apache.servicemix.jbi.HTTPMarshaler
>>>> at
>>>> org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
>>>>
>>>> at
>>>> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:268)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:502)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.v2c.XBeanBeanDefinitionParserDelegate.parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java:62)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:341)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:310)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.processBeanDefinition(XBeanBeanDefinitionDocumentReader.java:174)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseDefaultElement(XBeanBeanDefinitionDocumentReader.java:101)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:81)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:90)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:458)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:353)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
>>>>
>>>> at
>>>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
>>>>
>>>> at
>>>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
>>>>
>>>> at
>>>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:173)
>>>>
>>>> at
>>>> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
>>>>
>>>> at
>>>> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContext.java:168)
>>>>
>>>> at
>>>> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
>>>>
>>>> at
>>>> org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:389)
>>>>
>>>> at
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
>>>>
>>>> at
>>>> org.apache.xbean.server.spring.configuration.SpringConfiguration.<init>(SpringConfiguration.java:63)
>>>>
>>>> at
>>>> org.apache.xbean.server.spring.configuration.SpringConfigurationServiceFactory.createService(SpringConfigurationServiceFactory.java:106)
>>>>
>>>> at
>>>> org.apache.xbean.kernel.standard.ServiceManager.start(ServiceManager.java:420)
>>>>
>>>> at
>>>> org.apache.xbean.kernel.standard.ServiceManager.initialize(ServiceManager.java:200)
>>>>
>>>> at
>>>> org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable.call(RegistryFutureTask.java:110)
>>>>
>>>> at
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>>>> at
>>>> org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:409)
>>>>
>>>> ... 13 more
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> org.apache.servicemix.jbi.HTTPMarshaler in classloader
>>>> org.apache.servicemix.jbi.HTTPMarshaler
>>>> at
>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206)
>>>>
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>> at
>>>> org.springframework.util.ClassUtils.forName(ClassUtils.java:201)
>>>> at
>>>> org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:93)
>>>>
>>>> at
>>>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:405)
>>>>
>>>> ... 41 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-http</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>
>>>> <component-task-result
>>>> xmlns="http://java.sun.com/xml/ns/jbi/management-message">
>>>> <component-name>servicemix-http</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:543)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:353)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:664)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:628)
>>>>
>>>> at java.util.TimerThread.mainLoop(Timer.java:512)
>>>> at java.util.TimerThread.run(Timer.java:462)
>>>> DEBUG - SedaFlow - Called Flow resume
>>>> DEBUG - JMSFlow - Called Flow resume
>>>> DEBUG - JCAFlow - Called Flow resume
>>>> WARN - AutoDeploymentService - Directory: hotdeploy:
>>>> Automatic install of
>>>> C:\iona\fuse-esb-3.3.1.3\hotdeploy\http-receiver-sa-1.0-SNAPSHOT.jar
>>>> failed
>>>> javax.jbi.management.DeploymentException: Failed to update Service
>>>> Assembly: http-receiver-sa
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:368)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:664)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
>>>>
>>>> at
>>>> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:628)
>>>>
>>>> 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-http</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>org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>>>> Configuration problem: Bean class [org.apache.service
>>>> mix.jbi.HTTPMarshaler] not found
>>>> Offending resource: file
>>>> [C:\iona\fuse-esb-3.3.1.3\data\smx\service-assemblies\http-receiver-sa\version_3\sus\servicemix-http\http-consumer-su\xbean.xml]
>>>>
>>>> Bean 'marshaler'; nested exception is java.lang.ClassNotFoundException:
>>>> org.apache.servicemix.jbi.HTTPMarshaler in classloader
>>>> org.apache.servicemix.jbi.HTTPMarshaler</loc-message>
>>>>
>>>> Thanks.
>>>>
>>>
>>>
>>
>>
>
>
-----
---
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
---
+1-972-304-9084 (Office)
+1-972-971-1700 (Mobile)
----
Blog: http://opensourceknowledge.blogspot.com/
--
View this message in context:
http://www.nabble.com/Need-help-to-use-Marshaler-class-for-http-soap-consumer-bc-tp21265430p21294894.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.