You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by beppe82 <g....@jumpy.it> on 2007/04/07 16:27:36 UTC
extending FileMarshaler
Now, I would like to extend FileMarshaler to make ftp-poller-su able to read
arbitrary files. Where should I place the java code of my class? Can I
create another SU so to reuse it as a stand alone component? I doubt of this
because I read that ftp-poller's "marshaler" property must be "class"...
what do you suggest me?
Thanks
beppe82 wrote:
>
> Hi, so this is my situation: I created a eval-smx folder; under that, I
> have xml-elab-se, created with maven archetype, which just does a
> Systtem.out.println() and sends back "done" when it receives a "in"
> message; a xml-elab-su, created with maven, contains the following
> xbean.xml file under src/main/resources:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:beppe="http://giuseppe.org/beppe">
> <endpoint service="beppe:xmlelab" endpoint="endpoint"/>
> </beans>
>
> Further, I have a ftp-poller-su which contains the following xbean.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0"
> xmlns:beppe="http://giuseppe.org/beppe">
> <ftp:poller service="beppe:ftp" endpoint="poller"
> targetService="beppe:xmlelab" targetEndpoint="endpoint"
> uri="ftp://localhost" />
> </beans>
>
> At the end, I created a SA whit the following pom.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>eval.smx</groupId>
> <artifactId>eval-smx-sa</artifactId>
> <packaging>jbi-service-assembly</packaging>
> <version>1.0</version>
> <name>SA per eval-smx</name>
> <url>http://www.myorganization.org</url>
> <pluginRepositories>
> <pluginRepository>
> <id>apache.incubating</id>
> <name>Apache Incubating Repository</name>
> <url>http://people.apache.org/repo/m2-incubating-repository</url>
> </pluginRepository>
> </pluginRepositories>
> <repositories>
> <repository>
> <id>apache.incubating</id>
> <name>Apache Incubating Repository</name>
> <url>http://people.apache.org/repo/m2-incubating-repository</url>
> </repository>
> </repositories>
> <properties>
> <servicemix-version>3.1-incubating</servicemix-version>
> </properties>
> <dependencies>
> <dependency>
> <groupId>junit</groupId>
> <artifactId>junit</artifactId>
> <version>3.8.1</version>
> <scope>test</scope>
> </dependency>
> <dependency>
> <groupId>eval.smx</groupId>
> <artifactId>xml-elab-su</artifactId>
> <version>1.0</version>
> </dependency>
> <dependency>
> <groupId>eval.smx</groupId>
> <artifactId>ftp-poller-su</artifactId>
> <version>1.0</version>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.servicemix.tooling</groupId>
> <artifactId>jbi-maven-plugin</artifactId>
> <version>${servicemix-version}</version>
> <extensions>true</extensions>
> <configuration>
> <type>service-assembly</type>
> </configuration>
> </plugin>
> </plugins>
> </build>
> </project>
>
> Now, I copied xml-elab-se, xml-elab-su and ftp-poller-su to install
> directory under servicemix. I launch servicemix with bin\servicemix and,
> from another prompt and under eval-smx-sa directory, I write mvn
> jbi:projectDeploy.
> Here's what I get:
>
> ERROR - AutoDeploymentService - Failed to update Service
> Assembly: eval
> -smx-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>xml-elab-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>No endpoints found</loc-message>
> </msg-loc-info>
> </task-status-msg>
> </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-ftp</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(Managem
> entSupport.java:121)
> at
> org.apache.servicemix.jbi.framework.ManagementSupport.failure(Managem
> entSupport.java:107)
> at
> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs
> sembly(DeploymentService.java:563)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi
> ve(AutoDeploymentService.java:334)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExter
> nalArchive(AutoDeploymentService.java:201)
> at
> org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
> e(JBIContainer.java:473)
> at
> org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
> e(JBIContainer.java:483)
> at
> org.apache.servicemix.jbi.framework.AdminCommandsService.deployServic
> eAssembly(AdminCommandsService.java:229)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
> a:216)
> at
> org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseSta
> ndardMBean.java:318)
> at
> com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImp
> l.java:213)
> at
> com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM
> BeanServerInterceptor.java:815)
> at
> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784
> )
> at
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnecti
> onImpl.java:1408)
> at
> javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectio
> nImpl.java:81)
> at
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run
> (RMIConnectionImpl.java:1245)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(R
> MIConnectionImpl.java:1348)
> at
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImp
> l.java:782)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 60)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:701)
> at java.lang.Thread.run(Thread.java:595)
>
> What happens? Thanks for the patience...
>
> P.S.: Can you also explain me how to use xml namespaces, please?
>
>
>
> Gert Vanthienen wrote:
>>
>> You have to add an xbean.xml file to your service unit project, to
>> describe the configuration for your service unit. Add an xbean.xml file
>> to hello-world-su/src/main/resources with this contents and rebuild the
>> project.
>> <beans
>> xmlns:hello="http://org.apache.servicemix.samples.helloworld.se/1.0"
>> xmlns:beppe="http://guiseppe.org">
>> <hello:endpoint service="beppe:service" endpoint="endpoint"/>
>> </beans>
>>
>> Now, create a second service unit project, now containing this xbean.xml:
>> <beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0"
>> xmlns:beppe="http://guiseppe.org">
>> <ftp:poller service="beppe:ftp" endpoint="poller"
>> targetService="beppe:service" targetEndpoint="endpoint"
>> uri="ftp://anonymous:nemonemini@localhost" />
>> </beans>
>>
>>
>> beppe82 wrote:
>>> Hi all, please help me because it's three days I'm wasting my time into
>>> things that I think are not too difficult (but I can't do that!).
>>> I have a simple SU, written following the tutorial about hello world SE.
>>> My
>>> process() method just receive a "in" message, print a phrase (using
>>> System.out.println(...)... can I use this method to write on standard
>>> output?) and sets exchange status to "done". I'd like to use it together
>>> with the ready component ftp-poller... can you write me a step-by-step
>>> guide
>>> to do that? I'm not able to integrate, build and deploy this very simple
>>> application... I'm a bit confused about using maven, or using ant, using
>>> servicexml.xml... I don't exactly know what to do! Thank you very much,
>>> Giuseppe
>>>
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/help-for-a-novice-tf3526390s12049.html#a9884477
Sent from the ServiceMix - User mailing list archive at Nabble.com.