// Path: code/api/src/main/java/ar/edu/itba/tpf/chatterbot/business/InfoProvider.java
// @WebService
// public interface InfoProvider {
//     
//     @WebMethod
//     public void provide(@WebParam String s, @WebParam(mode=Mode.INOUT) Holder<ArrayList<String>> keys, @WebParam(mode=Mode.INOUT) Holder<ArrayList<String>> values);
// }


import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.xml.ws.Holder;
import org.apache.log4j.Logger;
import org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean;
import ar.edu.itba.tpf.chatterbot.business.InfoProvider;
package ar.edu.itba.tpf.chatterbot.model;





/**
 * Implementación de <code>BaseAction</code> para Webservices. un Webservice que desee ser utilizado como acción por
 * el chatterbot debe implementar la interfaz <code>InfoProvider</code>. Cuando se obtiene una instancia de esta case
 * se genera el port (proxy) para comunicarse con el Webservice.
 */
@Entity
public class WebServiceAction extends BaseAction {

    private static final long serialVersionUID = 1L;

    private static final Logger logger = Logger.getLogger(WebServiceAction.class);
    
    /* NamespaceUri que se va a colocar en el SoapEnvelope */
    private static final String NAMESPACE_URI = "http://business.chatterbot.tpf.itba.edu.ar/";

    /* URL del Webservice descriptor */
    private String wsdlUrl;

    /* Nombre del servicio que se queire acceder */
    private String serviceName;

    /* Método que se quiere consumir (requerido por <code>InfoProvider</code>) */
    private String methodNane;

    @Transient
// Path: code/api/src/main/java/ar/edu/itba/tpf/chatterbot/business/InfoProvider.java
// @WebService
// public interface InfoProvider {
//     
//     @WebMethod
//     public void provide(@WebParam String s, @WebParam(mode=Mode.INOUT) Holder<ArrayList<String>> keys, @WebParam(mode=Mode.INOUT) Holder<ArrayList<String>> values);
// }


// Path: code/api/src/main/java/ar/edu/itba/tpf/chatterbot/model/WebServiceAction.java
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.xml.ws.Holder;
import org.apache.log4j.Logger;
import org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean;
import ar.edu.itba.tpf.chatterbot.business.InfoProvider;

package ar.edu.itba.tpf.chatterbot.model;





/**
 * Implementación de <code>BaseAction</code> para Webservices. un Webservice que desee ser utilizado como acción por
 * el chatterbot debe implementar la interfaz <code>InfoProvider</code>. Cuando se obtiene una instancia de esta case
 * se genera el port (proxy) para comunicarse con el Webservice.
 */
@Entity
public class WebServiceAction extends BaseAction {

    private static final long serialVersionUID = 1L;

    private static final Logger logger = Logger.getLogger(WebServiceAction.class);
    
    /* NamespaceUri que se va a colocar en el SoapEnvelope */
    private static final String NAMESPACE_URI = "http://business.chatterbot.tpf.itba.edu.ar/";

    /* URL del Webservice descriptor */
    private String wsdlUrl;

    /* Nombre del servicio que se queire acceder */
    private String serviceName;

    /* Método que se quiere consumir (requerido por <code>InfoProvider</code>) */
    private String methodNane;

    @Transient
    private InfoProvider provider;