I was successfully able to create two SUs with an issue though.  When running
my SA I get this exception:

############################
13:39:30,535 | INFO  | Thread-7   | DefaultFaultHandler      |
re.handler.DefaultFaultHandler   39 | Fault occurred!
org.codehaus.xfire.fault.XFireFault: Invalid operation: document
        at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:41)
        at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
        at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
        at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
        at
org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.doProcess(Jsr181ExchangeProcessor.java:113)
        at
org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:68)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:410)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:43)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:624)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:177)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:227)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:619)
#########################################


I think this is because I defined by endpoint attributes wrong.  Looking at
my xbean.xml:

#########################
        <jsr181:endpoint 
                service="foo:xmlUnmarshaller"
                endpoint="xmlUnmarshaller"
                pojoClass="com.test.integration.servicemix.Document"
                typeMapping="jaxb2"/>
#########################

Is the "pojoClass" attribute suppose to be the root class for data to be
unmarshalled or something else?  Here I assume this is the root class. 
Document has the @XmlRootElement jaxb2 annotation so I would assume that the
jsr181 will notice this and start unmarshaling the xml document into my
POJOs.  I also know my jaxb2-annotated POJOs work (from unit testing) so it
can't be my POJOs.



>>I think this would be a great addition to ServiceMix if service units
>> could reference some kind of shared libraries somehow ...
Looks like the JBI spec needs improving  ;-)

Thanks in advance!

-los




