Package com.eviware.soapui.impl.wsdl

Source Code of com.eviware.soapui.impl.wsdl.WsdlRequest$InternalInterfaceListener

/*
*  soapUI, copyright (C) 2004-2011 eviware.com
*
*  soapUI is free software; you can redistribute it and/or modify it under the
*  terms of version 2.1 of the GNU Lesser General Public License as published by
*  the Free Software Foundation.
*
*  soapUI 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 Lesser General Public License for more details at gnu.org.
*/

package com.eviware.soapui.impl.wsdl;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.log4j.Logger;

import com.eviware.soapui.SoapUI;
import com.eviware.soapui.config.CredentialsConfig;
import com.eviware.soapui.config.WsaVersionTypeConfig;
import com.eviware.soapui.config.WsdlRequestConfig;
import com.eviware.soapui.config.WsrmVersionTypeConfig;
import com.eviware.soapui.impl.rest.RestRequestInterface;
import com.eviware.soapui.impl.support.AbstractHttpRequest;
import com.eviware.soapui.impl.wsdl.submit.RequestTransportRegistry;
import com.eviware.soapui.impl.wsdl.submit.transports.http.WsdlResponse;
import com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.AttachmentUtils;
import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSHeader;
import com.eviware.soapui.impl.wsdl.support.jms.header.JMSHeaderConfig;
import com.eviware.soapui.impl.wsdl.support.jms.property.JMSPropertiesConfig;
import com.eviware.soapui.impl.wsdl.support.wsa.WsaConfig;
import com.eviware.soapui.impl.wsdl.support.wsa.WsaContainer;
import com.eviware.soapui.impl.wsdl.support.wsrm.WsrmConfig;
import com.eviware.soapui.impl.wsdl.support.wsrm.WsrmContainer;
import com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStep;
import com.eviware.soapui.model.ModelItem;
import com.eviware.soapui.model.iface.Attachment.AttachmentEncoding;
import com.eviware.soapui.model.iface.Interface;
import com.eviware.soapui.model.iface.MessagePart;
import com.eviware.soapui.model.iface.SubmitContext;
import com.eviware.soapui.model.propertyexpansion.PropertyExpander;
import com.eviware.soapui.model.propertyexpansion.PropertyExpansion;
import com.eviware.soapui.model.propertyexpansion.PropertyExpansionContainer;
import com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils;
import com.eviware.soapui.model.propertyexpansion.PropertyExpansionsResult;
import com.eviware.soapui.model.support.InterfaceListenerAdapter;
import com.eviware.soapui.settings.WsdlSettings;
import com.eviware.soapui.support.StringUtils;
import com.eviware.soapui.support.UISupport;
import com.eviware.soapui.support.types.StringToStringsMap;

/**
* Request implementation holding a SOAP request
*
* @author Ole.Matzura
*/

