Topic
  • 1 reply
  • Latest Post - ‏2013-01-25T14:11:13Z by SystemAdmin
SystemAdmin
SystemAdmin
6772 Posts

Pinned topic WTX mapping not working "..failed: 8: One or more inputs was invalid"

‏2013-01-24T12:42:39Z |
I'm trying to set up a Multi-protocol Gateway to map between a web-service and an IMS transaction.
I've got the input mapping working now using a WTX map, the transaction is run, results returned, but I can't get the output mapping to run outside of WTX Design Studio (I have an input file with the raw byte content as captured using the DataPower packet capture facility and trimmed to just the data portion of the packet).

I started with a copybook->XML WTX transform, but I've seen that DataPower doesn't like NULL characters in the input if the destination is XML, and that this would result in this error. So I've introduced an extra copybook->copybook transform that replaces the nulls with space(input card type = output card type, field mappings substitute <NULL> with <SP>).
I've also tried with replacing with space in addition to the <NULL> character replacement.

Any thoughts on how to fix this, or how to get more information out of DataPower as to what it thinks the invalid input was, would be much appreciated.

Initial null-removing binary transform settings:
Use XSLT specified in this action on a non-XML message
WTX Map file = NullToBlankMap.dpa
WTX Map Mode = DPA
Tried with Advanced tab Output Type = default and binary with no difference to the behaviour

DataPower Firmware Rev:XI50.4.0.2.3 Build:208047

IBM Websphere Transformation Extender Design Studio Version: 8.3.0.5 Build id: 8

DataPower log messages:

07:08:09 mpgw error 43510214 error 19.163.152.128 0x00c30022 mpgw (WVTA_IMS): dpa runtime error
07:08:09 xmlparse debug 43510214 response 19.163.152.128 0x80e003ab mpgw (WVTA_IMS): Finished parsing: http://19.86.120.163:8103/EUTypeApprovalNumberRetrieveService
07:08:09 xmlparse debug 43510214 response 19.163.152.128 0x80e003a6 mpgw (WVTA_IMS): Parsing document: 'http://19.86.120.163:8103/EUTypeApprovalNumberRetrieveService'
07:08:09 multistep error 43510214 response 19.163.152.128 0x80c00009 mpgw (WVTA_IMS): response WVTA_Policy_rule_1 #1 xformbin: 'Transforming (possibly binary) INPUT with local:///wvta/NullToBlankMap.dpa results stored in tmpvara' failed: 8: One or more inputs was invalid
07:08:09 multistep debug 43510214 response 19.163.152.128 0x80c0004e mpgw (WVTA_IMS): Stylesheet URL to
Updated on 2013-01-25T14:11:13Z at 2013-01-25T14:11:13Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    6772 Posts

    Re: WTX mapping not working "..failed: 8: One or more inputs was invalid"

    ‏2013-01-25T14:11:13Z  
    I don't know if this is the most elegant way around this, but the following approach worked for me.
    Since my input was fixed size I defined a type tree in WTX with a single element
    Intent: General
    Item Subclass: Text
    Interpret as: Binary
    Size: min=0 max=+my message size+

    I then defined a type map with a single input card that used this type element and a single output card that used the same type tree and element.
    I mapped the single binary input element to the single binary output element with a rule that looked like: =SUBSTITUTE(BinaryInputCard,"<NULL>","<SP>")

    Using that transform as the first action in the server-response rule allowed me lose the null character without DataPower throwing any errors. I could then use my existing CopyBook->XML map on the output of the first binary map to do the 'real' work.