wsn-2005 Subscribe operation and consumer endpoint references in OpenESB JBI 
Container
--------------------------------------------------------------------------------------

                 Key: SM-1118
                 URL: https://issues.apache.org/activemq/browse/SM-1118
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-wsn2005
    Affects Versions: 3.1.2
            Reporter: wm


Subscribe/Nofiy operations within wsn2005.

For web services external to JBI we've had no issues with the Subscribe and 
Notify operations. 

For consumers that are internal JBI endpoints we've encountered the following: 
        
        Case A) If we use the following request a subscription is successfully 
created.  However, when the broker attempts to notify the consumer at the 
specified endpoint it uses the service-http binding and attempts to send the 
message over HTTP.  An HTTP 302 status code is returned, since this is really a 
JBI endpoint. 
        
<b:Subscribe> 
         <b:ConsumerReference> 
            <add:Address>http://www.foo.com/service/endpoint</add:Address> 
         </b:ConsumerReference> 
         <b:Filter> 
            <b:TopicExpression 
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple";> 
                BrewProcess 
           </b:TopicExpression> 
         </b:Filter> 
</b:Subscribe> 
      
        Case B) If we subscribe using the following message an error is 
generated indicating that the endpoint reference could not be resolved.  No 
subscription is created. 
        
<b:Subscribe> 
         <b:ConsumerReference> 
            
<add:Address>endpoint:http://www.foo.com/service/endpoint</add:Address> 
         </b:ConsumerReference> 
         <b:Filter> 
            <b:TopicExpression 
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple";> 
              BrewProcess 
           </b:TopicExpression> 
         </b:Filter> 
      </b:Subscribe> 
      

In case A the OpenESB ComponentContext has no problem resolving the endpoint.  
But when servicemix-wsn processes the Notify request the message is sent 
through the service-mix http binding component for dispatch to the consumer.  
An HTTP Status error of 302 is generated.   

In Case B the OpenESB ComponentContext cannot resolve the consumer reference, 
presumably because it has no idea what "endpoint:" indicates. 

If I modify the JBISubscription class and remove "endpoint:" from the consumer 
reference before attempting to resolve the endpoint, then everything works as 
specified (a Subscription is created and Notify messages are successfully sent 
to the consumer endpoint). 

see: 
http://www.nabble.com/Servicemix-WSN-SE-deployed-to-OpenESB-tf4649656s12049.html


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to