gnodet wrote:
> 
> Unfortunately, there's no way to share some code between SU
> (other than putting this jar in the container classpath).  The main
> reason is that JBI has been designed around xml based interactions,
> but if you need to put some classes inside properties for example,
> you need a common jar :(
> I think this would be a great addition to ServiceMix if service units
> could reference some kind of shared libraries somehow ...
> 
> On 11/15/06, moraleslos <[EMAIL PROTECTED]> wrote:
>>
>> Ok, I'll give separation a shot.  I do have a question related to this
>> though.  Suppose I have two SUs that are dependent on a common jar, and
>> both
>> of these SUs are packaged into one SA.  Each SU has this common jar
>> packaged
>> into its /lib directory.  Wouldn't there be some kind of class loading
>> issue?  Therefore how would you define this one common jar to be shared
>> across the SUs?  Would you define it in the SA or must this common jar be
>> placed into a shared directory ala smx's lib/optional directory?  Thanks
>> in
>> advance.
>>
>> -los
>>
>>
>>
>> gnodet wrote:
>> >
>> > The xbean.xml for the jsr81 should be packaged in its
>> > own SU and referenced from the SA jbi.xml.
>> >
>> > On 11/15/06, moraleslos <[EMAIL PROTECTED]> wrote:
>> >>
>> >> Could it be that I'm placing the xbean.xml file in the wrong location?
>> >> Currently I have it packaged in my SU at the same location to where my
>> >> servicemix.xml is located.  This SU is deployed to on top of the
>> >> servicemix-lwcontainer.  The generated jbi.xml looks like this:
>> >>
>> >> #################
>> >> <jbi xmlns="http://java.sun.com/xml/ns/jbi"; version="1.0">
>> >>   <service-assembly>
>> >>     <identification>
>> >>       <name>test-integration-servicemix-jbi</name>
>> >>       <description></description>
>> >>     </identification>
>> >>     <service-unit>
>> >>       <identification>
>> >>         <name>test-integration-servicemix</name>
>> >>       </identification>
>> >>       <target>
>> >>
>> >>
>> <artifacts-zip>test-integration-servicemix-1.0-SNAPSHOT.zip</artifacts-zip>
>> >>         <component-name>servicemix-lwcontainer</component-name>
>> >>       </target>
>> >>     </service-unit>
>> >>   </service-assembly>
>> >> </jbi>
>> >> #######################
>> >>
>> >>
>> >>
>> >> gnodet wrote:
>> >> >
>> >> > Maybe your servicemix.xml config file is bad.
>> >> > Could you post the complete one ?
>> >> >
>> >> > On 11/15/06, moraleslos <[EMAIL PROTECTED]> wrote:
>> >> >>
>> >> >> Thanks Guillaume.
>> >> >>
>> >> >> I launched JConsole, went to
>> >> >> org.apache.servicemix-->ServiceMix-->Component
>> >> >> as well as Endpoint, and my xmlUnmarshaller component is nowhere to
>> be
>> >> >> found.  Now, knowing why the component can't be found, how do I
>> have
>> >> smx
>> >> >> register my xmlUnmarshaller?  Thanks.
>> >> >>
>> >> >> -los
>> >> >>
>> >> >>
>> >> >>
>> >> >> gnodet wrote:
>> >> >> >
>> >> >> > I don't see why it does not work.
>> >> >> > Check what endpoints are activated using the log file at DEBUG
>> level
>> >> >> > or a jmx console and ensure the needed endpoint is activate and
>> >> match
>> >> >> > the defined route.
>> >> >> >
>> >> >> > On 11/14/06, moraleslos <[EMAIL PROTECTED]> wrote:
>> >> >> >>
>> >> >> >> I currently have my SU defined to do some XSLT.  This is my
>> >> >> >> servicemix.xml:
>> >> >> >>
>> >> >> >> #################
>> >> >> >> <sm:activationSpec
>> >> >> >>         componentName="xmlTransformer"
>> >> >> >>         service="foo:xmlTransformer"
>> >> >> >>         destinationService="foo:xmlUnmarshaller">
>> >> >> >>         <sm:component>
>> >> >> >>                 <bean
>> >> >> >> class="org.apache.servicemix.components.xslt.XsltComponent">
>> >> >> >>                         <property
>> >> >> >>                         name="xsltResource"
>> >> >> >>
>> value="classpath:com/test/integration/servicemix/xmlTemplate.xsl"/>
>> >> >> >>                                         </bean>
>> >> >> >>                                 </sm:component>
>> >> >> >>                         </sm:activationSpec>
>> >> >> >> ###############################
>> >> >> >>
>> >> >> >> Now, I want the output from the transformation sent to a Jaxb2
>> >> >> >> unmarshaller.
>> >> >> >> Looking at the examples, I created an xbean definition like
>> this:
>> >> >> >>
>> >> >> >> ##############################
>> >> >> >> <beans
>> >> >> >>         xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0";
>> >> >> >>         xmlns:foo="http://com.test.integration.servicemix";>
>> >> >> >>
>> >> >> >>     <classpath>
>> >> >> >>                 <location>.</location>
>> >> >> >>     </classpath>
>> >> >> >>
>> >> >> >>         <jsr181:endpoint
>> >> >> >>                 service="foo:xmlUnmarshaller"
>> >> >> >>                 endpoint="xmlUnmarshaller"
>> >> >> >>
>> >> pojoClass="com.test.integration.servicemix.pojo.Root"
>> >> >> >>                 typeMapping="jaxb2"/>
>> >> >> >>
>> >> >> >> </beans>
>> >> >> >> ###############################
>> >> >> >>
>> >> >> >> When deploying the SU that contains the xbean.xml and
>> >> servicemix.xml,
>> >> >> I
>> >> >> >> get
>> >> >> >> this error:
>> >> >> >>
>> >> >> >> WARN  - DefaultBroker                  - ServiceName
>> >> >> >> ({http://com.test.integration.servicemix}xmlUnmarshaller)
>> specified
>> >> >> for
>> >> >> >> routing, but can't find it registered
>> >> >> >>
>> >> >> >>
>> >> >> >> So I'm not sure how to connect the output from the
>> transformation
>> >> into
>> >> >> >> the
>> >> >> >> jaxb2 unmarshaller.  Thanks in advance.
>> >> >> >>
>> >> >> >> -los
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> gnodet wrote:
>> >> >> >> >
>> >> >> >> > If you want to send the output of the XSLT component to your
>> >> >> >> > jsr181 pojo, you can just use the destinationService attribute
>> >> >> >> > on the activationSpec for the xslt component and specify
>> >> >> >> > the jsr181 pojo service name.
>> >> >> >> > I guess I miss your problem ...
>> >> >> >> >
>> >> >> >> > On 10/27/06, moraleslos <[EMAIL PROTECTED]> wrote:
>> >> >> >> >>
>> >> >> >> >> I've developed a test domain that has JAXB2-annotated POJOs
>> and
>> >> the
>> >> >> >> >> generation of the schema from these pojos.  Now in my SU,
>> I've
>> >> >> >> retrieved
>> >> >> >> >> a
>> >> >> >> >> file and used the XSLT translator to transform the XML into
>> >> >> something
>> >> >> >> >> that
>> >> >> >> >> can be unmarshalled into my domain POJOs.  My question is,
>> how
>> >> do I
>> >> >> >> >> connect
>> >> >> >> >> the output from the XSLT transformation to the jsr-181
>> endpoint
>> >> >> that
>> >> >> >> will
>> >> >> >> >> unmarshal this xml document into my jaxb2 pojos?  I'm used to
>> >> >> seeing
>> >> >> >> the
>> >> >> >> >> "destination service":
>> >> >> >> >>
>> >> >> >> >> <sm:activationSpec
>> >> >> >> >>   componentName="XSLTTransformer"
>> >> >> >> >>   service="foo:XSLTTransformer"
>> >> >> >> >>   destinationService="foo:JAXB2Unmarshaller">
>> >> >> >> >>   ....
>> >> >> >> >>
>> >> >> >> >> Now how do I define this destination using the jsr-181
>> endpoint?
>> >> I
>> >> >> >> know
>> >> >> >> >> this did not work:
>> >> >> >> >>
>> >> >> >> >> <jsr181:endpoint endpoint="foo:JAXB2Unmarshaller"
>> >> >> >> >>                  typeMapping="jaxb2">
>> >> >> >> >>   <jsr181:pojo>
>> >> >> >> >>     <bean class="test.UnmarshalService" />
>> >> >> >> >>   </jsr181:pojo>
>> >> >> >> >> </jsr181:endpoint>
>> >> >> >> >>
>> >> >> >> >> thanks in advance!
>> >> >> >> >>
>> >> >> >> >> -los
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> --
>> >> >> >> >> View this message in context:
>> >> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299.html#a7038693
>> >> >> >> >> Sent from the ServiceMix - User mailing list archive at
>> >> Nabble.com.
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > --
>> >> >> >> > Cheers,
>> >> >> >> > Guillaume Nodet
>> >> >> >> >
>> >> >> >> >
>> >> >> >>
>> >> >> >> --
>> >> >> >> View this message in context:
>> >> >> >>
>> >> >>
>> >>
>> http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299s12049.html#a7347837
>> >> >> >> Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Cheers,
>> >> >> > Guillaume Nodet
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> >>
>> http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299s12049.html#a7359654
>> >> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > Cheers,
>> >> > Guillaume Nodet
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299s12049.html#a7362326
>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299s12049.html#a7364880
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> 
> 

-- 
View this message in context: 
http://www.nabble.com/connecting-to-jsr-181-jaxb2-tf2523299s12049.html#a7366651
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to