Hi, Ignacio.

I have made some progress here with the following changes.

1) In the implementation.notification provider, set the default databinding of the service implementation contract to OMElement.
2) Add wstx-asl-3.2.1 and tuscany-databinding-axiom as untime dependencies

Now I'm at the point that your help is needed. Can you explain the following code in org.apache.tuscany.sca.binding.notification.NotificationBindingProviderFactory? Please note now we defer the activation of references to the 1st time they are used for invocation. So the assumption of that all references/services are pre-activated are NOT true any more.

Thanks,
Raymond

/*
* These methods are intended to be called by the binding providers' start methods. By the time this * happens, both referenceBindingProvider != null && serviceBindingProvider != null, if they are
* ever going to be
*/
public void serviceProviderStarted(URI notificationType,
NotificationServiceBindingProvider serviceBindingProvider,
URL remoteNtmUrl) {
NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
   if (referenceBindingProvider == null) {
       serviceBindingProvider.deployConsumer();
   }
   else if (referenceBindingProvider.isStarted()) {
       String brokerID = BrokerID.generate();
deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
   }
}

public void referenceProviderStarted(URI notificationType,
NotificationReferenceBindingProvider referenceBindingProvider,
URL remoteNtmUrl) {
NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
   if (serviceBindingProvider == null) {
       referenceBindingProvider.deployProducer();
   }
   else if (serviceBindingProvider.isStarted()) {
       String brokerID = BrokerID.generate();
deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
   }
}

----- Original Message ----- From: "Ignacio Silva-Lepe (JIRA)" <tuscany-dev@ws.apache.org>
To: <tuscany-dev@ws.apache.org>
Sent: Tuesday, August 28, 2007 7:33 AM
Subject: [jira] Commented: (TUSCANY-1620) Exception running the binding-notification-producer sample



[ https://issues.apache.org/jira/browse/TUSCANY-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523249 ]

Ignacio Silva-Lepe commented on TUSCANY-1620:
---------------------------------------------

I misspoke above about where the databinding interceptor is not being added. The trace above shows the invocation chain between the notification component and the composite reference. In particular, it shows the notification component invoker calling the notification reference binding invoker directly with no databinding interceptor in between. This is indeed correct, as both ends have the same databinding. However, where a databinding interceptor _should_ be added is in the invocation chain between the traffic advisory producer and the notification component. Doing a little bit of debugging, I have a break point in DataBindingRuntimeWireProcessor.process, and in line 116 I can see that the target contract (a WSDLInterfaceContractImpl) has a single OperationImpl in its list of operations, which is ok, but this operation has a dataBinding value of null. This means that isTransformationRequired eventually returns null and no databinding interceptor is added. I am not sure what has changed in the last week or so to make this happen, as I am assuming that the OperationImpl's databinding value was not null before, since the sample was working.
Any ideas?


Exception running the binding-notification-producer sample
----------------------------------------------------------

                Key: TUSCANY-1620
                URL: https://issues.apache.org/jira/browse/TUSCANY-1620
            Project: Tuscany
         Issue Type: Bug
         Components: Java SCA Data Binding Runtime, Java SCA Samples
   Affects Versions: Java-SCA-0.99, Java-SCA-1.0
        Environment: WIndows XP
           Reporter: Ignacio Silva-Lepe
            Fix For: Java-SCA-0.99, Java-SCA-1.0


I am getting the following exception trying to run the binding-notification-
producer sample and trying to send a message to a binding-notification-
consumer. The NotificaitonReferenceBindingInvoker is expecting an
OMElement that should be coming from the notification component via
the corresponding databinding. But I don't see a databinding interceptor
between the RuntimeSCABindingInvoker and the NotificationReference-
BindingInvoker, the way you see it in the databinding-echo trace of
TUSCANY-1582.
Any ideas as to why the databinding interceptor is not being added to the
invocation chain?

java.lang.RuntimeException: payload not OMElement
at org.apache.tuscany.sca.binding.notification.NotificationReferenceBind
ingInvoker.getWriteableFromPayload(NotificationReferenceBindingInvoker.java:115)
at org.apache.tuscany.sca.binding.notification.NotificationReferenceBind
ingInvoker.invoke(NotificationReferenceBindingInvoker.java:81)
at org.apache.tuscany.sca.implementation.notification.NotificationCompon
entInvoker.invoke(NotificationComponentInvoker.java:81)
at org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingInvoker.invo
ke(RuntimeSCABindingInvoker.java:48)
at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JD
KInvocationHandler.java:236)
at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
KInvocationHandler.java:93)
        at $Proxy8.trafficNotification(Unknown Source)
at notification.producer.TrafficAdvisoryProducer.produceTrafficNotificat
ion(TrafficAdvisoryProducer.java:34)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementat
ionInvoker.invoke(JavaImplementationInvoker.java:91)
at org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingInvoker.invo
ke(RuntimeSCABindingInvoker.java:48)
at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JD
KInvocationHandler.java:236)
at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
KInvocationHandler.java:93)
        at $Proxy7.produceTrafficNotification(Unknown Source)
at notification.producer.TrafficAdvisoryServer.main(TrafficAdvisoryServe
r.java:45)

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to