Aqui les coloco el contenido del ejemplo del que les hablaba
http://forums.4d.fr/Post/SP/142509/1/149513
Ejemplo de como acceder a servicios WEB de 4D desde PHP
Como acceder a servicios Web desde PHP sobre Mac OS 10.3 :
Este ejemplo va orientado a como publicar un servicio web de 4D e
invocarlo desde PHP.
El siguiente codigo es codigo PHP de alli que se encuetre entre los
tags
que definen codigo PHP
<?php
// Instrucciones:
//
// 1. Descargar la ultima version de PHP y ponerla operativa bajo mac
OSX
// para mas informacion de como instalar PHP en Mac OS X se debe ir a
// la página web
www.php.org
//
// 2. Configurar y arrancar el servidor Web de 4D en el puerto 8081
// (o en el que se quiera)
//
// 3. Configure el servidor 4D (preferencias->Web->Web Services) para
// que acepte solicitudes de servicios Web, asigne un nombre al
// servicio Web (en nuestro ejemplo usamos
// 'LMLA_WebService' como nombre del servicio Web), Asigne un
// NameSpace (en el ejemplo usamos
// '
www.lablasamericas.com.co/namespace/default')
//
// 4. Descargar la ultima version de NuSOAP, descomprimirla e
instalarla
// en la carpeta 'DocumentRoot' generalmente es
// "/Library/WebServer/Documents"
// aunque puede cambiarla editando el archivo '/etc/httpd/httpd.conf'.
// Puede descargar el NuSOAP desde
//
http://dietrich.ganx4.com/download.php?url=/nusoap/
//
// 5. Cree un método en 4D y publiquelo como servicio web
// (propiedades del metodo->publicar como servicio Web
// El siguiente metodo (abajo) fue publicado como servicio Web y es el
// que se invoca en este
// ejemplo: (obviamente deben estar creada la tabla 'consecutivos')
//
// Listo!!
// Ejecute el script index.php usando el servidor web
// (apache en nuestro ejemplo, preinstalado en mac os x)
// lanzando IE o SAFARI, introduzca la URL '
http://localhost/
index.php'
/*************************************************
[code]
`
------------------------------------------------------------------------------
`
` Metodo: wNumeroOrden
`
` Descripcion: Permite buscar el siguiente consecutivo de una tabla
dado su
` Codigo
`
` Parametros: $1: Codigo del consecutivo
`
`
------------------------------------------------------------------------------
` Historia de Modificaciones:
`
` Fecha y Autor: Jaime Alvarez, Marzo 11 del 2004
`
------------------------------------------------------------------------------
C_STRING(20;$1) ` Codigo del consecutivo a buscar
C_LONGINT($0) ` Siguiente consecutivo
QUERY([Consecutivos];[Consecutivos]Id=$1)
If (Records in selection([Consecutivos])>0)
$0:=[Consecutivos]linData
Else
$0:=-1
End if
` .... resto del metodo
[/code]
****************************************************/
//
// Ahora cree el siguiente archivo con las instrucciones php listadas
a
// continuacion y guardela en la carpeta 'DocumentRoot' definida en la
// configuracion de APACHE con el nombre de index.php
//
// incluir las clases SOAP
require_once('nusoap.php');
// Definir un arreglo de parametros. En este ejemplo buscaremos el
// siguiente consecutivo para 'factura'.
$param = array('FourD_arg1'=>'factura');
// Definir el path del servidor Web, en este ejemplo la IP donde se
ejecuta
// 4D Server es 131.1.18.17 y se activo el puerto 8081 con el servidor
// web.
$serverpath ='
http://131.1.18.17:8081/4DSOAP';
//define method namespace
$namespace="
http://www.lablasamericas.com.co/namespace/default";
// Crear un nuevo cliente SOAP
$client = new soapclient($serverpath);
// Incocar el metodo 4D
$nextConse = $client->call('wNroOrden',$param,$namespace);
// Si ocurre un error informarlo en el explorador
if (isset($fault)) {
print "Error: ". $fault;
}
else if ($nextConse == -1) {
print "El consecutivo no existe en la DB.";
} else {
// De otra manera muestre el resultado
print "El siguiente consecutivo es: ". $nextConse;
}
// Destruir el objeto creado
unset($client);
//
// Si desea, desde 4D ejecute el Web Services Wizard con el siguiente
URL
//
http://131.1.18.17:8081/4DWSDL
//
// lo anterior de dara los servicios WEB publicados, podra ver la
// documentacion del metodo y cambiar los nombres de los parametros.
//
?>ZERO