[kepler-dev] When to add ports
cxh at eecs.berkeley.edu
Thu Oct 14 14:56:51 PDT 2004
[I changed the subject line]
I'm tied up with some other tasks, but briefly:
I think that attributeChanged is the place to change ports.
actor.lib.MathFunction adds and removes a port as necessary,
you might look there. actor.lib.Expression might also be worth a look.
Caching the URL seems like the right idea to me.
I'm not sure why making the operation name a choice style would break
this. Offhand, as a shot in the dark, I would look for bogus
Thanks Christopher. I think that was caused by something I
changed in the web service actor. I fixed it now.
I have a question on the web service actor. (I'm asking this
question assuming that you have access to the webservice
As you know given some configuration parameters, the web
service actor configures itself to execute a specific WS.
I have two basic configuration parameters for this purpose:
1. The URL for the description of the service
2. The name of an operation specified by this url
So when the user enters a wsdl(service) URL, I update the
list of available operations for the service. And when the
user selects one of these operations, I create input and
output ports for this service. Whenever a new operation
name is selected or a different url is entered, I delete
all the ports and apply this procedure in the attributeChanged
The problem is, since attributeChanged is being called
everytime I update the operation names, or in the constructor, etc..
So when I save and reopen the test workflows, all the link to
the configured actor is gone because the ports have been
attributeChanged is probably not the best place to create ports
but I don't know anywhere else to do such a change. (Or even
GUI/icon changes that depend on the attributes.)
I solved this before by checking if the operation name or wsdl
url had really changed. But I believe it is a kind of a hack
and doesn't solve the problem. Indeed after I renewed the
actor to make the operation names choice style (selectable),
it started causing problems again.
I will be very happy if you have any ideas to help me with this.
A test workflow for this can be found in the workflows/test
directory in the Kepler CVS main branch. (WebServiceTest.xml)
Thanks in advance,
More information about the Kepler-dev