Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Delphi para la web
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Problema con xml en webservice

Bueno amigos soy nuevo en el tema de los webservices, encontre un tutorial para crearlo usando php en vez del servidor de windows, lo que me parecio conveniente porque se algo de php, y para no tener que instalar y configurar windows server en todas las maquinas de la empresa, pero bue ya fue.

El caso es que el xml me da el error:

Solo se admite un elemento de nivel superior en el xml

Aqui una cap:


No se bien donde esta el error.

Tengo un form con lo siguiente:

Código Delphi [-]
unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Soap.InvokeRegistry, Vcl.StdCtrls,
  Soap.Rio, Soap.SOAPHTTPClient;

type
  TForm2 = class(TForm)
    HTTPRIO1: THTTPRIO;
    Button1: TButton;
    EditId: TEdit;
    EditNombre: TEdit;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses listado;

procedure TForm2.Button1Click(Sender: TObject);
var
  arr:ArregloDeEstructuras;
  info:Estructura;
  l, i:Integer;
begin

  // Segun el rellenado llamamos a uno u otro
  if (editId.Text <> '') then begin
    arr := (HTTPRIO1 as Consulta_de_usuariosPortType).ConsultaUsuario(StrToInt(editId.text));
  end
  else begin
    arr := (HTTPRIO1 as Consulta_de_usuariosPortType).ConsultaUsuarios(editNombre.text);
  end;

  l := Length(arr);
  Memo1.Lines.Clear;

  for i := 0 to (l - 1) do begin
    info := arr[i];

    Memo1.Lines.Add('Id: ' + IntToStr(info.Id));
    Memo1.Lines.Add('Nombre: ' + info.Nombre);
    Memo1.Lines.Add('Apellidos: ' + info.Apellidos);
    Memo1.Lines.Add('Teléfono(ext): ' + info.Telefono + '-' + IntToStr(info.Extension));
    Memo1.Lines.Add('Departamento: ' + info.Departamento);
    Memo1.Lines.Add('Email: ' + info.EMail);
    Memo1.Lines.Add('----------------------------------');

  end;


end;

end.
En este archivo incluyo una unidad creada con wsdl importer la de listado.pas. La idea fue extraida de este tuto pero decidi hacer un tema:

http://neftali.clubdelphi.com/?p=3335

Saludos
Responder Con Cita
  #2  
Antiguo 07-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola.
Hay que decir que en los ejemplos que utilicé no todas las versiones de delphi me generaban correctamente los ficheros con el WSDL.
Podrías subir los ficheros que estás utilizando (en un ZIP) de esa forma si quieres podemos probarlos.

El PHP y el WSDL generado (además de PAS que ya has subido).

¿Con qué versión los estás generando?

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 07-04-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Archivos subidos

Hay te mando los 2 archivos, el de php y el generado a partir del wsdl.
Trabajo en Delphi XE2, sino me podrias decir cual de las opciones del tutorial podria utilizar?
Gracias por tu ayuda
Archivos Adjuntos
Tipo de Archivo: rar webservicegiulichajari.rar (3,2 KB, 10 visitas)

Última edición por giulichajari fecha: 07-04-2014 a las 15:29:08. Razón: falto adjuntar
Responder Con Cita
  #4  
Antiguo 08-04-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
De vuelta

Bueno ahora cambio la leyenda que aparece en el error:



Y el archivo php lo descargue de tu web, lo unico que cambie son nlos parametros del servidor y la bd. No quiero descargar delphi xe5 porque es muy pesado. Muchas gracias
Responder Con Cita
  #5  
Antiguo 12-04-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Solucionado

Hola de vuelta sobre todo a NEftali, la solucion la encontre en esta pagina:

http://stackoverflow.com/questions/1...type-in-nusoap

Comentando una linea ya logre que me devuelva los datos insertando el id
Responder Con Cita
  #6  
Antiguo 14-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
GRracias por el feedback.
Siento no haber podido echarle un vistazo antes.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 14-04-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
GRracias por el feedback.
Siento no haber podido echarle un vistazo antes.

Un saludo.
No hay problema Neftali, muy bueno el tuto. Ahora no sabes de algun tutorial o de que forma consumirlo a traves de la web, porque probe en otra maquina y no puedo, obviamente hay que tener una ip fija, abrir los puertos del servidor, pero ademas modificar la ruta del webservice en vez de localhost, poner la ip. en fin como se hace eso, porque en el tutorial tuyo no esta esa parte, gracias igual.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema al consumir webservice PHP desde Delphi7 apicito OOP 0 16-03-2010 10:37:43
Problema con un cliente de un webservice vejerf Internet 2 09-03-2009 10:27:30
Problema consumiendo un webservice azulin Internet 0 07-10-2008 14:59:56
WebService y D4 Nose Internet 1 02-08-2005 22:18:23
Problema al consumir un Webservice netcigos Varios 0 08-03-2004 15:09:30


La franja horaria es GMT +2. Ahora son las 18:54:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi