IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
Expand all | Collapse all

signature mismatch between caller/callee flow

  • 1.  signature mismatch between caller/callee flow

    Posted Sat February 03, 2007 04:45 PM

    My caller flow invokes a callee. The signature of the output result returned by the callee is shown below:

    docA (document)
    …docListB (document list)
    …strC (string)

    Unfortunately, the callee returns data with a different signature, e.g.

    docA (document)
    …docB (document)
    …strC (string)

    How can my caller access the returned data when its signature contains a list, but the actual data does not?

    I tried mapping with index=0

    I tried mapping the formal signature to the actual signature

    I tried accessing the result with queryXmlNode (after converting documentToXMLString, xmlStringToXMLNode)


    #Flow-and-Java-services
    #webMethods
    #Integration-Server-and-ESB


  • 2.  RE: signature mismatch between caller/callee flow

    Posted Sat February 03, 2007 07:24 PM

    The callee needs to return the data that matches its output signature. To do otherwise is a bug.


    #webMethods
    #Flow-and-Java-services
    #Integration-Server-and-ESB


  • 3.  RE: signature mismatch between caller/callee flow

    Posted Mon February 05, 2007 05:40 AM

    Rob is right - the best thing to do is to fix the callee service.

    If you cannot change the callee, one of these things may work:

    1. Use variable substitution to access %docA/docB/strC% to access the data at design time. (Note, not %docA/docB[0]/strC%)

    2. Copy/paste the callee’s actual output data structure into the caller’s design-time pipeline. When you save this change, webMethods has a habit of ‘disappearing’ the new data structure. To work around this, either paste the data stucture into caller service signature as a junk input, or hardcode some junk data to the variables you want to retain.


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services