I was talking of deploying a SU to the component. Take a look at the content of an example SU: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-wsn2005/src/test/resources/pullpoint/
On 8/29/06, KBerthelot <[EMAIL PROTECTED]> wrote:
I assume you mean invoking the CreatePullPoint operation from another jbi component as opposed to invoking it externally with a web service call to a bc...no, not yet, but I'll try that. gnodet wrote: > > Have you tried deploying a SU which would contain the CreatePullPoint > request ? > I will investigate the CNFE problem. > > On 8/29/06, KBerthelot <[EMAIL PROTECTED]> wrote: >> >> >> I'm still trying to sort out ServiceMix support for WS-Notification. We >> have >> a use case that requires remote service consumers to be intermittently >> disconnected from the network. This requires that we implement a >> pull-style >> notification pattern to publish updates for the clients. It seems that >> ServiceMix has the components in place to support this, but I haven't >> been >> able to put together a proof of concept to demonstrate that it works. I >> don't mind trudging forward, but I guess I should first confirm that the >> ServiceMix WS-Notification implementation can support my use case. Any >> feedback is much appreciated. >> >> >> >> KBerthelot wrote: >> > >> > I'm trying to prototype a WS-Notification client that uses a pull style >> > notification. What I've done so far is to add another http:endpoint >> for >> > the CreatePullPoint service to xbean.xml in the wsn-http-binding >> example >> > so that it looks like: >> > >> > <?xml version="1.0"?> >> > <beans xmlns:http="http://servicemix.apache.org/http/1.0" >> > xmlns:wsn="http://servicemix.org/wsnotification"> >> > >> > <http:endpoint service="wsn:NotificationBroker" >> > endpoint="http-binding" >> > targetService="wsn:NotificationBroker" >> > targetEndpoint="Broker" >> > role="consumer" >> > locationURI="http://localhost:8192/Broker/" >> > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >> > soap="true"/> >> > >> > <http:endpoint service="wsn:CreatePullPoint" >> > endpoint="http-binding2" >> > targetService="wsn:CreatePullPoint" >> > targetEndpoint="Broker" >> > role="consumer" >> > locationURI="http://localhost:8192/CreatePullPoint/" >> > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >> > soap="true"/> >> > </beans> >> > >> > >> > I can then get the wsdl for CreatePullPoint using >> > http://localhost:8192/CreatePullPoint/main.wsdl which returns: >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <wsdl:definitions >> targetNamespace="http://servicemix.org/wsnotification" >> > xmlns:tns="http://servicemix.org/wsnotification" >> > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >> > xmlns:wsa="http://www.w3.org/2005/08/addressing" >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> > xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" >> > xmlns:wsrf-r="http://docs.oasis-open.org/wsrf/r-2" >> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >> > xmlns:wsn-bw="http://docs.oasis-open.org/wsn/bw-2" >> > xmlns:wsn-brw="http://docs.oasis-open.org/wsn/brw-2" >> > xmlns:wsn-b="http://docs.oasis-open.org/wsn/b-2" >> > xmlns:tnspt="http://docs.oasis-open.org/wsn/bw-2" >> > xmlns:wsrf-rw="http://docs.oasis-open.org/wsrf/rw-2" >> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> > xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2" >> > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" >> > xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" >> > xmlns="http://schemas.xmlsoap.org/wsdl/"> >> > <wsdl:import namespace="http://docs.oasis-open.org/wsn/bw-2" >> > location="porttypedef.wsdl"/> >> > <wsdl:binding name="http-binding2Binding" >> type="wsntw:CreatePullPoint"> >> > <wsdlsoap:binding style="document" >> > transport="http://schemas.xmlsoap.org/soap/http"/> >> > <wsdl:operation name="CreatePullPoint"> >> > <wsdlsoap:operation soapAction=""/> >> > <wsdl:input name="CreatePullPointRequest"> >> > <wsdlsoap:body use="literal"/> >> > </wsdl:input> >> > >> > <wsdl:output name="CreatePullPointResponse"> >> > <wsdlsoap:body use="literal"/> >> > </wsdl:output> >> > <wsdl:fault name="UnableToCreatePullPointFault"> >> > <wsdlsoap:fault name="UnableToCreatePullPointFault" >> > use="literal"/> >> > </wsdl:fault> >> > </wsdl:operation> >> > </wsdl:binding> >> > <wsdl:service name="CreatePullPoint"> >> > >> > <wsdl:port name="http-binding2" binding="tns:http-binding2Binding"> >> > <wsdlsoap:address >> > location="http://localhost:8192/CreatePullPoint/"/> >> > </wsdl:port> >> > </wsdl:service> >> > </wsdl:definitions> >> > >> > >> > >> > When I invoke the CreatePullPoint operation using this wsdl, I get this >> > exception: >> > >> > java.lang.RuntimeException: Could not create PullEndpoint >> > at >> > org.apache.servicemix.wsn.jms.JmsPullPoint.<init>(JmsPullPoint.java :58) >> > at >> > org.apache.servicemix.wsn.jms.JmsCreatePullPoint.createPullPoint( >> JmsCreatePullPoint.java:43) >> > at >> > >> org.apache.servicemix.wsn.AbstractCreatePullPoint.handleCreatePullPoint ( >> AbstractCreatePullPoint.java:78) >> > at >> > org.apache.servicemix.wsn.AbstractCreatePullPoint.createPullPoint( >> AbstractCreatePullPoint.java:70) >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > at >> > sun.reflect.NativeMethodAccessorImpl.invoke( >> NativeMethodAccessorImpl.java:39) >> > at >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> > at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> > >> org.apache.servicemix.wsn.component.WSNEndpoint.process( WSNEndpoint.java >> :136) >> > at >> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange( >> AsyncBaseLifeCycle.java:397) >> > at >> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange( >> BaseLifeCycle.java:42) >> > at >> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound( >> DeliveryChannelImpl.java:619) >> > at >> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( >> AbstractFlow.java:168) >> > at >> > >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( SedaFlow.java >> :175) >> > at >> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( SedaQueue.java >> :226) >> > 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:595) >> > Caused by: javax.xml.bind.JAXBException >> > - with linked exception: >> > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory ] >> > at >> > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:195) >> > at javax.xml.bind.ContextFinder.find(ContextFinder.java:381) >> > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java :561) >> > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java :508) >> > at >> > org.apache.servicemix.wsn.jms.JmsPullPoint.<init>(JmsPullPoint.java :56) >> > >> > >> > It looks like the required Jaxb jars are in the classpath (as >> configured >> > in the wsn-http-binding example), so I'm confused as to why the >> > classloader can't find this class. >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Creating-PullPoints-using-WS-Notificatino-tf2154620.html#a6041352 >> Sent from the ServiceMix - User forum at Nabble.com. >> >> > > > -- > Cheers, > Guillaume Nodet > > -- View this message in context: http://www.nabble.com/Creating-PullPoints-using-WS-Notification-tf2154620.html#a6046519 Sent from the ServiceMix - User forum at Nabble.com.
-- Cheers, Guillaume Nodet
