WebServices verwendet man normalerweise nur, wenn die Client's von irgendwo über das WWW ihre Verbindung aufbauen müssen. Ein Umweg denn ich für den Einsatz im Intranet auf jeden Fall vermeiden würde.

Man kann auch SQL StoredProcedures und RPG-Programme kombinieren und z.B. eine ganze Datei an das .NET zurückzugeben.

Beispiel:

Aufgrund von Parameter1 soll das RPG-Programm (ALTESRPG) die Ausgabedatei QTEMP/OUTPUT erstellen.

PHP-Code:
CREATE PROCEDURE LIB/ALTESPGM (IN PARAM1 CHAR(10))
     
LANGUAGE SQL
     NOT DETERMINISTIC
     READS SQL DATA 
     DYNAMIC RESULT SETS 1
 BEGIN 
     
DECLARE c1 CURSOR WITH RETURN FOR 
            
SELECT 
               
FROM QTEMP/OUTPUT;
     
     
CALL LIB/ALTESRPG (PARAM1);
     
OPEN c1;
 
END 
statt einem SELECT verwendet man CALL in der DB-Verbindung:

cm_SQL.CommandText = "{CALL LIB.ALTESPGM(?)}"
..
Wie bei einem Select erhält man ein auch in diesem Fall ein RecordSet mit den Sätzen der ALTESRPG-Ausgabe.

Das ist nicht nur weniger Aufwand, wie der Umweg WebServices, sondern auch wesentlich performanter.

Robert P.