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-tp21265430p21292668.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to