Forum Home » Fuse Distributions » Fuse ESB

Thread: WS-Notification: Issue upon ESB Notification

 
This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 5 - Last Post: Dec 2, 2012 2:22 PM Last Post By: adu
hailpam

Posts: 4
Registered: 12/19/11
WS-Notification: Issue upon ESB Notification
Posted: Jan 24, 2012 4:10 PM
 
  Click to reply to this thread Reply
Hi all,

I'm using WS-Notification implementation provided by Fuse ESB v4.4.1 and I'm experiencing (my client side) a major issue upon notifications coming from ESB: Fuse notifies my client with a pure XML instead of a SOAP Envelope. Hereafter I provide you an example:

1. SUBSCRIPTION
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:Action>http://docs.oasis-open.org/wsn/brw-2/NotificationBroker/SubscribeRequest</wsa:Action>
<wsa:From>http://localhost:8889/WSN/wsnconsumer</wsa:From>
<wsa:ReplyTo>http://localhost:8889/wsnconsumer</wsa:ReplyTo>
</env:Header>
<env:Body>
<wsnt:Subscribe xmlns="http://www.w3.org/2005/08/addressing">
<wsnt:ConsumerReference>
<wsa:Address>http://localhost:8889/WSN/wsnconsumer/</wsa:Address>
</wsnt:ConsumerReference>
<wsnt:Filter>
<wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">myTestTopic</wsnt:TopicExpression>
</wsnt:Filter>
</wsnt:Subscribe>
</env:Body>
</env:Envelope>

2. NOTIFY
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:b="http://docs.oasis-open.org/wsn/b-2" xmlns:add="http://www.w3.org/2005/08/addressing" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Body>
<b:Notify>
<b:NotificationMessage>
<b:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">myTestTopic</b:Topic>
<b:Message>
<hello>Hello!</hello>
</b:Message>
</b:NotificationMessage>
</b:Notify>
</soapenv:Body>
</soapenv:Envelope>

3. XML captured by Proxy
<?xml version='1.0' encoding='UTF-8'?>
<ns2:Notify xmlns:ns2="http://docs.oasis-open.org/wsn/b-2" xmlns="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns4="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns5="http://docs.oasis-open.org/wsn/t-1">
<ns2:NotificationMessage>
<ns2:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">myTestTopic</ns2:Topic>
<ns2:Message>
<hello xmlns="" xmlns:add="http://www.w3.org/2005/08/addressing" xmlns:b="http://docs.oasis-open.org/wsn/b-2" xmlns:ns6="http://www.w3.org/2005/08/addressing" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">Hello!</hello>
</ns2:Message>
</ns2:NotificationMessage>
</ns2:Notify>

As you can see, proxy side I receive a pure XML string instead of the expected SOAP Envelope. This evenience produce a failure client-side, in fact JAX-WS interceptor is unable to recognize the received string as a message and throws an exception before of calling any handling hook.

Could someone help me to understand why Fuse ESB acts as above described? Please, could someone help me to solve this issue?

Thanks in advance,

P

Edited by: hailpam on Jan 24, 2012 4:11 PM
hailpam

Posts: 4
Registered: 12/19/11
Re: WS-Notification: Issue upon ESB Notification
Posted: Jan 25, 2012 11:39 AM   in response to: hailpam in response to: hailpam
 
  Click to reply to this thread Reply
Up!

I kindly ask to technical support to verify this issue, since according to my opinion that is a bug in WS-N implementation provided by Fuse ESB.

Thanks in advance for replies that I hope shall arrive,

P
davsclaus

Posts: 1,893
Registered: 10/14/08
Re: WS-Notification: Issue upon ESB Notification
Posted: Jan 25, 2012 3:47 PM   in response to: hailpam in response to: hailpam
 
  Click to reply to this thread Reply
If you are a FuseSource subscriber then I suggest to use that channel to get help faster.
hailpam

Posts: 4
Registered: 12/19/11
Re: WS-Notification: Issue upon ESB Notification
Posted: Jan 25, 2012 5:17 PM   in response to: davsclaus in response to: davsclaus
 
  Click to reply to this thread Reply
Hi Claus,

I don't have a support yet because I'm evaluating (with my team) the capabilities offered by Fuse ESB.
Unfortunately, for the proof of the concept I'm developing (system of systems realization) I need WS-Notification, in particular we're interested in using of the notifications push capability (client asynchronous notifications). We hope to receive help, since we're very interested in Fuse ESB and we want to understand the real opportunities that it may offer us supporting our activities.

Anyway, I hope to receive help. Cheers,

P
adu

Posts: 4
Registered: 11/25/12
Re: WS-Notification: Issue upon ESB Notification
Posted: Nov 25, 2012 4:52 PM   in response to: hailpam in response to: hailpam
 
  Click to reply to this thread Reply
Hi,

I am also evaluating the wsn implementation in servicemix 4.4.1 but could not get it working. I tired the following:
1. Loaded the wsn.xml available in example/simple folder to the deploy folder. THsi sets up teh http binding.
2. Tried executing the client.html file but only got a status ok message but no messages in the 'getmessages' operation.

Do I have to do anything more besides deploying the wsn.xml file. Any advice, suggestions on how you managed to get notification will be helpful.
adu

Posts: 4
Registered: 11/25/12
Re: WS-Notification: Issue upon ESB Notification
Posted: Dec 2, 2012 2:22 PM   in response to: adu in response to: adu
 
  Click to reply to this thread Reply
hi,

I managed to get it working using a WS-Client instead of the client.xml provided. I am able to send a subscribe request and a notification to the broker. I have a web service that receives notifications but it receives the notification without the Soap Header just as explained in this chain. Is there a solution for the problem?
I added one endpoint in the wsn.xml file provided for a role as 'Provider' but there is no difference. The soap attribute is set to 'true' but still it sends the notification without the Soap headers.

<http:endpoint service="wsn:NotificationBroker"
endpoint="http-binding"
targetService="wsn:NotificationBroker"
targetEndpoint="Broker"
role="consumer"
locationURI="${baseUrl}/Broker/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true"/>

<http:endpoint service="wsn:NotificationBroker"
endpoint="http-binding"
targetService="wsn:NotificationBroker"
targetEndpoint="Broker"
role="provider"
locationURI="${baseUrl}/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="${baseUrl}/CreatePullPoint/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true"/>