Service Virtualization

  • 1.  Virtual service using JMS/Copybook

    Posted Sep 11, 2018 09:08 AM

    Hi Team,

     

    We are trying to virtualize the service which has Transport protocol as JMS and Data Protocol as Copybook. Captured raw traffic request and response message in binary format and charset with UTF-8.

     

    Using given request and response copybook and mapping file, we are able convert request payload as XML but, response payload not getting converted as XML. 

     

    Note: Using same response copybook and mapping file, we are able to generate response in XML format for negative scenario of same service. From this we presume that there wont be any issue with mapping file created as we are able to parse the negative response using same response copybook and mapping file. 

     

    #

     

    Please advice. 

     

    Joel_Nesmith

    MarcyNunns



  • 2.  Re: Virtual service using JMS/Copybook

    Broadcom Employee
    Posted Sep 11, 2018 09:19 AM

    What version of DevTest are you using?



  • 3.  Re: Virtual service using JMS/Copybook

    Posted Sep 11, 2018 12:08 PM

    Hi Marcy,

     

    I am using DevTest version is 10.3.0



  • 4.  Re: Virtual service using JMS/Copybook

    Broadcom Employee
    Posted Sep 11, 2018 09:50 AM

    What errors are you seeing in the Workstation logs?  Is it possible to share a sample project? 



  • 5.  Re: Virtual service using JMS/Copybook

    Posted Sep 11, 2018 12:12 PM

    Hi Shiney, 

     

    Due to security reason not able to share the project file. 

      

    Captured below mentioned error from workstation.log

     

    2018-09-10 16:49:09,412Z (12:49) [AWT-EventQueue-0] WARN com.itko.lisa.test.LisaException - LisaException detail Value for Unknown Response Operation was null exception is n/a
    2018-09-10 16:49:09,413Z (12:49) [AWT-EventQueue-0] ERROR com.itko.lisa.asset.spec.SpecPayload - Error getting value for field Unknown Response Operation: Value for Unknown Response Operation was null


    ============================================================================
    | Exception:
    ============================================================================
    | Message: Value for Unknown Response Operation was null
    ----------------------------------------------------------------------------
    ============================================================================


    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:392)
    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:377)
    at com.itko.lisa.messaging.vse.recorder.AbstractProxyMessagingRecorder.getUnknownResponse(AbstractProxyMessagingRecorder.java:693)
    at com.itko.lisa.messaging.vse.recorder.AbstractProxyMessagingRecorder.getUnknownResponseOperationName(AbstractProxyMessagingRecorder.java:776)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.getDefaultResponseOperationName(AbstractMessagingTransportProtocol.java:546)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.createUnknownConversationalResponse(AbstractMessagingTransportProtocol.java:479)
    at com.itko.lisa.messaging.vse.JmsTransportProtocol.createUnknownConversationalResponse(JmsTransportProtocol.java:110)
    at com.itko.lisa.vse.stateful.protocol.TransportProtocol.getUnknownConversationalResponse(TransportProtocol.java:859)
    at com.itko.lisa.vse.stateful.recorder.InitializePanel.createOrUpdateServiceImage(InitializePanel.java:1019)
    at com.itko.lisa.vse.stateful.recorder.InitializePanel.save(InitializePanel.java:739)
    at com.itko.lisa.gui.WizardPanel.savePanel(WizardPanel.java:631)
    at com.itko.lisa.gui.WizardPanel.next(WizardPanel.java:432)
    at com.itko.lisa.gui.WizardPanel$7.actionPerformed(WizardPanel.java:343)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    2018-09-10 16:49:09,414Z (12:49) [AWT-EventQueue-0] WARN com.itko.lisa.test.LisaException - LisaException detail Value for Unknown Response Operation was null exception is n/a
    2018-09-10 16:49:09,414Z (12:49) [AWT-EventQueue-0] ERROR com.itko.lisa.asset.spec.SpecPayload - Error getting value for field Unknown Response Operation: Value for Unknown Response Operation was null


    ============================================================================
    | Exception:
    ============================================================================
    | Message: Value for Unknown Response Operation was null
    ----------------------------------------------------------------------------
    ============================================================================


    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:392)
    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:377)
    at com.itko.lisa.messaging.vse.recorder.AbstractProxyMessagingRecorder.getUnknownResponse(AbstractProxyMessagingRecorder.java:693)
    at com.itko.lisa.messaging.vse.recorder.AbstractProxyMessagingRecorder.getUnknownResponseOperationName(AbstractProxyMessagingRecorder.java:776)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.getDefaultResponseOperationName(AbstractMessagingTransportProtocol.java:546)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.createUnknownStatelessResponse(AbstractMessagingTransportProtocol.java:491)
    at com.itko.lisa.messaging.vse.JmsTransportProtocol.createUnknownStatelessResponse(JmsTransportProtocol.java:115)
    at com.itko.lisa.vse.stateful.protocol.TransportProtocol.getUnknownStatelessResponse(TransportProtocol.java:888)
    at com.itko.lisa.vse.stateful.recorder.InitializePanel.createOrUpdateServiceImage(InitializePanel.java:1020)
    at com.itko.lisa.vse.stateful.recorder.InitializePanel.save(InitializePanel.java:739)
    at com.itko.lisa.gui.WizardPanel.savePanel(WizardPanel.java:631)
    at com.itko.lisa.gui.WizardPanel.next(WizardPanel.java:432)
    at com.itko.lisa.gui.WizardPanel$7.actionPerformed(WizardPanel.java:343)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    2018-09-10 16:49:09,879Z (12:49) [AWT-EventQueue-0] WARN com.itko.lisa.test.LisaException - LisaException detail Value for Unknown Response Operation was null exception is n/a
    2018-09-10 16:49:09,880Z (12:49) [AWT-EventQueue-0] ERROR com.itko.lisa.asset.spec.SpecPayload - Error getting value for field Unknown Response Operation: Value for Unknown Response Operation was null


    ============================================================================
    | Exception:
    ============================================================================
    | Message: Value for Unknown Response Operation was null
    ----------------------------------------------------------------------------
    ============================================================================


    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:392)
    at com.itko.lisa.asset.spec.SpecPayload.getValueInstance(SpecPayload.java:377)
    at com.itko.lisa.asset.spec.SpecMapKeyPayload.getEditorPlugin(SpecMapKeyPayload.java:40)
    at com.itko.lisa.asset.ui.SpecPayloadEditorPluginImpl.addToGrid(SpecPayloadEditorPluginImpl.java:186)
    at com.itko.lisa.asset.operation.editor.VariableOperationEditorPlugin.addToGrid(VariableOperationEditorPlugin.java:216)
    at com.itko.lisa.asset.operation.editor.VariableOperationEditorPlugin.addToGrid(VariableOperationEditorPlugin.java:192)
    at com.itko.lisa.asset.operation.editor.OperationEditor.buildMainPanel(OperationEditor.java:91)
    at com.itko.lisa.asset.operation.editor.OperationEditor.init(OperationEditor.java:68)
    at com.itko.lisa.asset.operation.editor.OperationEditor.<init>(OperationEditor.java:53)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol$WizardPanel.<init>(AbstractMessagingTransportProtocol.java:247)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol$WizardPanel.<init>(AbstractMessagingTransportProtocol.java:236)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.getSmartWizardStep(AbstractMessagingTransportProtocol.java:210)
    at com.itko.lisa.messaging.vse.AbstractMessagingTransportProtocol.getWizardSteps(AbstractMessagingTransportProtocol.java:136)
    at com.itko.lisa.vse.stateful.recorder.RecordingWizard.initializePanelDone(RecordingWizard.java:468)
    at com.itko.lisa.vse.stateful.recorder.InitializePanel.save(InitializePanel.java:784)
    at com.itko.lisa.gui.WizardPanel.savePanel(WizardPanel.java:631)
    at com.itko.lisa.gui.WizardPanel.next(WizardPanel.java:432)
    at com.itko.lisa.gui.WizardPanel$7.actionPerformed(WizardPanel.java:343)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    2018-09-10 16:49:16,171Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:49:20,351Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:49:21,442Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:49:30,535Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:49:31,685Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:49:35,719Z (12:49) [AWT-EventQueue-0] INFO System.out - QuickSearch$QuickSearchPainter.hideSearch
    2018-09-10 16:50:26,551Z (12:50) [Thread-901] WARN com.itko.util.copybook.PayloadProcessor - Finished parsing payload, but have 740 bytes left over.
    2018-09-10 16:50:26,583Z (12:50) [Thread-901] WARN com.itko.lisa.vse.stateful.protocol.copybook.CopybookDataProtocol - Asymmetric conversion for payload with definition name [DACI] and responseId [0]. Storing the whole payload as a hex encoded string.
    2018-09-10 16:50:26,588Z (12:50) [Thread-901] INFO root - No Stateless Match Could not match a stateless transaction
    2018-09-10 16:50:30,686Z (12:50) [ProcDlgThreadCallbk@54300e7e] INFO com.itko.lisa.test.TestCase - Name: dummy Version: 5 created with LISA 10.3.0 (10.3.0.297)



  • 6.  Re: Virtual service using JMS/Copybook

    Broadcom Employee
    Posted Sep 12, 2018 09:08 AM

    What is the flow of your Application?

     

    Example:  WebService step --> ESB --> mainframe (over MQ)