public class WsdlRequest extends AbstractHttpRequest<WsdlRequestConfig> implements WsdlAttachmentContainer,
    PropertyExpansionContainer, WsaContainer, WsrmContainer, PropertyChangeListener
{
  public final static Logger log = Logger.getLogger( WsdlRequest.class );

  public static final String RESPONSE_CONTENT_PROPERTY = WsdlRequest.class.getName() + "@response-content";
  public static final String INLINE_RESPONSE_ATTACHMENTS = WsdlRequest.class.getName()
      + "@inline-response-attachments";
  public static final String EXPAND_MTOM_RESPONSE_ATTACHMENTS = WsdlRequest.class.getName()
      + "@expand-mtom-attachments";
  public static final String FORCE_MTOM = WsdlRequest.class.getName() + "@force_mtom";
  public static final String ENABLE_INLINE_FILES = WsdlRequest.class.getName() + "@enable_inline_files";
  public static final String SKIP_SOAP_ACTION = WsdlRequest.class.getName() + "@skip_soap_action";
  public static final String ENCODE_ATTACHMENTS = WsdlRequest.class.getName() + "@encode_attachments";
  public static final String WSS_TIMETOLIVE = WsdlRequest.class.getName() + "@wss-time-to-live";
  public static final String OPERATION_PROPERTY = WsdlRequest.class.getName() + "@operation";
  public static final String INCOMING_WSS = WsdlRequest.class.getName() + "@incoming-wss";
  public static final String OUGOING_WSS = WsdlRequest.class.getName() + "@outgoing-wss";

  public final static String PW_TYPE_NONE = "None";
  public final static String PW_TYPE_DIGEST = "PasswordDigest";
  public final static String PW_TYPE_TEXT = "PasswordText";

  private WsdlOperation operation;
  private List<HttpAttachmentPart> definedAttachmentParts;
  private InternalInterfaceListener interfaceListener = new InternalInterfaceListener();

  private WsaConfig wsaConfig;
  private WsrmConfig wsrmConfig;

  public WsdlRequest( WsdlOperation operation, WsdlRequestConfig callConfig )
  {
    this( operation, callConfig, false );
  }

  public WsdlRequest( WsdlOperation operation, WsdlRequestConfig callConfig, boolean forLoadTest )
  {
    super( callConfig, operation, null, forLoadTest );

    this.operation = operation;

    initEndpoints();

    // ensure encoding
    if( callConfig.getEncoding() == null || callConfig.getEncoding().length() == 0 )
    {
      callConfig.setEncoding( "UTF-8" );
    }

    if( !forLoadTest )
    {
      operation.getInterface().addPropertyChangeListener( interfaceListener );
      operation.getInterface().addInterfaceListener( interfaceListener );
    }
  }

  public void updateConfig( WsdlRequestConfig request )
  {
    setConfig( request );

    if( wsaConfig != null )
    {
      wsaConfig.setConfig( request.getWsaConfig() );
    }

    if( wsrmConfig != null )
    {
      wsrmConfig.setWsrmConfig( request.getWsrmConfig() );
    }

    if( jmsHeaderConfig != null )
    {
      jmsHeaderConfig.setJMSHeaderConfConfig( request.getJmsConfig() );
    }

    if( jmsPropertyConfig != null )
    {
      jmsPropertyConfig.setJmsPropertyConfConfig( request.getJmsPropertyConfig() );
    }
  }

  protected void initEndpoints()
  {
    if( getEndpoint() == null )
    {
      String[] endpoints = operation.getInterface().getEndpoints();
      if( endpoints.length > 0 )
      {
        setEndpoint( endpoints[0] );
      }
    }
  }

  public boolean isInlineResponseAttachments()
  {
    return getSettings().getBoolean( INLINE_RESPONSE_ATTACHMENTS );
  }

  public void setInlineResponseAttachments( boolean inlineResponseAttachments )
  {
    boolean old = getSettings().getBoolean( INLINE_RESPONSE_ATTACHMENTS );
    getSettings().setBoolean( INLINE_RESPONSE_ATTACHMENTS, inlineResponseAttachments );
    notifyPropertyChanged( INLINE_RESPONSE_ATTACHMENTS, old, inlineResponseAttachments );
  }

  public boolean isExpandMtomResponseAttachments()
  {
    return getSettings().getBoolean( EXPAND_MTOM_RESPONSE_ATTACHMENTS );
  }

  public void setExpandMtomResponseAttachments( boolean expandMtomResponseAttachments )
  {
    boolean old = getSettings().getBoolean( EXPAND_MTOM_RESPONSE_ATTACHMENTS );
    getSettings().setBoolean( EXPAND_MTOM_RESPONSE_ATTACHMENTS, expandMtomResponseAttachments );
    notifyPropertyChanged( EXPAND_MTOM_RESPONSE_ATTACHMENTS, old, expandMtomResponseAttachments );
  }

  /**
   * Use getResponse().getContentAsString();
   *
   * @deprecated
   */

  @Deprecated
  public String getResponseContent()
  {
    return getResponse() == null ? null : getResponse().getContentAsString();
  }

  public WsdlResponse getResponse()
  {
    return ( WsdlResponse )super.getResponse();
  }

  public WsdlOperation getOperation()
  {
    return operation;
  }

  public void setOperation( WsdlOperation wsdlOperation )
  {
    WsdlOperation oldOperation = operation;
    this.operation = wsdlOperation;

    definedAttachmentParts = null;
    notifyPropertyChanged( OPERATION_PROPERTY, oldOperation, operation );
  }

  public void setRequestContent( String request )
  {
    definedAttachmentParts = null;
    super.setRequestContent( request );
  }

  // public void setResponse( WsdlResponse response, SubmitContext context )
  // {
  // WsdlResponse oldResponse = getResponse();
  // this.response = response;
  //
  // notifyPropertyChanged( RESPONSE_PROPERTY, oldResponse, response );
  // }

  public WsdlSubmit<WsdlRequest> submit( SubmitContext submitContext, boolean async ) throws SubmitException
  {
    String endpoint = PropertyExpander.expandProperties( submitContext, getEndpoint() );
    if( endpoint == null || endpoint.trim().length() == 0 )
    {
      UISupport.showErrorMessage( "Missing endpoint for request [" + getName() + "]" );
      return null;
    }

    try
    {
      WsdlSubmit<WsdlRequest> submitter = new WsdlSubmit<WsdlRequest>( this, getSubmitListeners(),
          RequestTransportRegistry.getTransport( endpoint, submitContext ) );
      submitter.submitRequest( submitContext, async );
      return submitter;
    }
    catch( Exception e )
    {
      throw new SubmitException( e.toString() );
    }
  }

  private class InternalInterfaceListener extends InterfaceListenerAdapter implements PropertyChangeListener
  {
    public void propertyChange( PropertyChangeEvent evt )
    {
      if( evt.getPropertyName().equals( Interface.ENDPOINT_PROPERTY ) )
      {
        String endpoint = getEndpoint();
        if( evt.getOldValue() != null && evt.getOldValue().equals( endpoint ) )
        {
          setEndpoint( ( String )evt.getNewValue() );
        }
      }
    }
  }

  public String getWssPasswordType()
  {
    String wssPasswordType = getConfig().getWssPasswordType();
    return StringUtils.isNullOrEmpty( wssPasswordType ) || PW_TYPE_NONE.equals( wssPasswordType ) ? null
        : wssPasswordType;
  }

  public void setWssPasswordType( String wssPasswordType )
  {
    if( wssPasswordType == null || wssPasswordType.equals( PW_TYPE_NONE ) )
    {
      if( getConfig().isSetWssPasswordType() )
        getConfig().unsetWssPasswordType();
    }
    else
    {
      getConfig().setWssPasswordType( wssPasswordType );
    }
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * com.eviware.soapui.impl.wsdl.AttachmentContainer#getDefinedAttachmentParts
   * ()
   */

  public synchronized HttpAttachmentPart[] getDefinedAttachmentParts()
  {
    if( definedAttachmentParts == null )
    {
      try
      {
        UISupport.setHourglassCursor();
        definedAttachmentParts = AttachmentUtils.extractAttachmentParts( operation, getRequestContent(), true,
            false, isMtomEnabled() );
      }
      catch( Exception e )
      {
        log.warn( e.toString() );
        definedAttachmentParts = new ArrayList<HttpAttachmentPart>();
      }
      finally
      {
        UISupport.resetCursor();
      }
    }

    return definedAttachmentParts.toArray( new HttpAttachmentPart[definedAttachmentParts.size()] );
  }

  public RestRequestInterface.RequestMethod getMethod()
  {
    return RestRequestInterface.RequestMethod.POST;
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * com.eviware.soapui.impl.wsdl.AttachmentContainer#getAttachmentPart(java
   * .lang.String)
   */
  public HttpAttachmentPart getAttachmentPart( String partName )
  {
    HttpAttachmentPart[] parts = getDefinedAttachmentParts();
    for( HttpAttachmentPart part : parts )
    {
      if( part.getName().equals( partName ) )
        return part;
    }

    return null;
  }

  public void copyTo( WsdlRequest newRequest, boolean copyAttachments, boolean copyHeaders )
  {
    newRequest.setEncoding( getEncoding() );
    newRequest.setEndpoint( getEndpoint() );
    newRequest.setRequestContent( getRequestContent() );
    newRequest.setWssPasswordType( getWssPasswordType() );

    CredentialsConfig credentials = getConfig().getCredentials();
    if( credentials != null )
      newRequest.getConfig().setCredentials( ( CredentialsConfig )credentials.copy() );

    if( copyAttachments )
      copyAttachmentsTo( newRequest );

    if( copyHeaders )
      newRequest.setRequestHeaders( getRequestHeaders() );

    // ((DefaultWssContainer)newRequest.getWssContainer()).updateConfig( (
    // WSSConfigConfig ) getConfig().getWssConfig().copy() );
  }

  /*
   * (non-Javadoc)
   *
   * @see com.eviware.soapui.impl.wsdl.AttachmentContainer#isMtomEnabled()
   */
  public boolean isMtomEnabled()
  {
    return getSettings().getBoolean( WsdlSettings.ENABLE_MTOM );
  }

  public void setMtomEnabled( boolean mtomEnabled )
  {
    getSettings().setBoolean( WsdlSettings.ENABLE_MTOM, mtomEnabled );
    definedAttachmentParts = null;
  }

  public boolean isInlineFilesEnabled()
  {
    return getSettings().getBoolean( WsdlRequest.ENABLE_INLINE_FILES );
  }

  public void setInlineFilesEnabled( boolean inlineFilesEnabled )
  {
    getSettings().setBoolean( WsdlRequest.ENABLE_INLINE_FILES, inlineFilesEnabled );
  }

  public boolean isSkipSoapAction()
  {
    return getSettings().getBoolean( WsdlRequest.SKIP_SOAP_ACTION );
  }

  public void setSkipSoapAction( boolean skipSoapAction )
  {
    getSettings().setBoolean( WsdlRequest.SKIP_SOAP_ACTION, skipSoapAction );
  }

  @Override
  public void release()
  {
    super.release();

    getOperation().getInterface().removeInterfaceListener( interfaceListener );
    getOperation().getInterface().removePropertyChangeListener( interfaceListener );
  }

  public MessagePart[] getRequestParts()
  {
    try
    {
      List<MessagePart> result = new ArrayList<MessagePart>();
      result.addAll( Arrays.asList( getOperation().getDefaultRequestParts() ) );
      result.addAll( Arrays.asList( getDefinedAttachmentParts() ) );

      return result.toArray( new MessagePart[result.size()] );
    }
    catch( Exception e )
    {
      SoapUI.logError( e );
      return new MessagePart[0];
    }
  }

  public MessagePart[] getResponseParts()
  {
    try
    {
      List<MessagePart> result = new ArrayList<MessagePart>();
      result.addAll( Arrays.asList( getOperation().getDefaultResponseParts() ) );

      if( getResponse() != null )
        result.addAll( AttachmentUtils.extractAttachmentParts( getOperation(), getResponse().getContentAsString(),
            true, true, isMtomEnabled() ) );

      return result.toArray( new MessagePart[result.size()] );
    }
    catch( Exception e )
    {
      SoapUI.logError( e );
      return new MessagePart[0];
    }
  }

  public String getWssTimeToLive()
  {
    return getSettings().getString( WSS_TIMETOLIVE, null );
  }

  public void setWssTimeToLive( String ttl )
  {
    getSettings().setString( WSS_TIMETOLIVE, ttl );
  }

  public long getContentLength()
  {
    return getRequestContent().length();
  }

  public boolean isForceMtom()
  {
    return getSettings().getBoolean( FORCE_MTOM );
  }

  public void setForceMtom( boolean forceMtom )
  {
    boolean old = getSettings().getBoolean( FORCE_MTOM );
    getSettings().setBoolean( FORCE_MTOM, forceMtom );
    notifyPropertyChanged( FORCE_MTOM, old, forceMtom );
  }

  public boolean isEncodeAttachments()
  {
    return getSettings().getBoolean( ENCODE_ATTACHMENTS );
  }

  public void setEncodeAttachments( boolean encodeAttachments )
  {
    boolean old = getSettings().getBoolean( ENCODE_ATTACHMENTS );
    getSettings().setBoolean( ENCODE_ATTACHMENTS, encodeAttachments );
    notifyPropertyChanged( ENCODE_ATTACHMENTS, old, encodeAttachments );
  }

  public String getIncomingWss()
  {
    return getConfig().getIncomingWss();
  }

  public void setIncomingWss( String incomingWss )
  {
    String old = getIncomingWss();
    getConfig().setIncomingWss( incomingWss );
    notifyPropertyChanged( INCOMING_WSS, old, incomingWss );
  }

  public String getOutgoingWss()
  {
    return getConfig().getOutgoingWss();
  }

  public void setOutgoingWss( String outgoingWss )
  {
    String old = getOutgoingWss();
    getConfig().setOutgoingWss( outgoingWss );
    notifyPropertyChanged( OUGOING_WSS, old, outgoingWss );
  }

  public boolean isWsAddressing()
  {
    return getConfig().getUseWsAddressing();
  }

  public void setWsAddressing( boolean wsAddressing )
  {
    boolean old = getConfig().getUseWsAddressing();
    getConfig().setUseWsAddressing( wsAddressing );
    notifyPropertyChanged( "wsAddressing", old, wsAddressing );
  }

  public PropertyExpansion[] getPropertyExpansions()
  {
    PropertyExpansionsResult result = new PropertyExpansionsResult( this, this );
    result.addAll( super.getPropertyExpansions() );

    StringToStringsMap requestHeaders = getRequestHeaders();
    for( String key : requestHeaders.keySet() )
    {
      for( String value : requestHeaders.get( key ) )
        result.addAll( PropertyExpansionUtils.extractPropertyExpansions( this,
            new HttpTestRequestStep.RequestHeaderHolder( key, value, this ), "value" ) );
    }
    addWsaPropertyExpansions( result, getWsaConfig(), this );
    addJMSHeaderExpansions( result, getJMSHeaderConfig(), this );
    return result.toArray();
  }

  public void addWsaPropertyExpansions( PropertyExpansionsResult result, WsaConfig wsaConfig, ModelItem modelItem )
  {
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "action" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "from" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "to" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "replyTo" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "replyToRefParams" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "faultTo" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "faultToRefParams" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "relatesTo" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "relationshipType" ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, wsaConfig, "messageID" ) );
  }

  public void addJMSHeaderExpansions( PropertyExpansionsResult result, JMSHeaderConfig jmsHeaderConfig,
      ModelItem modelItem )
  {
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig,
        JMSHeader.JMSCORRELATIONID ) );
    result.addAll( PropertyExpansionUtils
        .extractPropertyExpansions( modelItem, jmsHeaderConfig, JMSHeader.JMSREPLYTO ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig, JMSHeader.JMSTYPE ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig,
        JMSHeader.JMSPRIORITY ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig,
        JMSHeader.DURABLE_SUBSCRIPTION_NAME ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig, JMSHeader.CLIENT_ID ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig,
        JMSHeader.SEND_AS_BYTESMESSAGE ) );
    result.addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, jmsHeaderConfig,
        JMSHeader.SOAP_ACTION_ADD ) );
  }

  public AttachmentEncoding getAttachmentEncoding( String partName )
  {
    HttpAttachmentPart attachmentPart = getAttachmentPart( partName );
    if( attachmentPart == null )
      return AttachmentUtils.getAttachmentEncoding( getOperation(), partName, false );
    else
      return AttachmentUtils.getAttachmentEncoding( getOperation(), attachmentPart, false );
  }

  public WsaConfig getWsaConfig()
  {
    if( wsaConfig == null )
    {
      if( !getConfig().isSetWsaConfig() )
      {
        getConfig().addNewWsaConfig();
      }
      wsaConfig = new WsaConfig( getConfig().getWsaConfig(), this );
    }
    return wsaConfig;
  }

  public ModelItem getModelItem()
  {
    return this;
  }

  public boolean isWsaEnabled()
  {
    return isWsAddressing();
  }

  public void setWsaEnabled( boolean arg0 )
  {
    setWsAddressing( arg0 );
  }

  public boolean isWsReliableMessaging()
  {
    return getConfig().getUseWsReliableMessaging();
  }

  public void setWsReliableMessaging( boolean wsReliableMessaging )
  {
    boolean old = getConfig().getUseWsReliableMessaging();
    getConfig().setUseWsReliableMessaging( wsReliableMessaging );
    notifyPropertyChanged( "wsReliableMessaging", old, wsReliableMessaging );
  }

  public WsrmConfig getWsrmConfig()
  {
    if( wsrmConfig == null )
    {
      if( !getConfig().isSetWsrmConfig() )
      {
        getConfig().addNewWsrmConfig();
      }
      wsrmConfig = new WsrmConfig( getConfig().getWsrmConfig(), this );
      wsrmConfig.addPropertyChangeListener( "version", this );
    }
    return wsrmConfig;
  }

  public boolean isWsrmEnabled()
  {
    return isWsReliableMessaging();
  }

  public void setWsrmEnabled( boolean arg0 )
  {
    setWsReliableMessaging( arg0 );
  }

  public String getResponseContentAsXml()
  {
    return getResponse() == null ? null : getResponse().getContentAsString();
  }

  private JMSHeaderConfig jmsHeaderConfig;
  private JMSPropertiesConfig jmsPropertyConfig;

  public JMSHeaderConfig getJMSHeaderConfig()
  {
    if( jmsHeaderConfig == null )
    {
      if( !getConfig().isSetJmsConfig() )
      {
        getConfig().addNewJmsConfig();
      }
      jmsHeaderConfig = new JMSHeaderConfig( getConfig().getJmsConfig(), this );
    }
    return jmsHeaderConfig;
  }

  public JMSPropertiesConfig getJMSPropertiesConfig()
  {
    if( jmsPropertyConfig == null )
    {
      if( !getConfig().isSetJmsPropertyConfig() )
      {
        getConfig().addNewJmsPropertyConfig();
      }
      jmsPropertyConfig = new JMSPropertiesConfig( getConfig().getJmsPropertyConfig(), this );
    }
    return jmsPropertyConfig;
  }

  public String getAction()
  {
    if( isWsaEnabled() && StringUtils.hasContent( getWsaConfig().getAction() ) )
    {
      return getWsaConfig().getAction();
    }

    return getOperation().getAction();
  }

  @Override
  public void propertyChange( PropertyChangeEvent evt )
  {
    if( evt.getSource() == wsrmConfig && evt.getPropertyName().equals( "version" ) )
    {
      if( evt.getNewValue().equals( WsrmVersionTypeConfig.X_1_0.toString() ) )
      {
        getWsaConfig().setVersion( WsaVersionTypeConfig.X_200408.toString() );
      }
    }
  }
}
TOP

Related Classes of com.eviware.soapui.impl.wsdl.WsdlRequest$InternalInterfaceListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.