gnodet wrote:
>
> On 10/18/07, MowPed <[EMAIL PROTECTED]> wrote:
>>
>>> 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?
>
>>Please raise a JIRA for that. I think we should be able to use
>>another Id generator (but we'd have to create an interface for that)
>>and even specifify the queue used.
>>Btw, it sounds like you're not using ActiveMQ for the JMS layer.
>>Could you provide some informations on how you configure the SE ?
>>Maybe even on the web site, as other people may want to do the same
>>thing.
>
> Ok. I'll create a JIRA for this. You are correct that we are not using
> ActiveMQ for the JMS implementation. We're using Sun Java System Message
> Queue 4.1. To get servicemix to generate queues (for PullPoints) I had to
> modify the servicemix code to replace the "dash" with an "underscore" in
> the generated queue name. Other than that I have not noticed any issues
> with using the SJSMQ. The WSN service engine seems to correctly generate
> Topics and Queues (once the dash is removed) and send messages. However,
> we do not yet have extensive experience using WSN and the Sun JMS
> implementation. If we encounter any other issues we'll let you know.
>
> To use the WSN Service Engine with SJSMQ we simply created a JMS
> connection factory with the name jms/wsnotificationCF and set this as a
> property of the Service Engine (in other words override the original
> property value and we don't use a reference). It's a small issue that the
> connection factory name (the default property value) seems to be hardcoded
> in the WSNConfiguration class. Is there a way we can specify the default
> 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?
>>>
>
>>I don't think so, at least without any modifications.
>>The reason is that the WS-Notification SE will ask the NMR to resolve
>>the given EPR. Usually, EPR are resolved by components, which is what
>>happens in case A, but ServiceMix also provides endpoint resolution
>>from a WS-Addressing EPR in addition to the standard ones.
>
>>The JBI spec also defines a jbi-specific way to create EPR. For example:
>> <jbi:end-point-reference
>>xmlns:jbi="http://java.sun.com/xml/ns/jbi/end-point-reference"
>> jbi:end-point-name="endpointName"
>> jbi:service-name="foo:serviceName"
>> xmlns:foo="urn:FooNamespace"/>
>>
>>So you can try that (ServiceMix support it), but I think if you put
>>that inside the WS-Addressing EPR, it won't work anymore, as the
>>WS-Notification broker will certainly send the full WS-Adressing EPR
>>instead of just the content.
>>
>>I'm not quite sure how OpenESB reacts, but it might be a good idea to
>>align things a bit there.
>>
>
> Yes we tried using the End-Point-Reference, but no luck. If I remember
> correctly the behaviour was the same.
>
> As a suggestion, in the code that validates the JBISubscription, when
> resolving the endpoint, if no endpoint can be found, strip the "endpoint:"
> from the address and try again to resolve the address. I know this would
> work for us. I don't know if this would have other negative implications.
> Do you want me to raise a JIRA for this?
>
>>Please report back any success of failures so that we can make that
>>work (if possible).
>
> As I mentioned before, after some small Servicemix code modifications, the
> service engine appears to be working according to the WS-N spec. So far
> it's mostly successful. Thanks for all the work.
>
>>
>>
>>
>>
>>
>> --
>> 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.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>
>
--
View this message in context:
http://www.nabble.com/Servicemix-WSN-SE-deployed-to-OpenESB-tf4649656s12049.html#a13428817
Sent from the ServiceMix - User mailing list archive at Nabble.com.