ok thx Guillaume, this is helpful. now i see notifications going to the topic & pullpoint.
still unable to complete the scenario with pullpoint getMessages. i am attempting to send getMessages request using wsa to route to the internal pullpoint, but no success (messages/log below). in your soapui example you also send the request to the broker's http endpoint using wsa. what am i missing here ? this is my xbean.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:wsn="http://servicemix.org/wsnotification"> <http:endpoint service="wsn:NotificationBroker" endpoint="http-binding1" 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> this is the message sequence and log error: 1) createPullPoint: <!-- sent to http://localhost:8192/CreatePullPoint --> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Body> <wsnt:CreatePullPoint xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:sm="http://servicemix.apache.org/wsn2005/1.0"> </wsnt:CreatePullPoint> </env:Body> </env:Envelope> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Body> <ns4:CreatePullPointResponse xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns4="http://docs.oasis-open.org/wsn/b-2" xmlns:ns5="http://docs.oasis-open.org/wsn/t-1"> <ns4:PullPoint> <ns2:Address>http://servicemix.org/wsnotification/PullPoint/ID-USMKETSBIERNA1-4946-1187638679054-6-0</ns2:Address> </ns4:PullPoint> </ns4:CreatePullPointResponse> </env:Body> </env:Envelope> 2) take returned address, and subscribe pullpoint as follows: <!-- sent to http://localhost:8192/Broker --> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Body> <wsnt:Subscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsnt:ConsumerReference> <wsa:Address> <!-- returned from createPullPoint --> endpoint:http://servicemix.org/wsnotification/PullPoint/ID-USMKETSBIERNA1-4946-1187638679054-6-0 </wsa:Address> </wsnt:ConsumerReference> <!-- <wsnt:UseNotify>false</wsnt:UseNotify> --> <wsnt:Filter> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple"> myTopic </wsnt:TopicExpression> </wsnt:Filter> </wsnt:Subscribe> </env:Body> </env:Envelope> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Body> <ns4:SubscribeResponse xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns4="http://docs.oasis-open.org/wsn/b-2" xmlns:ns5="http://docs.oasis-open.org/wsn/t-1" xmlns:ns6="http://docs.oasis-open.org/wsn/br-2"> <ns4:SubscriptionReference> <ns2:Address>http://servicemix.org/wsnotification/Subscription/ID-USMKETSBIERNA1-4946-1187638679054-3-0</ns2:Address> </ns4:SubscriptionReference> <ns4:TerminationTime xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </ns4:SubscribeResponse> </env:Body> </env:Envelope> note: at this point the topic myTopic is created in amq, and an endpoint for the pullpoint is created in smx,. 3) notify <!-- sent to http://localhost:8192/Broker --> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header /> <soapenv:Body> <wsnt:Notify xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"> <wsnt:NotificationMessage> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple"> myTopic </wsnt:Topic> <wsnt:Message> <hello>world</hello> </wsnt:Message> </wsnt:NotificationMessage> </wsnt:Notify> </soapenv:Body> </soapenv:Envelope> note: upon first notification, a queue is created for the pullpoint in amq (queue has same id as smx pullpoint endpoint). observe that myTopic EnqueueCount attribute increases with each notification, and pullpoint queue EnqueueCount attribute increases also. 4) now try getMessages against pullpoint, using wsa to route to internal endpoint: <!-- sent to http://localhost:8192/Broker --> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:b="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:To> endpoint:http://servicemix.org/wsnotification/PullPoint/ID-USMKETSBIERNA1-4946-1187638679054-6-0 </wsa:To> </soapenv:Header> <soapenv:Body> <b:GetMessages> </b:GetMessages> </soapenv:Body> </soapenv:Envelope> <<no response>> <<log output>> 15:43:47,167 | DEBUG | @ localhost:8192 | JettyContextManager | ContextManager$ThreadPoolWrapper 441 | Dispatching job: [EMAIL PROTECTED],io=1,w=true,b=0|0] 15:43:47,167 | DEBUG | ool0-1 - /Broker | jetty | .servicemix.http.jetty.JCLLogger 67 | REQUEST /Broker on [EMAIL PROTECTED] 15:43:47,167 | DEBUG | ool0-1 - /Broker | jetty | .servicemix.http.jetty.JCLLogger 67 | RESPONSE /Broker 302 gnodet wrote: > > The WS-Notification broker will send a notification message to the address > you subscribed. > If you have created a PullPoint, you need to create a subscription for it. > The URI you give in your subscription must be a recognized URI: see > http://incubator.apache.org/servicemix/uris.html. > > It means, if you send "http://test.org" in the URI, it will try to send a > notification using http on the given uri. You need to try something like > "endpoint:qname[sep]name". > > For the soap problem, you need to create a soap proxy for your PullPoint, > which can be done by deploying a SU on the http component. > > Hope it helps, > Guillaume Nodet > > -- View this message in context: http://www.nabble.com/WSN-PullPoint-getMessages-tf4179625s12049.html#a12257338 Sent from the ServiceMix - User mailing list archive at Nabble.com.
