Topic
7 replies Latest Post - ‏2013-09-18T19:34:45Z by HermannSW
RobVSCDC
RobVSCDC
19 Posts
ACCEPTED ANSWER

Pinned topic WTX DPA runtime error

‏2013-08-15T20:01:26Z |

Using XI52 Firmware:XI52.5.0.0.8 and WTX design studio Version: 8.4.0.2.. 

I am attempting to create a proof of concept that executes a WTX DPA executable in a XML firewall policy. The goal is to receive a SOAP request and map it to a schema. (This is my shop's first foray into WTX.)

I built the map using WTX's WSDL importer and mapped it to a schema I made up. The map builds without errors and it will run on the DataPower using the interoperabilty test service. I deployed the map to my development box and built the necessary policy. I used a couple transformation actions with style sheets that strip the SOAP envelope and namespaces in order to bring the XML inline with what the map is expecting. (I couldn't figure out if WTX would do that for me.) Unfortunately the DPA executable will not run in the policy. It throws a "Input valid but unknown data found" error. 

I was reviewing compatibility and I discovered "DataPower does not support the WebSphere Transformation Extender WSDL importer." (http://pic.dhe.ibm.com/infocenter/wsdatap/v5r0m0/index.jsp?topic=%2Fcom.ibm.dp.xi.doc%2Fintegratingwithwtx11.htm) I assume this is the cause of the errors since they run successfully using the interoperabilty test service.

I've spent a couple days battling compatibility issues so I'm wondering if I could just pull the schema out of the WSDL and use that to build my map since I'm using style sheets to get rid of the soap envelope. 

Thanks

  • swlinn
    swlinn
    1344 Posts
    ACCEPTED ANSWER

    Re: WTX DPA runtime error

    ‏2013-08-15T20:31:39Z  in response to RobVSCDC

    Hi Rob,

    I don't know the technical issue on why the WSDL importer is not supported, although given you are using the interop service and the map is successful, I think all that is doing is sending your .dpa file to the appliance and send your data through a binary transformation action using your .dpa file.  For sure I've used the schema importer successfully with no issues, but can you send the same data used by your input card in design studio to a simple rule that passes that data to a binary transformation action that references your .dpa file?  If that works, then your transformations prior to the binary xform would seem to be the culprit.  You could also have a simple run that just output the results of your up front transformations and send that back as a response, and use that response as your input card in WTX to see if it works there.

    Regards,

    Steve

    • RobVSCDC
      RobVSCDC
      19 Posts
      ACCEPTED ANSWER

      Re: WTX DPA runtime error

      ‏2013-08-16T17:14:48Z  in response to swlinn

      Thanks, Steve. I appreciate the reply.

      I had taken the output of the transformations from the probe and put it into the input card in WTX and it worked successfully. I had thought that was sufficient validation of my transformations but your suggestion of skipping the upfront transformations seemed like a better validation. I bypassed the up front transformations as you suggested and the binary dpa transformation worked.

      So it does seem that my up front transformations are at fault, but I'm not sure why. Granted my experience coding those transformations is limited, but the output of the preceding step looks correct. However the binary content of the pipe context as displayed in the probe shows the xml declaration so I do wonder if that might be the problem.

      I've attached the xml firewall, my transformations, and some screen shots from the probe. Any suggestions would be greatly appreciated.

      Rob

      Attachments

      • swlinn
        swlinn
        1344 Posts
        ACCEPTED ANSWER

        Re: WTX DPA runtime error

        ‏2013-08-16T22:24:49Z  in response to RobVSCDC

        I tested striphdr2.xsl and it only strips off the soap:Envelope element, in my case leaving both the soap:Header and soap:Body children.  Since you're use case doesn't have a soap:Header it would work, but just be aware.  So your end result going into the xform bin is correct and does it match what you use when you use the interop service?  It seems odd that this is working with the interop service.  In the probe, use the "show unformatted content" link and copy that into a file and use it on your input card to see if it works in WTX.  If not, then enable the trace for your map and it should give some clues as to what is failing.

        Regards,
        Steve

        • RobVSCDC
          RobVSCDC
          19 Posts
          ACCEPTED ANSWER

          Re: WTX DPA runtime error

          ‏2013-08-21T20:27:18Z  in response to swlinn

          Thanks, Steve.

          The request currently runs through both style sheets to strip everything off before going into the dpa transformation. (So it's a string of three transformations in the policy.)

          I copied the unformatted content from the probe into the map input in design studio and the map ran successfully via the interop service. It does seem that the request is formatted correctly when going into the dpa transformation but it still fails. And since I can't get it to fail in design studio I do not know how to troubleshoot this failure. (I was hoping to avoid opening a PMR but I may not have a choice.)

          There is one weird thing when it runs in design studio. It has a status of "map completed successfully" but the only dialog option is "cancel" or I can click the red x to close. I assumed this was just a design studio oddity but I thought I would mention it just in case. I don't see anything in the trace file in design studio that would indicate a problem.

          Any other suggestions would be appreciated.

          Rob

          • swlinn
            swlinn
            1344 Posts
            ACCEPTED ANSWER

            Re: WTX DPA runtime error

            ‏2013-08-21T20:36:20Z  in response to RobVSCDC

            Hi Rob,

            The only thing else I can think of is if you're not passing the proper context into binary xform, sounds pretty basic though so I'm assuming that's ok, but worth double checking as sometimes the GUI might change input contexts trying to "help" you.  Otherwise, I'm at a loss too, a PMR may be your next step.

            Regards,

            Steve

    • This reply was deleted by RobVSCDC 2013-08-16T17:59:31Z.
    • This reply was deleted by RobVSCDC 2013-08-16T17:59:27Z.
    • This reply was deleted by RobVSCDC 2013-08-16T17:59:23Z.