Topic
  • 7 replies
  • Latest Post - ‏2013-09-18T19:34:45Z by HermannSW
RobVSCDC
RobVSCDC
24 Posts

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

  • RobVSCDC
    RobVSCDC
    24 Posts
    ACCEPTED ANSWER

    Re: WTX DPA runtime error

    ‏2013-09-18T16:14:34Z  
    • swlinn
    • ‏2013-08-21T20:36:20Z

    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

    Finally got back to this task. I was able to get it to work by creating a schema from the request and importing that instead of the WSDL. So the issue does seem to be the DataPower's non-support for WTX's WSDL importer. 

  • HermannSW
    HermannSW
    6019 Posts
    ACCEPTED ANSWER

    Re: WTX DPA runtime error

    ‏2013-09-18T19:34:45Z  
    • RobVSCDC
    • ‏2013-09-18T16:14:34Z

    Finally got back to this task. I was able to get it to work by creating a schema from the request and importing that instead of the WSDL. So the issue does seem to be the DataPower's non-support for WTX's WSDL importer. 

    You are right, from "Limitations of WebSphere DataPower SOA Appliances":
    http://publib.boulder.ibm.com/infocenter/wtxdoc/v8r2m0/index.jsp?topic=/com.ibm.websphere.dtx.md.doc/references/r_md_datapwr_limitations.htm

    WSDL Importer
    WebSphere DataPower SOA Appliances do not support the IBM WebSphere Transformation Extender Web Services Description Language (WSDL) Importer.
     

    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>

     

  • swlinn
    swlinn
    1395 Posts

    Re: WTX DPA runtime error

    ‏2013-08-15T20:31:39Z  

    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
    24 Posts

    Re: WTX DPA runtime error

    ‏2013-08-16T17:14:48Z  
    • swlinn
    • ‏2013-08-15T20:31:39Z

    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

    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
    1395 Posts

    Re: WTX DPA runtime error

    ‏2013-08-16T22:24:49Z  
    • RobVSCDC
    • ‏2013-08-16T17:14:48Z

    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

    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
    24 Posts

    Re: WTX DPA runtime error

    ‏2013-08-21T20:27:18Z  
    • swlinn
    • ‏2013-08-16T22:24:49Z

    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

    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
    1395 Posts

    Re: WTX DPA runtime error

    ‏2013-08-21T20:36:20Z  
    • RobVSCDC
    • ‏2013-08-21T20:27:18Z

    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

    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

  • RobVSCDC
    RobVSCDC
    24 Posts

    Re: WTX DPA runtime error

    ‏2013-09-18T16:14:34Z  
    • swlinn
    • ‏2013-08-21T20:36:20Z

    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

    Finally got back to this task. I was able to get it to work by creating a schema from the request and importing that instead of the WSDL. So the issue does seem to be the DataPower's non-support for WTX's WSDL importer. 

  • HermannSW
    HermannSW
    6019 Posts

    Re: WTX DPA runtime error

    ‏2013-09-18T19:34:45Z  
    • RobVSCDC
    • ‏2013-09-18T16:14:34Z

    Finally got back to this task. I was able to get it to work by creating a schema from the request and importing that instead of the WSDL. So the issue does seem to be the DataPower's non-support for WTX's WSDL importer. 

    You are right, from "Limitations of WebSphere DataPower SOA Appliances":
    http://publib.boulder.ibm.com/infocenter/wtxdoc/v8r2m0/index.jsp?topic=/com.ibm.websphere.dtx.md.doc/references/r_md_datapwr_limitations.htm

    WSDL Importer
    WebSphere DataPower SOA Appliances do not support the IBM WebSphere Transformation Extender Web Services Description Language (WSDL) Importer.
     

    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>