There are different properties that you could actually update in your process descriptor. They are a) The Configuration properties b) The preference properties c) The partnerlink properties. These properties are illustrated below.
- <BPELSuitcase>
- <BPELProcess id="UpdatePropertyProcess" src="UpdatePropertyProcess.bpel">
- <partnerLinkBindings>
- <partnerLinkBinding name="client">
- <property name="wsdlLocation">
- UpdatePropertyProcess.wsdl
- </property>
- <property name="partnerlinkProperty1">
- valueOfPartnerlinkProperty 1
- </property>
- </partnerLinkBinding>
- </partnerLinkBindings>
- <preferences>
- <property name="preferenceProperty1" encryption="plaintext">
- valueOfPreferenceProperty1
- </property>
- </preferences>
- <configurations>
- <property name="configProperty1" encryption="plaintext">
- valueOfConfigProperty1
- </property>
- </configurations>
- </BPELProcess>
- </BPELSuitcase>
To update these properties dynamically within the BPEL Process, you can use a Java embedding within the process, as shown below.
-
- try {
- getLocator().lookupProcess ("UpdatePropertyProcess").
- getDescriptor ().
- getConfigurations().
- setPropertyValue ("configProperty1",
- "newValueOfConfigPropertyValue1");
- getLocator().lookupProcess ("UpdatePropertyProcess").
- getDescriptor ().
- getPreferences().
- setPropertyValue ("preferenceProperty1",
- "newValueOfPreferenceProperty1" );
- getLocator().lookupProcess ("UpdatePropertyProcess").
- getDescriptor ().
- getPartnerLinkBindings().
- getPartnerLinkBinding ("client").
- setPropertyValue ("partnerlinkProperty1",
- "newValueOfPartnerlinkProperty 1");
- }
- catch(Throwable ex) {
- }
Click here to download the Sample BPEL Process project.
Comments (1)
Hi Ram,
I have used the BPEL Process provided by you.But I could not update the Partner link properties dynamically.I can update the other two properties.
thanks.
Surya.
Posted by Surya | July 26, 2008 10:46 AM
Posted on July 26, 2008 10:46