Wednesday 30 March 2016

TIBCO Buinessworks 6.2.2 Issues

1.       The operation is removed from the interface definition of the sub process when the corresponding WSDL file is relocated.
a.       Create a XSD file.
b.      Right click on process folder àNewàBusinessWorks Sub Process
c.       In the popup window, provide the Process name and select “Create Service Interface” as “Custom” à click “Next”
d.      In the next window provide interface name and operation name
e.      Provide the XSD elements for “Input Message” and “Output Message”.
f.        Click Finish.
g.       Sub process would be created along with the WSDL. The WSDL is placed at pre-defined folder “Service Descriptors”
h.      Create a folder in the “Service Descriptors” and move the WSDL to the new folder.
i.         Some errors appear on the WSDL. To remove the error clean the project.
j.        The operation is removed from the interface definition of the subprocess.

Resolution for BW 6.2.2
a.       Create the WSDL first
b.      Please to the proper location
c.       With creating the subprocess, select the option “Use an existing WSDL interface for service”.
d.      Select the respective Service from the list.
e.      Click Finish.
NOTE: this issue is fixed with the BW 6.3.1 based on Eclipse 4.4.1

2.       While invoking a sub process which has no output, the invocation activity shows error, although the mandatory inputs are mapped properly.

Resolution for BW 6.2.2
a.       Search for
<bpws:variable messageType="ns8:InvokeLogProcessRequest"
            name="InvokeLogProcess-input" sca-bpel:internal="true"/>
                                <bpws:variable name="InvokeLogProcess" sca-bpel:internal="true"/>
b.      Delete the highlighted text.
c.       Again search for
<bpws:invoke
                        inputVariable="InvokeLogProcess-input"
                        name="InvokeLogProcess"
                        operation="PublishRequest"
                        outputVariable="InvokeLogProcess"
                        partnerLink="PublishRequest"
                        portType="ns8:Logger" tibex:xpdlId="a961ea4f-10a6-48c8-95c8-2559fd6e5aa7">
d.      Delete the highlighted text.
e.      Save the file. And refresh the BW6 process.

NOTE: this issue is fixed with the BW 6.3.1 based on Eclipse 4.4.1

3.       Difficult to rename an existing REST operation name.
Simulation
a.       Create a new REST service by choosing the operation GET and rest of the parameters as the default ones.

b.      An operation called “get” gets created as shown above.
c.       If the operation is  rename from “get” to say “retrieveData” in the WSDL.
d.      The process shows  that, the name has been updated.
e.      In the Components tab click if you look at the operation name it’s still ‘get’ and Null Pointer Exception pops up.


Resolution in BW 6.2.2
a.       Rename the operation using the properties tab. Not in WSDL.
b.     


NOTE: this issue is shows up differently in BW 6.3.1 based on Eclipse 4.4.1. You cannot change the rest operation name. An error window pops up as soon as you confirm the rename action and there aren’t changes. If you try to manually edit the “.json” service description also doesn’t see the changes and you can’t rename the REST service operation as well.
A Tibco SR has been raised (676953) – Defect id is - AMBW-21864, it will be fixed in BW 6.3.2

4.       Explicit client acknowledgement mode works only with JMS receiver activity.

Simulation
a.       Create a process.
b.      Create a SOAP bindings in the components for that process
c.       Select the transport JMS.
d.      Select acknowledge mode  as  “Tibco EMS Explicit Client”.
e.      Do not use confirm activity in the corresponding process.
f.        Test the service. It is found that the JMS message is acknowledged although no confirm activity is used.

Resolution for BW 6.2.2
                No work around
NOTE: this issue is still present in BW 6.3.1 based on Eclipse 4.4.1. A Tibco SR has been raised (679556 – Defect Id is: AMBW-20428)
               
5.       Adding a new operation to an existing service in the abstract WSDL gets reflected in the process but does not appear in the service bindings.

Simulation
a.       Open an existing WSDL file in the service descriptor folder.
b.      Add a new operation to the in the WSDL interface definition.
c.       If we open up the corresponding process the new operation name will appear on the service definitions.
d.      Open the SOAP bindings in the component tab and it could be seen that the new operation name is missing in the Endpoint bindings. 
e.      Note: removing operations from the WSDL design panel doesn’t reflect in an update of the SOURCE WSDL. They are still present in it.
Resolution for BW6.2.2 and BW6.3.1
Delete the existing SOAP bindings and create them from the scratch.
This approach needs to be followed whenever a new operation is added.
NOTE: this issue is still present in BW 6.3.1 based on Eclipse 4.4.1. A Tibco SR has been raised (676637 - DefectID = AMBW-22291).


Simulation
a.       Open an existing schema (XSD) definition and add a new element.
b.      The changes are reflected in the process definition where the schema is being called.
c.       Open up the service bindings section in the “Component” tab.
d.      Notice that the new element name is missing in the parameters section.

Resolution
By no means can one add the new elements in Parameters section directly except to add it by using the source code available in the “module.bwm” tab.

7.       Generation of the concrete WSDL results in missing references.
Simulation
a.       Create a process definition that uses an abstract WSDL containing header and resultaat information which has been imported in the schema definition.
b.      Go to the components tab and generate the concrete WSDL file.
c.       The BW6 generated concrete WSDL is erroneous. One can check this using SOAP UI tool.

Resolution for BW 6.2.2
We need to include the “header” element type information in the generated concrete WSDL file by editing it manually.
                NOTE: this issue is fixed with the BW 6.3.1 based on Eclipse 4.4.1
8.       Unable to change the Header namespace for the REST resource.

Simulation
a.       Create a new REST resource.
b.      BW6 will automatically create the Header schema with name “RESTSchema.xsd”.
c.       Open up the XSD  and see that target namespace is http://tns.tibco.com/bw/REST
d.      Try to change this namespace to a meaningful name.
e.      Now test the service.
f.        During runtime, it would throw an error.

Resolution in BW 6.2.2
                 No work around. The namespace cannot be changed.

                NOTE: this issue is still present in BW 6.3.1, a TIBCO SR (677411) has been raised.
9.       Shared module changes are not automatically reflected in other projects
Simulation
a.       Create a project which includes a shared module.
b.      Add a new property in the shared module in a different workspace.
c.       Refresh the workspace created at step a.
d.      An error pops up “Application configuration error. A set of module properties included in the BW application [xxxxxx.application] are not in sync with the module properties configured for the module [XyzSharedModule”.
Resolution in BW 6.2.2
a.       Open “Includes” tab present under the projectname.application.
b.      “Remove the shared module.
c.       Save the project.
d.      Add the shared module once again.
NOTE: this issue is fixed with the BW 6.3.1 based on Eclipse 4.4.1


4 comments:

  1. How to use wait Notify in BW 6.X

    ReplyDelete
  2. How to use context resource in BW 6.X

    ReplyDelete
    Replies
    1. Please visit the blog post
      http://dibakarpandora.blogspot.nl/2016/04/tibco-bw6x-working-with-context-resource.html

      Delete
  3. Hi Phani,

    I will update my blog responding your query the examples.

    ReplyDelete