Understand "TIBCO-AMX-CF-010002: Missing target for operation" error

Understand "TIBCO-AMX-CF-010002: Missing target for operation" error

book

Article ID: KB0083936

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) All

Description

Use Case:

An external web service is invoked by a BPM process through a Service Task. After upgrading the BPM process from V1 to V2, service invocation within V2 process instance may fail with the below error: 

com.tibco.bx.core.faults.BxException: TIBCO-AMX-CF-010002: Missing target for operation {http://www.example.com/services/someservices}SomeOperationName

Analysis: 

First of all, the error indicates that the concrete WSDL used by V2 is not identical to V1. There can be various types of WSDL change which would result in such kind of error. Common ones are: 

1) Namespace Change (http://www.example.com/services/someservices in above example)
2) New Operation (SomeOperationName in above example)

You could compare the concrete WSDL used by both versions to tell which type of change has been made. 

Issue/Introduction

Analysis and solutions to "com.tibco.bx.core.faults.BxException: TIBCO-AMX-CF-010002: Missing target for operation {http://www.example.com/services/someservices}SomeOperationName" error

Resolution

1) If the issue is caused by a modified namespace, it's a business process design flaw other than a product defect. Per industrial standards, concrete WSDL should remain the contract between your process and the external service and updating its WSDL namespace makes the target service a completely different one. The failure of "Missing target" is expected because such of kind of change breaks the contract. Instead of having a process upgrade triggered by concrete WSDL namespace change, you are supposed to proactively address it through either of below approaches. 

a. Please work with your target service provider to ensure that the concrete WSDL namespace won't be changed time by time. 
b. You may also use a Mediation application to map the external service of updated namespace to an internal service with an original namespace. BPM application can then consume the internal service w/o updating the target service namespace.

2) It's recommended to keep you product stack up to date by applying latest Hotfix. The following defect has been fixed in AMX 3.3.0 HF-14 and later and the fix may prevent you from running into "TIBCO-AMX-CF-010002: Missing target for operation"  error caused by added operation. You may find more details from latest AMX 3.3.0 hotfix readme. 

AMRP-5354
In case of TIBCO ActiveMatrix BPM, when Process Instances were started using a new version of the process after updating the Reference-side WSDL (for example, to add a new Operation), request messages accumulated in the BPM Component's internal queue, and the following error message was seen in the BPM Runtime Node log: "TIBCO-AMX-CF-010002: Missing target". Specifically, this occurred when the Component Reference was attempting to invoke the newly added Operation but the Promoted Reference was not aware of the Operation and the newly available Promoted Reference version (containing the new Operation). To address this issue, if the TRA property "com.tibco.amx.cf.enable.virtualizationAddress.versioning" is set to "true" on the BPM Runtime Node, the error message is no longer seen and Process Instances of the new version are successfully created. The default value of  the TRA property is "false". Please note that the TIBCO ActiveMatrix BPM Application needs to be upgraded after enabling the TRA property.

It's essential to note that - the fix of AMRP-5354 is a preventative measure and it won't resolve existing error caused by previous upgrades. If the issue has already occurred, a common remedy is to make V1 (which is in Prepare for Undeploy state) completely undeployed. It can achieved either by force undeploying V1 or completing / cancelling all its process items. Alternative solution may be available on case by case basis - if you can't afford completely phasing out V1 or have any questions, please discuss your situation with TIBCO Support team.