I attempted the dynamic approach for an external pull point and ran into a
problem.  I successfully sent a CreatePullPoint request, to which I received
a CreatePullPointResponse and am provided an address of the form 

http://servicemix.org/wsnotification/PullPoint/ID-server-1635-11751601112500-7-0

I then use this as my consumer reference for the subscribe request.  The
subscribe response returns a subscription reference.  

However, when a Notification is sent to the Publisher, I receive an
exception in my servicemix log:

java.lang.Exception: Invalid status response: 302
        at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:190)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)

I then attempted to prefix my subscribe request address with "endpoint:" and
managed to get rid of the exception, but there are never any messages
available at the pull point (even though there are messages being sent every
minute using the quartz publisher).

Any ideas as to what is going wrong?  Am I using the wrong address?  My
understanding of the spec is that I take the address returned by the
CreatePullPoint interface and turn around and use that on the subscribe.  Is
that correct?

Do I have to anything special with my publisher or will the dynamic
publisher which is created by servicemix proxy requests to my topic over to
the pull point?

Again, I appreciate the help...I am so close to getting this all to work :)


gnodet wrote:
> 
> There are two ways to access a Pull point from outside ServiceMix.
> 
> The first one is to deploy a SU on the WS-Notification component which
> contains a CreatePullPoint request:
>   <wsnt:CreatePullPoint
>   xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";
>   xmlns:sm="http://servicemix.apache.org/wsn2005/1.0";>
>   <sm:address>
>     http://www.consumer.org/service/endpoint
>   </sm:address>
> </wsnt:CreatePullPoint>
> 
> The address will be used to name the jbi endpoint (in this case, the
> service qname will be
>   {http://www.consumer.org}service, and the endpoint name will be
> "endpoint".
> Given this, you can deploy a SU to servicemix-http that will point to
> this endpoint, so that you can access it using http/soap.
> 
> The other way is to use it dynamically: the outside client will create
> the endpoint and
> use the EPR given in the response to send requests to, using
> WS-Addressing.
> 
> On 2/1/07, jmdev <[EMAIL PROTECTED]> wrote:
>>
>> I would like to create a pull point for external subscribers to pull
>> from.
>> Playing around with this feature, I had a few questions:
>>
>> 1) I created a org.oasis_open.docs.wsn.b_2.CreatePullPoint request and
>> populated it with the address which I want to be exposed by servicemix
>> (i.e.
>> http://localhost:8192/MyPullPoint).  Is this correct?
>>
>> 2) From the documentation on the site I understand that you can expose
>> the
>> CreatePullPoint service via an http endpoint.  Is there any way to create
>> the pull points in the servicemix.xml file itself and expose them
>> externally?  My goal is simply to allow clients outside the ESB to
>> retrieve
>> the messages instead of having the messages pushed to them.
>>
>> 3) Given the ERP of the pull point, I believe my next step is grab the
>> messages using the exposed Notification Broker.  Is that correct?
>>
>> Thanks again!
>> --
>> View this message in context:
>> http://www.nabble.com/WS-Notification-and-Pull-Points-tf3156507s12049.html#a8753369
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Architect, LogicBlaze (http://www.logicblaze.com/)
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/WS-Notification-and-Pull-Points-tf3156507s12049.html#a9074883
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to