Hola, amigos.
Sólo quería hacer un comentario. Tengan cuidado al planificar qué es lo que quieren hacer con Web Services. Por sus características de latencia, desconexión, etc, y porque en VFP sólo podemos utilizar esta tecnología sobre HTTP, no les recomiendo exponer servicios que sean de grano muy fino, como una capa de datos.
La recomendación es tratar de manejar servicios lo más grandes posibles, del estilo: CrearCuenta( DatosXml ), AgregarPedido( DatosXml ), etc. Los que evitaría son los del tipo Insertar, Modificar, Leer, etc, como operaciones indivduales. La idea es minimizar la cantidad de idas y vueltas al servidor.
Ejemplo: en lugar de tener que hacer:
if WebService.ExistePedido( toPedido.nNumero )
WebService.ActualizarPedido( toPedido.nNumero )
for each oItem in toPedido.colDetalle
WebService.ActualizarItems( toPedido.nNumero, oItem.nOrden, oItem.cProducto, oItem.nPrecio, oItem.nCantidad )
next
else
endif
lo correcto sería armar un XML con el pedido completo (cabecera y detalle; usando XmlAdapter, por ejemplo) y llamar sólo una vez a:
WebService.EnviarPedido( tcXmlPedido )
donde es el servicio el que verificará (del lado del servidor) si el pedido existe o no, realizando la inserción o actualización, la recorrida item por item, etc.
Espero que les sea útil el consejo.
Saludos,