Ok, after digging a bit further, I understand what Muse is doing. NotificationProducer.publish() calls SubscriptionManager.publish() which calls NotificationConsumerClient.notify() which calls NotificationConsumerClient.invoke() which calls SoapClient.send() which ultimately uses an HttpURLConnection to connect to and send data to the remote consumer.
So Muse is unaware that my consumer resource is actually on the same servers. So the data going out comes back in, and it goes thru the Axis2 message receiver. So ultimately for testing our notifications, the consumer shouldn't be on the same server because we require the SOAP to have authentication info. Perhaps I solved my own issue now, which only related to testing. So to confirm Dan's comment in the "too many sessions" thread, Muse doesn't use Axis2 to send out notifications. But, if the notifications are actually being sent to the same server (in my case), then Axis2 does intercept the request. This is not a Muse issue, but an application design issue. -----Original Message----- From: Vinh Nguyen (vinguye2) Sent: Wednesday, April 11, 2007 1:59 PM To: [email protected] Subject: custom message receiver This might be related to the "too many sessions" email thread, but I'll keep this on a separate thread. We are using the Axis2 platform instead of the mini-platform. We also implement WS-Security, so we extend the Axis2 RawXMLINOutMessageReceiver.invokeBusinessLogic() to check the header of each SOAP request for authentication info. For testing, I have a TestWsnConsumer in the same Muse application that will receive the notifications. What happens though is when I call NotificationProducer.publish(), the SOAP actually goes thru the customized message receiver to get to the TestWsnConsumer, but it fails because there is no security info in the SOAP since it is generated by Muse. So the notification never gets out, even though it's actually only going to a resource in the same server itself. To temporarily get around this, my message receiver ignores authentication if the SOAP header action is NotificationConsumer/NotifyRequest. I know this isn't the right way to do it, but the long term solution is to figure out why Muse needs to send the notification message thru the custom Axis2 message receiver if is just sending data from one resource to another on the same server. I had thought the RawXMLINOutMessageReceiver is only invoked when a remote client sends data to the Muse app. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
