[prev in list] [next in list] [prev in thread] [next in thread]
List: pubscribe-user
Subject: Question on notification for internal property change (similar problem)
From: David Ortega <doa () tid ! es>
Date: 2006-01-26 12:15:19
Message-ID: 43D8BD57.7050104 () tid ! es
[Download RAW message or body]
Hi,
I saw in the list archives that someone had a similar problem...
I am using pubscribe 1.1 and I'm trying to invoke the notifications'
sending from a method I put in my custom ResourceClass (you can see the
code of this method at the end of this email)
My problem is that when there's some user subscribed to the proprerty I
always get the same error:
[java] Exception in thread "Notification Service Main Dispatcher"
java.lang.RuntimeException: java.lang.RuntimeException: Failed to obtain
subscription manager home.
[java] at
org.apache.ws.notification.topics.impl.ResourcePropertyValueChangeListenerImpl.propertyChanged(ResourcePropertyValueChangeListenerImpl.java:82)
[java] at
mypackage.MyPortResource.notifyAlarm(MyPortResource.java:297)
...
...
[java] Caused by: java.lang.RuntimeException: Failed to obtain
subscription manager home.
[java] at
org.apache.ws.notification.base.SubscriptionManager.getSubscriptionManagerHome(SubscriptionManager.java:85)
[java] at
org.apache.ws.notification.base.SubscriptionManager.getSubscriptions(SubscriptionManager.java:106)
[java] at
org.apache.ws.notification.base.impl.NotificationProducerHelper.publish(NotificationProducerHelper.java:149)
[java] at
org.celtic.madeira.nbi.AbstractMyPortResource.publish(AbstractMyPortResource.java:189)
[java] at
org.apache.ws.notification.topics.impl.ResourcePropertyValueChangeListenerImpl.propertyChanged(ResourcePropertyValueChangeListenerImpl.java:78)
[java] ... 5 more
[java] Caused by: org.apache.ws.resource.ResourceException: There
is no resource home configured for a portComponent named
SubscriptionManager.
[java] at
org.apache.ws.resource.WsrfRuntime.getResourceHome(WsrfRuntime.java:263)
[java] at
org.apache.ws.notification.base.SubscriptionManager.getSubscriptionManagerHome(SubscriptionManager.java:81)
Do you know what can be happening? I guess that it's impossible to
access to the SubscriptionManager from there...
Is it possible to implement an external method which triggers the
notifications' sending without using a SOAP request?
Thanks in advance,
David
----------------------------------
public void notifyAlarm(MyFMAlarm alarm)
{
//Getting the ResourceProperty
org.apache.ws.resource.properties.ResourcePropertySet
resourcePropertySet =
((org.apache.ws.notification.base.NotificationProducerResource)this).getResourcePropertySet();
org.apache.ws.resource.properties.ResourceProperty resourceProperty;
resourceProperty =
resourcePropertySet.get(MyPortPropertyQNames.FMALARM);
//Creating new FMAlarmDocument to update the property
FMAlarmDocument fmAlarmDoc = FMAlarmDocument.Factory.newInstance();
//creating the actual alarm:
FMAlarm newFmAlarm = fmAlarmDoc.addNewFMAlarm();
newFmAlarm.setfield1(alarm.getfield1());
...
//adding alarm data to doc
fmAlarmDoc.setFMAlarm(newFmAlarm);
//Updating FmAlarm Property
resourceProperty.set(0,fmAlarmDoc);
//get the "Changelistener" from this property
ResourcePropertyValueChangeListenerImpl changeListener =
(ResourcePropertyValueChangeListenerImpl)resourceProperty.getChangeListeners()[0];
ResourcePropertyValueChangeEvent statusChangeEvent = new
XmlBeansResourcePropertyValueChangeEvent(null, new Object[] { fmAlarmDoc });
changeListener.propertyChanged(statusChangeEvent); //Here is
where it fails!!!
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic