/** * WS-Attacker - A Modular Web Services Penetration Testing Framework Copyright * (C) 2010 Christian Mainka * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package wsattacker.gui.component.testrequest; import com.eviware.soapui.model.iface.Request; import java.util.logging.Level; import java.util.logging.Logger; /** * @author dev */ public class RequestResponseGUI_NB extends javax.swing.JPanel { /** * Creates new form RequestResponseGUI_NB */ public RequestResponseGUI_NB() { initComponents(); } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The * content of this method is always regenerated by the Form Editor. */ @SuppressWarnings( "unchecked" ) // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); currentRequest = wsattacker.main.testsuite.TestSuite.getInstance().getCurrentRequest(); headerToStringConverter = new wsattacker.gui.component.testrequest.header.HeaderToStringConverter(); wsdlResponseToHeaderStringConverter = new wsattacker.gui.component.testrequest.header.WsdlResponseToHeaderStringConverter(); urlEndpointLabel = new javax.swing.JLabel(); urlEndpointValue = new javax.swing.JTextField(); requestResponseSplitPane = new javax.swing.JSplitPane(); requestTabs = new javax.swing.JTabbedPane(); requestXmlScrollPane = new org.fife.ui.rtextarea.RTextScrollPane(); requestXmlValue = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); requestHeaderScrollPane = new org.fife.ui.rtextarea.RTextScrollPane(); requestHeaderValue = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); responseTabs = new javax.swing.JTabbedPane(); responseXmlScrollPane = new org.fife.ui.rtextarea.RTextScrollPane(); responseXmlValue = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); responseHeaderScrollPane = new org.fife.ui.rtextarea.RTextScrollPane(); responseHeaderValue = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); sendButton = new javax.swing.JButton(); setName( "Test Request" ); // NOI18N urlEndpointLabel.setText( "URL Endpoint:" ); org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, currentRequest, org.jdesktop.beansbinding.ELProperty.create( "${wsdlRequest.endpoint}" ), urlEndpointValue, org.jdesktop.beansbinding.BeanProperty.create( "text" ) ); bindingGroup.addBinding( binding ); requestResponseSplitPane.setDividerLocation( 100 ); requestResponseSplitPane.setOrientation( javax.swing.JSplitPane.VERTICAL_SPLIT ); requestXmlScrollPane.setFoldIndicatorEnabled( true ); requestXmlValue.setColumns( 20 ); requestXmlValue.setRows( 5 ); requestXmlValue.setCodeFoldingEnabled( true ); requestXmlValue.setSyntaxEditingStyle( "text/xml" ); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, currentRequest, org.jdesktop.beansbinding.ELProperty.create( "${wsdlRequestContent}" ), requestXmlValue, org.jdesktop.beansbinding.BeanProperty.create( "text" ) ); bindingGroup.addBinding( binding ); requestXmlScrollPane.setViewportView( requestXmlValue ); requestTabs.addTab( "XML Request", requestXmlScrollPane ); requestHeaderValue.setColumns( 20 ); requestHeaderValue.setRows( 5 ); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, currentRequest, org.jdesktop.beansbinding.ELProperty.create( "${wsdlRequest.requestHeaders}" ), requestHeaderValue, org.jdesktop.beansbinding.BeanProperty.create( "text" ) ); binding.setConverter( headerToStringConverter ); bindingGroup.addBinding( binding ); requestHeaderScrollPane.setViewportView( requestHeaderValue ); requestTabs.addTab( "Additional HTTP Request Headers", requestHeaderScrollPane ); requestResponseSplitPane.setTopComponent( requestTabs ); responseXmlScrollPane.setFoldIndicatorEnabled( true ); responseXmlValue.setColumns( 20 ); responseXmlValue.setRows( 5 ); responseXmlValue.setCodeFoldingEnabled( true ); responseXmlValue.setSyntaxEditingStyle( "text/xml" ); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, currentRequest, org.jdesktop.beansbinding.ELProperty.create( "${wsdlResponseContent}" ), responseXmlValue, org.jdesktop.beansbinding.BeanProperty.create( "text" ) ); bindingGroup.addBinding( binding ); responseXmlScrollPane.setViewportView( responseXmlValue ); responseTabs.addTab( "XML Response", responseXmlScrollPane ); responseHeaderValue.setEditable( false ); responseHeaderValue.setColumns( 20 ); responseHeaderValue.setRows( 5 ); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, currentRequest, org.jdesktop.beansbinding.ELProperty.create( "${wsdlResponse}" ), responseHeaderValue, org.jdesktop.beansbinding.BeanProperty.create( "text" ) ); binding.setConverter( wsdlResponseToHeaderStringConverter ); bindingGroup.addBinding( binding ); responseHeaderScrollPane.setViewportView( responseHeaderValue ); responseTabs.addTab( "HTTP Response Headers", responseHeaderScrollPane ); requestResponseSplitPane.setRightComponent( responseTabs ); sendButton.setText( "Send" ); sendButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed( java.awt.event.ActionEvent evt ) { sendButtonActionPerformed( evt ); } } ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout( this ); this.setLayout( layout ); layout.setHorizontalGroup( layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING ).addGroup( layout.createSequentialGroup().addContainerGap().addGroup( layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING ).addComponent( requestResponseSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE ).addGroup( layout.createSequentialGroup().addComponent( urlEndpointLabel ).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED ).addComponent( urlEndpointValue ) ).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addGap( 0, 0, Short.MAX_VALUE ).addComponent( sendButton ) ) ).addContainerGap() ) ); layout.setVerticalGroup( layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING ).addGroup( layout.createSequentialGroup().addContainerGap().addGroup( layout.createParallelGroup( javax.swing.GroupLayout.Alignment.BASELINE ).addComponent( urlEndpointLabel ).addComponent( urlEndpointValue, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE ) ).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED ).addComponent( requestResponseSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE ).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED ).addComponent( sendButton ) ) ); bindingGroup.bind(); }// </editor-fold>//GEN-END:initComponents private void sendButtonActionPerformed( java.awt.event.ActionEvent evt ) {// GEN-FIRST:event_sendButtonActionPerformed try { currentRequest.submitRequest(); } catch ( Request.SubmitException ex ) { Logger.getLogger( RequestResponseGUI_NB.class.getName() ).log( Level.SEVERE, null, ex ); } catch ( NullPointerException ex ) { Logger.getLogger( RequestResponseGUI_NB.class.getName() ).log( Level.SEVERE, null, ex ); } }// GEN-LAST:event_sendButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private wsattacker.main.testsuite.CurrentRequest currentRequest; private wsattacker.gui.component.testrequest.header.HeaderToStringConverter headerToStringConverter; private org.fife.ui.rtextarea.RTextScrollPane requestHeaderScrollPane; private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea requestHeaderValue; private javax.swing.JSplitPane requestResponseSplitPane; private javax.swing.JTabbedPane requestTabs; private org.fife.ui.rtextarea.RTextScrollPane requestXmlScrollPane; private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea requestXmlValue; private org.fife.ui.rtextarea.RTextScrollPane responseHeaderScrollPane; private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea responseHeaderValue; private javax.swing.JTabbedPane responseTabs; private org.fife.ui.rtextarea.RTextScrollPane responseXmlScrollPane; private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea responseXmlValue; private javax.swing.JButton sendButton; private javax.swing.JLabel urlEndpointLabel; private javax.swing.JTextField urlEndpointValue; private wsattacker.gui.component.testrequest.header.WsdlResponseToHeaderStringConverter wsdlResponseToHeaderStringConverter; private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables }