none
Webservice Vb.net + PHP RRS feed

  • Pregunta

  • Buenos dias. Lo que necesito es crear un Webservice que me lea una tabla de mi Base de datos y desde PHP Consumir el Webservice y poder utilizar los datos

    Gracias

    jueves, 7 de febrero de 2013 20:02

Respuestas

  • Primero el WebServices debe de estar así (en esta parte también se complico, ya que una cosa es que desde PHP puedes recibir un calor y otra es recibir varios valores)

            Dim connectionString As String = "Data Source=xxx.xxx.xxx.xxx;Initial Catalog=BD;User Id=USER;Password=PASS"
            Dim nwindConn As New SqlConnection(connectionString)
            Dim selectCMD As New SqlCommand("SELECT * FROM TABLA", nwindConn)
            selectCMD.CommandTimeout = 30
            Dim custDA As New SqlDataAdapter()
            custDA.SelectCommand = selectCMD
            nwindConn.Open()
            Dim custDS As New DataSet()
            custDA.Fill(custDS, "Customers")
            nwindConn.Close()
            Return custDS

    Con esto estamos cargando una serie de registros en un Data Set, ahora desde PHP lo mandamos llamar de la siquiente manera

    $ini = ini_set("soap.wsdl_cache_enabled","0"); // Es Importante tener habilitada esta libreria $client = new SoapClient("Ruta-Web-De-Donde-Tenemos-El-WebServices/Nombre-Web_services.asmx?WSDL", array('cache_wsdl' => WSDL_CACHE_NONE,'trace' => TRUE)); $param = array("SqlQuery" => ""); //Esta Linea se utiliza si requieres enviarle un parametro al Webservices $ready = $client->ConsultaSQL($param)->ConsultaSQLResult; $xml = simplexml_load_string($ready->any); ?> <div class="CSSTableGenerator" style="width:500px;"> <table> <tr> <td> Nombre </td> <td > Estado </td> </tr> <?php foreach( $xml->NewDataSet->Consulta as $NewDataSet) { echo "<tr><td>$NewDataSet->Nombre</td><td> //Imprimes el Valor del campo

    } } ?>


    Espero se entienda, estoy en el trabajo, y no tengo mucho tiempo

    Cualquier duda, quedo a sus ordenes

    Saludos

    • Marcado como respuesta jontiveros lunes, 15 de abril de 2013 20:08
    miércoles, 10 de abril de 2013 21:11

Todas las respuestas

  • Lo he logrado, si alguien necesita la ayuda con gusto
    sábado, 9 de febrero de 2013 20:54
  • Lo he logrado, si alguien necesita la ayuda con gusto
    Publicalo en el foro asi ayudas a los demas ;-)

    Danicuco - 2012

    jueves, 14 de febrero de 2013 18:49
  • Por favor compártelo por aquí o aun mejor si lo pudieras enviar a mi correo, oscar_zumaran@osmazum.com
    muchas gracias de antemano.
    miércoles, 10 de abril de 2013 18:59
  • Primero el WebServices debe de estar así (en esta parte también se complico, ya que una cosa es que desde PHP puedes recibir un calor y otra es recibir varios valores)

            Dim connectionString As String = "Data Source=xxx.xxx.xxx.xxx;Initial Catalog=BD;User Id=USER;Password=PASS"
            Dim nwindConn As New SqlConnection(connectionString)
            Dim selectCMD As New SqlCommand("SELECT * FROM TABLA", nwindConn)
            selectCMD.CommandTimeout = 30
            Dim custDA As New SqlDataAdapter()
            custDA.SelectCommand = selectCMD
            nwindConn.Open()
            Dim custDS As New DataSet()
            custDA.Fill(custDS, "Customers")
            nwindConn.Close()
            Return custDS

    Con esto estamos cargando una serie de registros en un Data Set, ahora desde PHP lo mandamos llamar de la siquiente manera

    $ini = ini_set("soap.wsdl_cache_enabled","0"); // Es Importante tener habilitada esta libreria $client = new SoapClient("Ruta-Web-De-Donde-Tenemos-El-WebServices/Nombre-Web_services.asmx?WSDL", array('cache_wsdl' => WSDL_CACHE_NONE,'trace' => TRUE)); $param = array("SqlQuery" => ""); //Esta Linea se utiliza si requieres enviarle un parametro al Webservices $ready = $client->ConsultaSQL($param)->ConsultaSQLResult; $xml = simplexml_load_string($ready->any); ?> <div class="CSSTableGenerator" style="width:500px;"> <table> <tr> <td> Nombre </td> <td > Estado </td> </tr> <?php foreach( $xml->NewDataSet->Consulta as $NewDataSet) { echo "<tr><td>$NewDataSet->Nombre</td><td> //Imprimes el Valor del campo

    } } ?>


    Espero se entienda, estoy en el trabajo, y no tengo mucho tiempo

    Cualquier duda, quedo a sus ordenes

    Saludos

    • Marcado como respuesta jontiveros lunes, 15 de abril de 2013 20:08
    miércoles, 10 de abril de 2013 21:11
  • Buenos Dias

    Jontiveros, hace ratos esta este foro, pero si me puedes colaborar con la publicacion que hiciste te agradezco, necesito hacer lo mismo que esta expuesto en el foro, pero no me funciona.

    Codigo del Web Service.

    <WebMethod()> Public Function ExecuteQuerySelect(ByVal aStr As String) As DataSet
            Try
                Dim ds As DataSet = New DataSet
                Dim Comando As System.Data.OracleClient.OracleCommand = Conexion.CreateCommand
                Conexion.Open()
                Dim Adaptador As New System.Data.OracleClient.OracleDataAdapter(aStr, Conexion)
                Adaptador.Fill(ds)
                Conexion.Close()
                Return ds
            Catch ex As Exception
                Conexion.Close()

            End Try
        End Function

    Codigo en PHP.

    $this->$client->//esta definido en el constructor.

     $ini = ini_set("soap.wsdl_cache_enabled","0");
            $string="SELECT id_carga FROM sgd_cargas_pda WHERE id_pda='".$this->_pda."' AND estado_carga='P' ORDER by id_carga";
            $param=array('aStr'=> $string);
            $respuesta=$this->$client->call('ExecuteQuerySelect',$param);
            $xml = simplexml_load_string($respuesta->any);
            foreach( $xml->NewDataSet->Consulta as $NewDataSet) {
                       echo $NewDataSet->id_carga;
                       return $NewDataSet->id_carga;

              }  

    martes, 18 de noviembre de 2014 12:50
  • Hola Mafe, que error tienes ???
    martes, 18 de noviembre de 2014 20:05
  • amigo yo ando en un caso algo similar, necesito capturar el xml de un servicio web php n un cliente c#, agradeceria un poco de ayuda, gracias
    jueves, 11 de julio de 2019 17:45