We've for the most part successfully deployed the Servicemix-wsn service
engine to OpenESB.  

I have a couple of questions/issues related to using servicemix-wsn2005 in
OpenESB.

1) CreatePullPoint - the AbstractCreatePullpoint class uses a
org.apache.activemq.util.IdGenerator class to generate ids used for queue
names.  The generated ids contain "dashes" (for example:
ID-djfla-3580-1192736817437-1-0).  An error occurs (Invalid name) when
attempting to 
use the generated id for a JMS queue name within OpenESB.  Is it possible to
use some other ID generator?  Or is possible to specify the actual queue
name?

2) Subscribe/Notify

        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).

Is there another way to specify the consumer reference so that it can be
successfully interpreted by both servicemix-wsn and OpenESB?


 
        
        

-- 
View this message in context: 
http://www.nabble.com/Servicemix-WSN-SE-deployed-to-OpenESB-tf4649656s12049.html#a13283404
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to