/**
* 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
}