ONYX - 9.0 - Utilisation - Web services

Différence entre versions

De MappingDoc
(Installation du service web)
 
(57 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 4 : Ligne 4 :
 
Le web service permet de bénéficier des commandes mapping dans votre propre application. Ainsi, plus besoin de se connecter sur l’interface web de Mapping mais directement dans votre application qu’elle soit javascript, c# ou java, ….
 
Le web service permet de bénéficier des commandes mapping dans votre propre application. Ainsi, plus besoin de se connecter sur l’interface web de Mapping mais directement dans votre application qu’elle soit javascript, c# ou java, ….
  
Le web service propose les différentes actions de base disponibles sur le spooler :
+
Le web service propose les différentes actions de base disponibles sur le spooler.
 +
 
 +
Actions sur un spool :
  
*actions sur un spool
 
 
*libérer
 
*libérer
 
*suspendre
 
*suspendre
Ligne 14 : Ligne 15 :
 
*afficher la log
 
*afficher la log
 
*afficher les informations
 
*afficher les informations
*actions sur une file d’attente
+
 
 +
 
 +
Actions sur une file d’attente :
 +
 
 
*démarrer
 
*démarrer
 
*arrêter
 
*arrêter
Ligne 27 : Ligne 31 :
 
Dans la version stream, le contenu du spool est envoyé directement à travers le réseau. Une exception sera levée si le spool possède un volume de données trop important. Néanmoins, il est préférable d’utiliser au possible la version stream puisque celle-ci est beaucoup plus rapide.
 
Dans la version stream, le contenu du spool est envoyé directement à travers le réseau. Une exception sera levée si le spool possède un volume de données trop important. Néanmoins, il est préférable d’utiliser au possible la version stream puisque celle-ci est beaucoup plus rapide.
  
<br />
+
 
 
[[Fichier:OX S Web services.png|centré|sans_cadre|650x650px]]
 
[[Fichier:OX S Web services.png|centré|sans_cadre|650x650px]]
<br />
+
 
 +
 
 +
 
 +
==Lancement du traitement Mapping synchrone==
 +
 
 +
Pour plus d'informations voir la page [[ONYX:9.0:Utilisation:mapSoapRunStreamFromPost|mapSoapRunStreamFromPost]]
  
 
==Création d’un client==
 
==Création d’un client==
Ligne 36 : Ligne 45 :
  
 
Le wsdl spécifie :
 
Le wsdl spécifie :
* les opérations possibles (le nom des méthodes)
+
 
* le détail des types de données échangées (nombre et types des paramètres en entrée et sortie de méthode)
+
*les opérations possibles (le nom des méthodes)
* le protocole à utiliser : SOAP
+
*le détail des types de données échangées (nombre et types des paramètres en entrée et sortie de méthode)
* l'URL du service à consommer.
+
*le protocole à utiliser : SOAP
 +
*l'URL du service à consommer.
  
  
Ligne 46 : Ligne 56 :
 
Le wsdl est accessible en ajoutant ?wsdl à la fin de l’adresse où est présent le web service. Par exemple :  
 
Le wsdl est accessible en ajoutant ?wsdl à la fin de l’adresse où est présent le web service. Par exemple :  
 
  http://localhost:8080/MapSoapServer/MapSoapServer?wsdl
 
  http://localhost:8080/MapSoapServer/MapSoapServer?wsdl
 +
  
 
==Installation du service web==
 
==Installation du service web==
  
 
Installation du service web :
 
Installation du service web :
Vérifier que le fichier mapsoapserver est bien présent dans le dossier cgi de votre serveur web.
+
 
* tester la connection en local <code> http://localhost:8002/cgi-bin/mapsoapserver.exe</code>
+
*Vérifier que le fichier mapsoapserver est bien présent dans le dossier cgi de votre serveur web
* Puis en distant <code>http://localhost:8002/cgi-bin/mapsoapserver.exe?wsdl </code>
+
*Tester la connection en local <code> http://localhost:8002/cgi-bin/mapsoapserver.exe</code>
 +
*Puis en distant <code>http://localhost:8002/cgi-bin/mapsoapserver.exe?wsdl </code>
  
  
Liste des variables à vérifier et à configurer dans mapping.conf
+
Liste des variables à vérifier et à configurer dans mapping.conf :
* SOAP_PATH_TEMP : répertoire temporaire utilisé par le server soap.
+
 
* SOAP_PATH_LOG : répertoire utilisé pour stocker la log uniquement si folder SOAP_DEBUG=on ou si une erreur apparaît.
+
*SOAP_PATH_TEMP : répertoire temporaire utilisé par le server soap.
* SOAP_LOCATION : URL distant d’accès au service web.
+
*SOAP_PATH_LOG : répertoire utilisé pour stocker la log uniquement si folder SOAP_DEBUG=on ou si une erreur apparaît.
* SOAP_LOCAL_URL : répertoire local correspondant à SOAP_DOCUMENT_URL pour permettre au client SOAP de récupérer des fichiers volumineux.
+
*SOAP_LOCATION : URL distant d’accès au service web.
* SOAP_DOCUMENT_URL : url distant d’accès au document produit par le serveur SOAP.
+
*SOAP_LOCAL_URL : répertoire local correspondant à SOAP_DOCUMENT_URL pour permettre au client SOAP de récupérer des fichiers volumineux.
* SOAP_HOST_PROXY : proxy à utiliser pour accéder aux fichiers indiqués par le client SOAP.
+
*SOAP_DOCUMENT_URL : url distant d’accès au document produit par le serveur SOAP.
* SOAP_PORT_PROXY : port du proxy.
+
*SOAP_HOST_PROXY : proxy à utiliser pour accéder aux fichiers indiqués par le client SOAP.
* SOAP_DEBUG : le serveur SOAP est-il en mode debug.
+
*SOAP_PORT_PROXY : port du proxy.
 +
*SOAP_DEBUG : le serveur SOAP est-il en mode debug.
 
 
 
  #SOAP
 
  #SOAP
  [SOAP_PATH_TEMP] C:\Program Files\MappingWindows\Temp\HTTPServer
+
  [SOAP_PATH_TEMP] C:\Program Files\MappingWindows\Temp\HTTPServer
  [SOAP_PATH_LOG] C:\Program Files\MappingWindows\Temp\HTTPServer
+
  [SOAP_PATH_LOG] C:\Program Files\MappingWindows\Temp\HTTPServer
  [SOAP_LOCATION] http://localhost:8002/cgi-bin/mapsoapserver.exe
+
  [SOAP_LOCATION] http://localhost:8002/cgi-bin/mapsoapserver.exe
  [SOAP_LOCAL_URL] C:\Program Files\MappingWindows\MapHTTPServer\shareFolder
+
  [SOAP_LOCAL_URL] C:\Program Files\MappingWindows\MapHTTPServer\shareFolder
  [SOAP_DOCUMENT_URL] http://localhost:8002/shareFolder
+
  [SOAP_DOCUMENT_URL] http://localhost:8002/shareFolder
  [SOAP_HOST_PROXY] 0
+
  [SOAP_HOST_PROXY] 0
  [SOAP_PORT_PROXY] 0
+
  [SOAP_PORT_PROXY] 0
 
  [SOAP_DEBUG] On
 
  [SOAP_DEBUG] On
 
  
 
 
 +
==Exemple de source==
  
Exemple de source
+
===Microsoft Visual Studio C#===
 
 
Microsoft Visual Studio : C#
 
  
Pour tester le web service mapping sous VS, faire un nouveau projet.
+
Pour tester le web service mapping sous VS, faire un nouveau projet.Choisir le type de projet, par exemple ici une application console.
  
 +
[[Fichier:OX S VS-ServiceWeb.png|centré|sans_cadre|816x816px|alt=]]
 
   
 
   
  
Choisir le type de projet, par exemple ici une application console.
+
Ajouter un web référence
 
 
 
   
 
   
 
+
[[Fichier:OX S referenceweb.png|centré|sans_cadre|1457x1457px|alt=]]
Ajouter un web reference
 
 
   
 
   
  
Comme adresse dans la référence web, sélectionnera  
+
Comme adresse dans la référence web, sélectionnera<code> http://localhost:8002/cgi-bin/mapsoapserver.exe?wsdl</code>
http://localhost:8002/cgi-bin/mapsoapserver.exe?wsdl
 
 
et mettre le nom par exemple : mappingSuitePrintService
 
et mettre le nom par exemple : mappingSuitePrintService
 
   
 
   
 +
Répondre aux questions de sécurité, fonction du réglage du serveur web.
  
  
 +
[[Fichier:OX S referencewe1.png|centré|sans_cadre|807x807px]]
  
 +
Identifiants : mapadmin/mapadmin
  
Répondre aux questions de sécurité, fonction du réglage du serveur web.
+
[[Fichier:OX S referenceweb2.png|centré|sans_cadre|584x584px]]
  
 
  
 
 
Taper enfin le code source pour tester.
 
Taper enfin le code source pour tester.
  
using System;
+
<nowiki>using System;
using ConsoleApplication.mappingSuitePrintService;
+
using ConsoleApplication.mappingSuitePrintService;
namespace ConsoleApplication
+
namespace ConsoleApplication
{
+
{
/// <summary>
+
        /// <summary>
 
/// Summary description for Class1.
 
/// Summary description for Class1.
 
/// </summary>
 
/// </summary>
 
class Class1
 
class Class1
 
{
 
{
/// <summary>
+
                /// <summary>
 
/// The main entry point for the application.
 
/// The main entry point for the application.
 
/// </summary>
 
/// </summary>
Ligne 127 : Ligne 137 :
 
}
 
}
 
}
 
}
}
+
}</nowiki>
  
==Java==
+
===Java===
  
 
Création du stub
 
Création du stub
C:\jboss-4.2.1.GA\bin>
+
  C:\jboss-4.2.1.GA\bin> wsconsume.bat –k –p clientmapsoapsever.jboss.ejb http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl -o
wsconsume.bat –k –p clientmapsoapsever.jboss.ejb  
+
  "C:\workspace\ClientMapSoapServer\src"
http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl
 
-o "C:\workspace\ClientMapSoapServer\src"
 
  
 
Fichier source java  
 
Fichier source java  
 
 
package clientmapsoapserver.ConsoleApplication.sw;
+
package clientmapsoapserver.ConsoleApplication.sw;
public class ConsoleApplication  
+
public class ConsoleApplication  
{
+
{
public static void main(String[] args)  
+
    public static void main(String[] args)  
{
+
    {
clientmapsoapsever.jboss.ejb.MapSoapServerService service =  
+
        clientmapsoapsever.jboss.ejb.MapSoapServerService service = new clientmapsoapsever.jboss.ejb.MapSoapServerService();
new clientmapsoapsever.jboss.ejb.MapSoapServerService();
+
        clientmapsoapsever.jboss.ejb.MapSoapServer mappingSoapServer = service.getMapSoapServerPort();
clientmapsoapsever.jboss.ejb.MapSoapServer mappingSoapServer =  
+
        mappingSoapServer.mapStopQueue("PRT01");
service.getMapSoapServerPort();
+
    }
mappingSoapServer.mapStopQueue("PRT01");
+
}
}
 
}
 
 
 
 
Javascript
 
  
 +
===Javascript===
 
 
<html>
+
<html>
<body>
+
<body>
<script type="text/javascript">
+
<script type="text/javascript">
var http_request = false;
+
  var http_request = false;
function makeRequest(url)  
+
  function makeRequest(url) {
{
+
    var xhr_object = null;
var xhr_object = null;
+
    if ( window.XMLHttpRequest ) xhr_object = new XMLHttpRequest();
if ( window.XMLHttpRequest ) xhr_object = new XMLHttpRequest();
+
    else if(window.ActiveXObject) {
else if(window.ActiveXObject)
+
      try {
{
+
        xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
try {
+
      } catch(e) {
xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
+
        try {
} catch(e) {
+
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
try {
+
        } catch(e) {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
+
          xhr_object = null;
} catch(e) {
+
        }
xhr_object = null;
+
      }
}
+
    }
}
+
}
+
  if (!xhr_object) {
 
+
    alert('Cannot create XMLHTTP instance');
if (!xhr_object) {
+
    return false;
    alert('Cannot create XMLHTTP instance');
+
  }
    return false;
+
  xhr_object.open('GET', url, false);
}
+
  xhr_object.send(parameter);
xhr_object.open('GET', url, false);
+
  return xhr_object.responseXML;
xhr_object.send(parameter);
+
}
return xhr_object.responseXML;
 
}
 
function stopQueue(qname)
 
{
 
currentresults="";
 
  parameter="http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname="+qname;
 
  var xmldoc=makeRequest(parameter);
 
        var root=xmldoc.getElementsByTagName('stopQueue').item(0);
 
        var results=root.getElementsByTagName('infos').item(0);
 
        if (results.textContent)
 
{
 
currentresults=results.textContent;
 
}
 
else if (results.text)
 
{
 
currentresults=results.text;
 
}
 
alert(currentresults);
 
        }
 
stopQueue("MAPPING");  
 
</script>
 
</body>
 
</html>
 
 
 
 
   
 
   
 +
function stopQueue(qname) {
 +
  currentresults="";
 +
  parameter="http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname="+qname;
 +
  var xmldoc=makeRequest(parameter);
 +
  var root=xmldoc.getElementsByTagName('stopQueue').item(0);
 +
  var results=root.getElementsByTagName('infos').item(0);
 +
  if (results.textContent) {
 +
    currentresults=results.textContent;
 +
  }
 +
  else if (results.text) {
 +
    currentresults=results.text;
 +
  }
 +
  alert(currentresults);
 +
}
 +
stopQueue("MAPPING");  
 +
</script>
 +
</body>
 +
</html>
  
Autoriser les connections anonymes
+
==Autoriser les connections anonymes==
  
 
Faire le fichier de configuration d’Apache.
 
Faire le fichier de configuration d’Apache.
 
Pour permettre les connections anonymes, sur une autre URL ou un autre port, il suffit de définir un nouveau AccessFileName.
 
Pour permettre les connections anonymes, sur une autre URL ou un autre port, il suffit de définir un nouveau AccessFileName.
   
+
  <nowiki>
#BEGIN_MAPPING_1.00.30_12-6-2007
+
#BEGIN_MAPPING_1.00.30_12-6-2007
#LoadModule ldap_module modules/mod_ldap.so
+
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
+
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
 +
Listen 8002
 +
NameVirtualHost *:8002
 +
<VirtualHost *:8002>
 +
  AccessFileName .htaccess
 +
  ServerName SERVEURSAP
 +
  DocumentRoot "C:/Program Files/MappingWindows/MapHTTPServer"
 +
  <Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
 +
    AllowOverride All
 +
    Order allow,deny
 +
    Allow from all
 +
    Options None
 +
  </Directory>
 +
  ScriptAlias /cgi-bin/ "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
 +
  <Directory "C:/Program Files/MappingWindows/MapHTTPServer">
 +
    AllowOverride All
 +
    Order allow,deny
 +
    Allow from all
 +
    Options None
 +
  </Directory>
 +
</VirtualHost>
 +
#END_MAPPING_1.00.30_12-6-2007
 +
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles">
 +
  AllowOverride all
 +
  Order deny,allow
 +
  </Directory>
  
Listen 8002
+
AccessFileName .config
NameVirtualHost *:8002
+
ScriptAlias /MapHTTPServer "C:/Program Files/MappingWindows/MapHTTPServer/"
<VirtualHost *:8002>
+
<Directory "C:/Program Files/MappingWindows/MapHTTPServer">
AccessFileName .htaccess
 
ServerName SERVEURSAP
 
DocumentRoot "C:/Program Files/MappingWindows/MapHTTPServer"
 
<Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
 
AllowOverride All
 
Order allow,deny
 
Allow from all
 
Options None
 
</Directory>
 
 
 
ScriptAlias /cgi-bin/ "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
 
<Directory "C:/Program Files/MappingWindows/MapHTTPServer">
 
AllowOverride All
 
Order allow,deny
 
Allow from all
 
Options None
 
</Directory>
 
</VirtualHost>
 
 
 
#END_MAPPING_1.00.30_12-6-2007
 
 
 
 
 
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles">
 
AllowOverride all
 
Order deny,allow
 
</Directory>
 
 
 
AccessFileName .config
 
ScriptAlias /MapHTTPServer "C:/Program Files/MappingWindows/MapHTTPServer/"
 
<Directory "C:/Program Files/MappingWindows/MapHTTPServer">
 
 
AllowOverride All
 
AllowOverride All
 
Order allow,deny
 
Order allow,deny
 
Allow from all
 
Allow from all
 
Options None
 
Options None
</Directory>
+
</Directory>
ScriptAlias /MapHTTPServer/cgi-bin "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
+
ScriptAlias /MapHTTPServer/cgi-bin "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
<Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
+
<Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
 +
    AllowOverride All
 +
    Order allow,deny
 +
    Allow from all
 +
    Options None
 +
</Directory></nowiki>
 +
 
 +
==Liste des fonctions existantes==
 +
 
 +
Pour découvrir les fonctions disponibles utiliser le
 +
'''wsdl''' <code> http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl</code>  
  
AllowOverride All
+
sinon avec l'accès à la machine en localhost la présentation HTML des fonctions <code>http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe</code>
Order allow,deny
 
Allow from all
 
Options None
 
</Directory>
 
 
===Liste des fonctions existantes===
 
  
Pour découvrir les fonctions disponibles vous pouvez utiliser :
 
le wsdl
 
http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl
 
ou si vous avez accès à la machine en localhost la présentation HTML des fonctions
 
http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe
 
  
 
Remarque :  
 
Remarque :  
  
Sur Linux supprimer le .exe
+
Sur Linux supprimer le .exe.
 
 
L’ensemble des fonctions sont décrites dans la page HTML de présentation des fonctions.
 
  
Le WSDL décrit les paramètres attendus en entrée et en sortie.
+
L’ensemble des fonctions sont décrites dans la page HTML de présentation des fonctions.Le WSDL décrit les paramètres attendus en entrée et en sortie.Les paramètres particuliers key et value vont par paire et permettent de définir un ensemble infini de valeurs pour pouvoir les utiliser dans le moteur de règles. Par exemple, dans le cas des commandes d’insertion de spool, cela devient des users datas des fichiers spools produit. Dans le cas des commandes de moteur de règles, cela devient des paramètres du moteur de règles.
  
Les paramètres particuliers key et value vont par paire et permettent de définir un ensemble infini de valeurs pour pouvoir les utiliser dans le moteur de règles. Par exemple, dans le cas des commandes d’insertion de spool, cela devient des users datas des fichiers spools produit. Dans le cas des commandes de moteur de règles, cela devient des paramètres du moteur de règles.
 
  
 
===Fonctions de listage===
 
===Fonctions de listage===
  
 
mapListSplf : List user spool file
 
mapListSplf : List user spool file
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplf?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplf?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*
 +
 
  
 
mapListSplfWithDate : List user spool file by date
 
mapListSplfWithDate : List user spool file by date
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplfWithDate?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*&fromDay=21&fromMonth=1&fromYear=2006&toDay=21&toMonth=1&toYear=2006
+
  http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplfWithDate?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*&
 +
  fromDay=21&fromMonth=1&fromYear=2006&toDay=21&toMonth=1&toYear=2006
 +
 
  
 
mapListPrinter : List available printer
 
mapListPrinter : List available printer
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinter?login=mapadmin&ownerName=*&site=*&qname=*&type=*&state=*
+
    http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinter?login=mapadmin&ownerName=*&site=*&qname=*&type=*&state=*
 +
 
  
 
mapListPrinterTransfer : List all printer available for transfer
 
mapListPrinterTransfer : List all printer available for transfer
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinterTransfer?login=mapadmin
+
  http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinterTransfer?login=mapadmin
+
 
  
 
===Fonctions sur un fichier spool===
 
===Fonctions sur un fichier spool===
  
mapRestartPrinting : Restart a print at a given page
+
*mapRestartPrinting : Restart a print at a given page
Sample GET
+
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartPrinting?jobNum=000000000030072&startPage=1&stopPage=1&user=mapadmin&qname=PRT01&title=My Title&orignalQname=PRT01
+
Sample GET
+
      http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartPrinting?jobNum=000000000030072&startPage=1&stopPage=1&
mapMoveSplf : Move a spool file to antoher queue
+
    user=mapadmin&
Sample GET
+
  qname=PRT01&title=My Title&orignalQname=PRT01
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02
+
 
 +
*mapMoveSplf : Move a spool file to antoher queue
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02
 +
 
 +
 
 +
*mapDelSplf : Delete a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelSplf?jobNum=000000000030072&qname=PRT01
 +
 
 +
 
 +
*mapReleaseSplf : Release a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseSplf?jobNum=000000000030072&qname=PRT01
 +
 
 +
 
 +
*mapHoldSplf : Hold a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldSplf?jobNum=000000000030072&qname=PRT01
 +
 
 +
 
 +
*mapInfoSplf : Display info of spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoSplf?jobNum=000000000030072&qname=PRT01&user=mapadmin
 +
 
 +
 
 +
*mapChangeSplfUserData : Change User Data of a spool file
 +
 
 +
Sample GET
 +
  http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUserData?jobNum=000000000030072&qname=PRT01&key=MYUSERDATA&value=my
 +
  value
 +
 
 +
 
 +
*mapChangeSplfGroupID : Change Group ID of a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfGroupID?jobNum=000000000030072&qname=PRT01&value=my value
 +
 
 +
 
 +
*mapChangeSplfAccountancyCode : Change Accountancy Code of a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfAccountancyCode?jobNum=000000000030072&qname=PRT01&value=0
 +
 
 +
 
 +
*mapChangeSplfStateAttribute : Change State Attribute of a spool file
 +
 
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStateAttribute?jobNum=000000000030072&qname=PRT01&value=my value
 +
 
 +
 
 +
*mapChangeSplfRetentionTime : Change Retention Time of a spool file
  
mapDelSplf : Delete a spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfRetentionTime?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelSplf?jobNum=000000000030072&qname=PRT01
 
  
mapReleaseSplf : Release a spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseSplf?jobNum=000000000030072&qname=PRT01
 
  
mapHoldSplf : Hold a spool file
+
*mapChangeSplfPriority : Change Priority of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldSplf?jobNum=000000000030072&qname=PRT01
 
  
mapInfoSplf : Display info of spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfPriority?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoSplf?jobNum=000000000030072&qname=PRT01&user=mapadmin
 
  
mapChangeSplfUserData : Change User Data of a spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUserData?jobNum=000000000030072&qname=PRT01&key=MYUSERDATA&value=my value
 
  
mapChangeSplfGroupID : Change Group ID of a spool file
+
*mapChangeSplfStopPage : Change Stop Page of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfGroupID?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfAccountancyCode : Change Accountancy Code of a spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStopPage?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfAccountancyCode?jobNum=000000000030072&qname=PRT01&value=0
 
  
  
mapChangeSplfStateAttribute : Change State Attribute of a spool file
+
*mapChangeSplfStartPage : Change Start Page of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStateAttribute?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfRetentionTime : Change Retention Time of a spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStartPage?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfRetentionTime?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfPriority : Change Priority of a spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfPriority?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfStopPage : Change Stop Page of a spool file
+
*mapChangeSplfNbCopy : Change Number of Copy of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStopPage?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfStartPage : Change Start Page of a spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfNbCopy?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStartPage?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfNbCopy : Change Number of Copy of a spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfNbCopy?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfTitle : Change Title of a spool file
+
*mapChangeSplfTitle : Change Title of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfTitle?jobNum=000000000030072&qname=PRT01&value=my value
 
 
mapChangeSplfUser : Change User of a spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUser?jobNum=000000000030072&qname=PRT01&value=my value
 
  
mapChangeSplfSave : Change Save of a spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfTitle?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfSave?jobNum=000000000030072&qname=PRT01&value=my value
 
 
mapLogSplf : View log of the spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogSplf?qname=PRT01&jobNum=000000000030072&login=yourvalue&filter=yourvalue&dateFrom=yourvalue&dateTo=yourvalue&level=yourvalue
 
  
===Fonctions sur plusieurs fichiers spool===
+
*mapChangeSplfUser : Change User of a spool file
  
mapHoldMultiSplf : Hold multi spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUser?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldMultiSplf?jobNum=000000000030072&qname=PRT01
 
  
mapReleaseMultiSplf : Release multi spool file
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseMultiSplf?jobNum=000000000030072&qname=PRT01
 
  
mapDelMultiSplf : Delete multi spool file
+
*mapChangeSplfSave : Change Save of a spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelMultiSplf?jobNum=000000000030072&qname=PRT01
 
  
mapMoveMultiSplf : Move multi spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfSave?jobNum=000000000030072&qname=PRT01&value=my value
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveMultiSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02
 
  
mapSplfPreviewURL : Download the url of the preview spool file
+
*mapLogSplf : View log of the spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewURL?qname=PRT01&jobNum=000000000030072
 
  
mapSplfPreviewStream : Download the stream of the preview spool file
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogSplf?qname=PRT01&jobNum=000000000030072&login=yourvalue&filter=yourvalue&
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewStream?qname=PRT01&jobNum=000000000030072
+
dateFrom=yourvalue&dateTo=yourvalue&level=yourvalue
  
  
===Fonctions sur les imprimantes===
+
===Fonctions sur plusieurs fichiers spool===
  
mapRefreshStatus : Refresh printer status
+
*mapHoldMultiSplf : Hold multi spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRefreshStatus?qname=PRT01
 
  
mapRestartDevice : Restart a device
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldMultiSplf?jobNum=000000000030072&qname=PRT01
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartDevice?deviceName=DEVPRT01&qname=PRT01
 
  
mapStartQueue : Start a queue
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStartQueue?qname=PRT01
 
 
mapStopQueue : Stop a queue
 
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname=PRT01
 
  
mapInfoPrinter : Display info of printer
+
*mapReleaseMultiSplf : Release multi spool file
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoPrinter?qname=PRT01&user=mapadmin
 
  
mapLogQueue : View log of a queue
+
Sample GET
Sample GET
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseMultiSplf?jobNum=000000000030072&qname=PRT01
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogQueue?qname=PRT01&login=mapadmin&filter=yourvalue&dateFrom=yourvalue&dateTo=yourvalue&level=yourvalue
 
  
  
===Fonctions sur les demandes d’impression===
+
*mapDelMultiSplf : Delete multi spool file
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelMultiSplf?jobNum=000000000030072&qname=PRT01
  
mapUploadMessage : Upload a message as a spool file
 
Cette fonction permet d’insérer un message dans le spooler en envoyant le message en texte en tant que paramètre.
 
La method permet par exemple de déclencher un traitement.
 
La method ne convient pas pour les données binaires ou de taille importante.
 
  
Sample GET
+
*mapMoveMultiSplf : Move multi spool file
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadMessage?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&key=yourvalue&value=yourvalue
 
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveMultiSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02
  
mapUploadFile : Upload a file as a spool file
 
Cette fonction permet d’insérer un fichier dans le spooler en envoyant le fichier en tant que stream(encodée en base64)
 
La method permet de transférer un fichier binaires mais ne permet pas de supporter les tailles importantes.
 
  
Sample GET
+
*mapSplfPreviewURL : Download the url of the preview spool file
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadFile?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&key=yourvalue&value=yourvalue
 
  
mapUploadURL : Upload a url as a spool file
+
Sample GET
Cette fonction permet d’insérer un fichier dans le spooler en demandant au service web mapping d’aller chercher le fichier sur une url donnée en paramètre.
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewURL?qname=PRT01&jobNum=000000000030072
Cette fonction permet de transférer des fichiers binaires et de taille importante.
 
  
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadURL?qname=PRT01&title=yourvalue&user=yourvalue&url=yourvalue&key=yourvalue&value=yourvalue
 
  
mapRunStream : Run the stream of the mapping engine
+
*mapSplfPreviewStream : Download the stream of the preview spool file
Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour un document encodé en base 64.
 
Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.
 
  
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewStream?qname=PRT01&jobNum=000000000030072
  
Note
 
Pour le cas particulier de l’accès SOAP avec une requête de type GET, si vous ajoutez le paramètre    « getobject=1 » vous recevez en réponse directement le document en retour sans encodage base 64. Ce qui permet de l’utiliser dans des pages HTML pour demander un preview d’un document par exemple.
 
  
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value&getobject=1
+
===Fonctions sur les imprimantes===
  
 +
*mapRefreshStatus : Refresh printer status
  
mapRunURL : Run the stream and get URL
+
Sample GET
Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour l’URL du document produit, charge au client web de supprimer le document par la requête mapRemoveTempURL ou tout script de son choix.
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRefreshStatus?qname=PRT01
Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.
 
  
Sample GET
 
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunURL?stream=yourvalue&key=yourvalue&value=yourvalue
 
  
mapRemoveTempURL : Remove the temp URL built by SOAP server
+
*mapRestartDevice : Restart a device
Cette fonction permet de supprimer le fichier créé par la méthode mapRunURL ou mapSplfPreviewURL.
 
  
Sample GET
+
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRemoveTempURL?downloadurl=http://localhost/shareFolder/090432424242343243.tmp 
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartDevice?deviceName=DEVPRT01&qname=PRT01
  
Détails sur la méthode upload
 
  
La méthode upload permet d’envoyer un spool dans une file d’attente.
+
*mapStartQueue : Start a queue
  
Un fichier temporaire sera créé côté serveur contenant les données envoyées.
+
Sample GET
Ce fichier sera bien entendu supprimé une fois la commande map_lp exécutée.
+
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStartQueue?qname=PRT01
  
La version URL nécessite au préalable d’avoir déposé son fichier sur un site accessible au service web.
+
*mapStopQueue : Stop a queue
  
Ci dessous, vous trouverez un schéma présentant l’architecture utilisée lors d’un upload.
+
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname=PRT01
  
  
 +
*mapInfoPrinter : Display info of printer
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoPrinter?qname=PRT01&user=mapadmin
  
  
 +
*mapLogQueue : View log of a queue
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogQueue?qname=PRT01&login=mapadmin&filter=yourvalue&dateFrom=yourvalue&
 +
dateTo=yourvalue&level=yourvalue
  
  
 +
===Fonctions sur les demandes d’impression===
  
 +
*mapUploadMessage : Upload a message as a spool file
  
 +
Cette fonction permet d’insérer un message dans le spooler en envoyant le message en texte en tant que paramètre.
  
 +
*La method permet par exemple de déclencher un traitement.
 +
*La method ne convient pas pour les données binaires ou de taille importante.
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadMessage?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&
 +
key=yourvalue&value=yourvalue
  
  
 +
*mapUploadFile : Upload a file as a spool file
  
 +
Cette fonction permet d’insérer un fichier dans le spooler en envoyant le fichier en tant que stream(encodée en base64)
  
 +
La method permet de transférer un fichier binaires mais ne permet pas de supporter les tailles importantes.
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadFile?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&
 +
key=yourvalue&value=yourvalue
  
  
 +
*mapUploadURL : Upload a url as a spool file
  
 +
Cette fonction permet d’insérer un fichier dans le spooler en demandant au service web mapping d’aller chercher le fichier sur une url donnée en paramètre.Cette fonction permet de transférer des fichiers binaires et de taille importante.
  
Légende
+
  Sample GET
0b Dépôt du fichier sur une URL distante (version URL)
+
  http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadURL?qname=PRT01&title=yourvalue&user=yourvalue&url=yourvalue&
1  Lancement du client
+
  key=yourvalue&value=yourvalue
2  Appel de la méthode à distance
 
3b Lecture du fichier à l'URL indiquée (version URL)
 
4  Création du fichier temporaire
 
5  Lancement de map_lp
 
6 Lecture des données du fichier temporaire
 
7 Création du spool dans la file d'attente
 
   
 
Détails sur la méthode preview
 
  
  
La méthode preview consiste à renvoyer le contenu d’un spool qui a été préalablement envoyé dans une file d’attente.
+
*mapRunStream : Run the stream of the mapping engine
  
 +
Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour un document encodé en base 64.
  
Ci dessous, vous trouverez un schéma présentant l’architecture utilisée lors d’une preview.
+
Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value
  
  
 +
Remarque :
  
 +
Pour le cas particulier de l’accès SOAP avec une requête de type GET, si vous ajoutez le paramètre « getobject=1 » vous recevez en réponse directement le document en retour sans encodage base 64. Ce qui permet de l’utiliser dans des pages HTML pour demander un preview d’un document par exemple.
  
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value&getobject=1
  
  
 +
*mapRunURL : Run the stream and get URL
  
 +
Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour l’URL du document produit, charge au client web de supprimer le document par la requête mapRemoveTempURL ou tout script de son choix.
  
 +
Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunURL?stream=yourvalue&key=yourvalue&value=yourvalue
  
  
 +
*mapRemoveTempURL : Remove the temp URL built by SOAP server
  
 +
Cette fonction permet de supprimer le fichier créé par la méthode mapRunURL ou mapSplfPreviewURL.
  
 +
Sample GET
 +
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRemoveTempURL?downloadurl=http://localhost/shareFolder/090432424242343243.tmp 
  
  
 +
===Détails sur la méthode upload===
  
 +
La méthode upload permet d’envoyer un spool dans une file d’attente. Un fichier temporaire sera créé côté serveur contenant les données envoyées.Ce fichier sera bien entendu supprimé une fois la commande map_lp exécutée.La version URL nécessite au préalable d’avoir déposé son fichier sur un site accessible au service web.Ci dessous, le schéma présentant l’architecture utilisée lors d’un upload.
  
  
 +
[[Fichier:OX S webservice-Upload.png|centré|sans_cadre|1303x1303px]]
  
  
 +
<u>Légende</u>
  
 +
0b Dépôt du fichier sur une URL distante (version URL)
  
Légende
 
 
1  Lancement du client
 
1  Lancement du client
 +
 
2  Appel de la méthode à distance
 
2  Appel de la méthode à distance
3  Lancement de map_view
 
4  Communication avec le spooler
 
5  Réception des résultats par le web service
 
6a Envoi des données en stream au client
 
6b Ecriture du résultat dans un fichier
 
7a Retourne le spool + headers au client
 
7b Envoie l'URL au client
 
8b Envoie l'URL à l'application
 
  
   
+
3b Lecture du fichier à l'URL indiquée (version URL)
   
+
 
Détails sur la méthode run
+
4 Création du fichier temporaire
 +
 
 +
5 Lancement de map_lp
 +
 
 +
6  Lecture des données du fichier temporaire
 +
 
 +
7  Création du spool dans la file d'attente
 +
 
  
La méthode run permet de remaquetter le spool envoyé.
+
===Détails sur la méthode preview===
  
Le run peut se voir comme 3 étapes successives : un upload, un traitement puis une prévisualisation du fichier généré.
+
La méthode preview consiste à renvoyer le contenu d’un spool qui a été préalablement envoyé dans une file d’attente.Ci dessous, le schéma présentant l’architecture utilisée lors d’une preview.
  
La différence par rapport à un upload classique est que dans le cas du run, le spool n’a pas à être envoyé dans une queue pour être imprimé mais dans une entry.
 
  
Ainsi, le spool passe par le moteur de règles. Un user data nommé SOAP_RUN_FILE est ajouté automatiquement.
+
[[Fichier:OX S webservice preview.png|centré|sans_cadre|1257x1257px]]
  
Une règle testant la présence de ce user data permettra donc d’y faire un traitement spécifique : appel de mapcpysplf puis avec les différents arguments (mapnam, mapseq, mapmod, inFile, outFile et lang) permettant ce remaquettage.
+
Légende
  
Ci dessous, vous trouverez un schéma présentant l’architecture utilisée lors d’un run.
+
1  Lancement du client
  
 +
2  Appel de la méthode à distance
  
 +
3  Lancement de map_view
  
 +
4  Communication avec le spooler
  
 +
5  Réception des résultats par le web service
  
 +
6a Envoi des données en stream au client
  
 +
6b Ecriture du résultat dans un fichier
  
 +
7a Retourne le spool + headers au client
  
 +
7b Envoie l'URL au client
  
 +
8b Envoie l'URL à l'application
 +
 +
 +
===Détails sur la méthode run===
  
 +
La méthode run permet de remaquetter le spool envoyé.Le run peut se voir comme 3 étapes successives : un upload, un traitement puis une prévisualisation du fichier généré.La différence par rapport à un upload classique est que dans le cas du run, le spool n’a pas à être envoyé dans une queue pour être imprimé mais dans une entry.
  
 +
Ainsi, le spool passe par le moteur de règles. Un user data nommé <code>SOAP_RUN_FILE</code> est ajouté automatiquement.
  
 +
Une règle testant la présence de ce user data permettra donc d’y faire un traitement spécifique : appel de mapcpysplf puis avec les différents arguments (mapnam, mapseq, mapmod, inFile, outFile et lang) permettant ce remaquettage.
 +
Ci dessous, le schéma présentant l’architecture utilisée lors d’un run.
  
  
 +
[[Fichier:OX S serviceweb-run.png|centré|sans_cadre|1342x1342px|alt=]]
  
  
Légende
 
 
0b  Dépôt du fichier sur une URL distante (version URL)
 
0b  Dépôt du fichier sur une URL distante (version URL)
 +
 
1  Lancement du client
 
1  Lancement du client
 +
 
2  Appel de la méthode à distance
 
2  Appel de la méthode à distance
 +
 
3b  Lecture du fichier à l'URL indiquée
 
3b  Lecture du fichier à l'URL indiquée
 +
 
4  Création du fichier temporaire
 
4  Création du fichier temporaire
 +
 
5  Lancement de map_lp
 
5  Lancement de map_lp
 +
 
6  Lecture des données du fichier temporaire
 
6  Lecture des données du fichier temporaire
 +
 
7  Création du spool dans la file d'attente
 
7  Création du spool dans la file d'attente
 +
 
8  Traitement et création du fichier temporaire (fichier remaquetté)
 
8  Traitement et création du fichier temporaire (fichier remaquetté)
 +
 
9  Lecture du fichier par le web service
 
9  Lecture du fichier par le web service
 +
 
10a Envoi des données en stream au client
 
10a Envoi des données en stream au client
 +
 
10b Ecriture du résultat dans un fichier
 
10b Ecriture du résultat dans un fichier
 +
 
11a Retourne le contenu du spool remaquetté au client
 
11a Retourne le contenu du spool remaquetté au client
 +
 
11b Retourne l'URL du spool remaquetté au client
 
11b Retourne l'URL du spool remaquetté au client
  
  
 +
===Schéma de données XML pour la  vue des spools===
 +
 +
[[Fichier:OX S donnesXML.png|centré|sans_cadre|1074x1074px]]
  
 +
==Comment renvoyer un fichier au client du service web depuis le moteur de règles==
  
 
+
Afin que le moteur de règles puisse renvoyer des réponses au service web, vous devez utiliser le moteur de règles.
 
+
"map_echo.exe" "Cache-Control: no-cache\nContent-type: application/pdf;\n\n"
 
+
  "map_echo.exe" "-infile:C:\Program Files\MappingWindows\Temp\myfile.pdf"
 
 
 
 
Schéma de données XML pour la vue des spools
 
  
 
   
 
   
 +
==Protocole utilisé==
  
 +
Le protocole utilisé est décrit dans <code>http://www.w3.org/TR/soap</code>
  
  
Comment renvoyer un fichier au client du service web depuis le moteur de règles
+
===SOAP HTTP GET Usage===
  
Afin que le moteur de règles puisse renvoyer des réponses au service web, vous devez utiliser le moteur de règles.
+
Question :
 +
GET /travelcompany.example.org/reservations?code=FT35ZBQ  HTTP/1.1
 +
Host: travelcompany.example.org
 +
Accept: text/html;q=0.5, application/soap+xml
  
"map_echo.exe" "Cache-Control: no-cache\nContent-type: application/pdf;\n\n"
 
"map_echo.exe" "-infile:C:\Program Files\MappingWindows\Temp\myfile.pdf"
 
  
+
Réponse :
Protocole utilisé
+
  HTTP/1.1 200 OK
 
+
Content-Type: application/xml; charset="utf-8"
Le protocole utilisé est décrit dans http://www.w3.org/TR/soap
+
Content-Length: nnnn
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
SOAP HTTP GET Usage
 
 
 
Question :
 
GET /travelcompany.example.org/reservations?code=FT35ZBQ HTTP/1.1
 
Host: travelcompany.example.org
 
Accept: text/html;q=0.5, application/soap+xml
 
Réponse :
 
HTTP/1.1 200 OK
 
Content-Type: application/xml; charset="utf-8"
 
Content-Length: nnnn
 
 
 
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 
 
             xmlns:x="http://travelcompany.example.org/vocab#"
 
             xmlns:x="http://travelcompany.example.org/vocab#"
 
     env:encodingStyle="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
 
     env:encodingStyle="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
Ligne 676 : Ligne 706 :
 
     </x:ReservationRequest>
 
     </x:ReservationRequest>
 
 
SOAP HTTP POST Usage
 
  
Question :
+
===SOAP HTTP POST Usage===
POST /Reservations HTTP/1.1
 
Host: travelcompany.example.org
 
Content-Type: application/soap+xml; charset="utf-8"
 
Content-Length: nnnn
 
  
<?xml version='1.0' ?>
+
Question :
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
+
POST /Reservations HTTP/1.1
<env:Header>
+
Host: travelcompany.example.org
  <t:transaction
+
Content-Type: application/soap+xml; charset="utf-8"
 +
Content-Length: nnnn
 +
<?xml version='1.0' ?>
 +
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 +
  <env:Header>
 +
    <t:transaction
 
           xmlns:t="http://thirdparty.example.org/transaction"
 
           xmlns:t="http://thirdparty.example.org/transaction"
 
           env:encodingStyle="http://example.com/encoding"
 
           env:encodingStyle="http://example.com/encoding"
 
           env:mustUnderstand="true" >5</t:transaction>
 
           env:mustUnderstand="true" >5</t:transaction>
</env:Header>   
+
  </env:Header>   
<env:Body>
+
  <env:Body>
  <m:chargeReservation
+
  <m:chargeReservation
    env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
+
      env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
          xmlns:m="http://travelcompany.example.org/">
+
          xmlns:m="http://travelcompany.example.org/">
  <m:reservation xmlns:m="http://travelcompany.example.org/reservation">
+
    <m:reservation xmlns:m="http://travelcompany.example.org/reservation">
    <m:code>FT35ZBQ</m:code>
+
    <m:code>FT35ZBQ</m:code>
  </m:reservation>
+
    </m:reservation>
    <o:creditCard xmlns:o="http://mycompany.example.com/financial">
+
    <o:creditCard xmlns:o="http://mycompany.example.com/financial">
    <n:name xmlns:n="http://mycompany.example.com/employees">
+
      <n:name xmlns:n="http://mycompany.example.com/employees">
          Åke Jógvan Øyvind
+
            Åke Jógvan Øyvind
    </n:name>
+
      </n:name>
    <o:number>123456789099999</o:number>
+
      <o:number>123456789099999</o:number>
    <o:expiration>2005-02</o:expiration>
+
      <o:expiration>2005-02</o:expiration>
    </o:creditCard>
+
    </o:creditCard>
  </m:chargeReservation
+
    </m:chargeReservation
  </env:Body>
+
  </env:Body>
</env:Envelope>
+
</env:Envelope>
  
  
Réponse
+
Réponse :
HTTP/1.1 200 OK
+
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset="utf-8"
+
Content-Type: application/soap+xml; charset="utf-8"
Content-Length: nnnn
+
Content-Length: nnnn
 
+
<?xml version='1.0' ?>
<?xml version='1.0' ?>
+
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
+
  <env:Header>
<env:Header>
 
 
       ...
 
       ...
 
       ...
 
       ...
</env:Header>   
+
  </env:Header>   
<env:Body>
+
  <env:Body>
 
       ...
 
       ...
 
       ...
 
       ...
</env:Body>
+
  </env:Body>
</env:Envelope>
+
</env:Envelope>

Version actuelle datée du 2 mai 2019 à 15:00

Présentation du web service

Le web service permet de bénéficier des commandes mapping dans votre propre application. Ainsi, plus besoin de se connecter sur l’interface web de Mapping mais directement dans votre application qu’elle soit javascript, c# ou java, ….

Le web service propose les différentes actions de base disponibles sur le spooler.

Actions sur un spool :

  • libérer
  • suspendre
  • transférer
  • supprimer
  • visualiser le contenu
  • afficher la log
  • afficher les informations


Actions sur une file d’attente :

  • démarrer
  • arrêter
  • afficher la log
  • afficher les informations


En plus des actions présentées ci dessus, le web service gère l’envoi, la prévisualisation et le remaquettage de spools.Les méthodes upload (envoi d’un spool), preview (prévisualisation d’un spool) et run (remaquettage d’un spool) proposent deux manières pour envoyer un spool ou visualiser le résultat du spool généré ou envoyé.

Pour les fichiers de taille importante, une version URL est disponible pour chaque méthode. Cette version sauvegarde le spool sur disque et transmet l’URL pour que l’application cliente ou serveur puisse lire le spool indirectement.

Dans la version stream, le contenu du spool est envoyé directement à travers le réseau. Une exception sera levée si le spool possède un volume de données trop important. Néanmoins, il est préférable d’utiliser au possible la version stream puisque celle-ci est beaucoup plus rapide.


OX S Web services.png


Lancement du traitement Mapping synchrone

Pour plus d'informations voir la page mapSoapRunStreamFromPost

Création d’un client

Le Web Services Description Language wsdl est un langage basé sur XML fournissant un modèle pour décrire les web services.

Le wsdl spécifie :

  • les opérations possibles (le nom des méthodes)
  • le détail des types de données échangées (nombre et types des paramètres en entrée et sortie de méthode)
  • le protocole à utiliser : SOAP
  • l'URL du service à consommer.


Coté client, un stub ainsi que des interfaces représentant les objets à manipuler sont générés automatiquement à l’import du wsdl.

Le wsdl est accessible en ajoutant ?wsdl à la fin de l’adresse où est présent le web service. Par exemple :

http://localhost:8080/MapSoapServer/MapSoapServer?wsdl


Installation du service web

Installation du service web :


Liste des variables à vérifier et à configurer dans mapping.conf :

  • SOAP_PATH_TEMP : répertoire temporaire utilisé par le server soap.
  • SOAP_PATH_LOG : répertoire utilisé pour stocker la log uniquement si folder SOAP_DEBUG=on ou si une erreur apparaît.
  • SOAP_LOCATION : URL distant d’accès au service web.
  • SOAP_LOCAL_URL : répertoire local correspondant à SOAP_DOCUMENT_URL pour permettre au client SOAP de récupérer des fichiers volumineux.
  • SOAP_DOCUMENT_URL : url distant d’accès au document produit par le serveur SOAP.
  • SOAP_HOST_PROXY : proxy à utiliser pour accéder aux fichiers indiqués par le client SOAP.
  • SOAP_PORT_PROXY : port du proxy.
  • SOAP_DEBUG : le serveur SOAP est-il en mode debug.
#SOAP
[SOAP_PATH_TEMP]	 C:\Program Files\MappingWindows\Temp\HTTPServer
[SOAP_PATH_LOG]	 C:\Program Files\MappingWindows\Temp\HTTPServer
[SOAP_LOCATION]	 http://localhost:8002/cgi-bin/mapsoapserver.exe
[SOAP_LOCAL_URL]	 C:\Program Files\MappingWindows\MapHTTPServer\shareFolder
[SOAP_DOCUMENT_URL]	 http://localhost:8002/shareFolder
[SOAP_HOST_PROXY]	 0
[SOAP_PORT_PROXY]	 0
[SOAP_DEBUG]	On


Exemple de source

Microsoft Visual Studio C#

Pour tester le web service mapping sous VS, faire un nouveau projet.Choisir le type de projet, par exemple ici une application console.


Ajouter un web référence


Comme adresse dans la référence web, sélectionnera http://localhost:8002/cgi-bin/mapsoapserver.exe?wsdl et mettre le nom par exemple : mappingSuitePrintService

Répondre aux questions de sécurité, fonction du réglage du serveur web.


OX S referencewe1.png

Identifiants : mapadmin/mapadmin

OX S referenceweb2.png


Taper enfin le code source pour tester.

using System;
 using ConsoleApplication.mappingSuitePrintService;
 namespace ConsoleApplication
 {
        /// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
                 /// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			MapSoapServerService mappingSoapServer = new MapSoapServerService();
			stopQueue resultStop=mappingSoapServer.mapStopQueue("PRT01");
		}
	}
 }

Java

Création du stub

  C:\jboss-4.2.1.GA\bin> wsconsume.bat –k –p clientmapsoapsever.jboss.ejb http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl -o
  "C:\workspace\ClientMapSoapServer\src"

Fichier source java

package clientmapsoapserver.ConsoleApplication.sw;
public class ConsoleApplication 
{
    public static void main(String[] args) 
    {
        clientmapsoapsever.jboss.ejb.MapSoapServerService service = new clientmapsoapsever.jboss.ejb.MapSoapServerService();
        clientmapsoapsever.jboss.ejb.MapSoapServer mappingSoapServer = service.getMapSoapServerPort();
        mappingSoapServer.mapStopQueue("PRT01");
    }	
}

Javascript

<html>	
<body>
<script type="text/javascript">
  var http_request = false;
  function makeRequest(url) {
    var xhr_object = null;
    if ( window.XMLHttpRequest ) xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) {
      try {
        xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
        try {
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          xhr_object = null;
        }
      }
    }

  if (!xhr_object) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }
  xhr_object.open('GET', url, false);
  xhr_object.send(parameter);
  return xhr_object.responseXML;
}

function stopQueue(qname) {
  currentresults="";
  parameter="http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname="+qname;
  var xmldoc=makeRequest(parameter);
  var root=xmldoc.getElementsByTagName('stopQueue').item(0);
  var results=root.getElementsByTagName('infos').item(0);
  if (results.textContent) {
    currentresults=results.textContent;
  }
  else if (results.text) {
    currentresults=results.text;
  }
  alert(currentresults);
}
stopQueue("MAPPING");			   
</script>
</body>
</html>

Autoriser les connections anonymes

Faire le fichier de configuration d’Apache. Pour permettre les connections anonymes, sur une autre URL ou un autre port, il suffit de définir un nouveau AccessFileName.

 #BEGIN_MAPPING_1.00.30_12-6-2007
 #LoadModule ldap_module modules/mod_ldap.so
 #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
 Listen 8002
 NameVirtualHost *:8002
 <VirtualHost *:8002>
   AccessFileName .htaccess
   ServerName SERVEURSAP
   DocumentRoot "C:/Program Files/MappingWindows/MapHTTPServer"
   <Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
     AllowOverride All
     Order allow,deny
     Allow from all
     Options None
   </Directory>
   ScriptAlias /cgi-bin/ "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
   <Directory "C:/Program Files/MappingWindows/MapHTTPServer">
     AllowOverride All
     Order allow,deny
     Allow from all
     Options None
   </Directory>
 </VirtualHost>
 #END_MAPPING_1.00.30_12-6-2007
 <Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles">
  AllowOverride all
  Order deny,allow
  </Directory>

 AccessFileName .config
 ScriptAlias /MapHTTPServer "C:/Program Files/MappingWindows/MapHTTPServer/"
 <Directory "C:/Program Files/MappingWindows/MapHTTPServer">
	AllowOverride All
	Order allow,deny
	Allow from all
	Options None
 </Directory>
 ScriptAlias /MapHTTPServer/cgi-bin "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin/"
 <Directory "C:/Program Files/MappingWindows/MapHTTPServer/cgi-bin">
     AllowOverride All
     Order allow,deny
     Allow from all
     Options None
 </Directory>

Liste des fonctions existantes

Pour découvrir les fonctions disponibles utiliser le wsdl http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe?wsdl

sinon avec l'accès à la machine en localhost la présentation HTML des fonctions http://127.0.0.1:8002/cgi-bin/mapsoapserver.exe


Remarque :

Sur Linux supprimer le .exe.

L’ensemble des fonctions sont décrites dans la page HTML de présentation des fonctions.Le WSDL décrit les paramètres attendus en entrée et en sortie.Les paramètres particuliers key et value vont par paire et permettent de définir un ensemble infini de valeurs pour pouvoir les utiliser dans le moteur de règles. Par exemple, dans le cas des commandes d’insertion de spool, cela devient des users datas des fichiers spools produit. Dans le cas des commandes de moteur de règles, cela devient des paramètres du moteur de règles.


Fonctions de listage

mapListSplf : List user spool file

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplf?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*


mapListSplfWithDate : List user spool file by date

Sample GET
 http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListSplfWithDate?login=mapadmin&ownerName=*&site=*&qname=*&splf=*&state=*&
 fromDay=21&fromMonth=1&fromYear=2006&toDay=21&toMonth=1&toYear=2006


mapListPrinter : List available printer

Sample GET
    http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinter?login=mapadmin&ownerName=*&site=*&qname=*&type=*&state=*


mapListPrinterTransfer : List all printer available for transfer

Sample GET
  http://localhost:8002/cgi-bin/mapsoapserver.exe/mapListPrinterTransfer?login=mapadmin


Fonctions sur un fichier spool

  • mapRestartPrinting : Restart a print at a given page
Sample GET
      http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartPrinting?jobNum=000000000030072&startPage=1&stopPage=1&
    user=mapadmin&
 qname=PRT01&title=My Title&orignalQname=PRT01
  • mapMoveSplf : Move a spool file to antoher queue
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02


  • mapDelSplf : Delete a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelSplf?jobNum=000000000030072&qname=PRT01


  • mapReleaseSplf : Release a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseSplf?jobNum=000000000030072&qname=PRT01


  • mapHoldSplf : Hold a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldSplf?jobNum=000000000030072&qname=PRT01


  • mapInfoSplf : Display info of spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoSplf?jobNum=000000000030072&qname=PRT01&user=mapadmin


  • mapChangeSplfUserData : Change User Data of a spool file
Sample GET
 http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUserData?jobNum=000000000030072&qname=PRT01&key=MYUSERDATA&value=my
 value


  • mapChangeSplfGroupID : Change Group ID of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfGroupID?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfAccountancyCode : Change Accountancy Code of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfAccountancyCode?jobNum=000000000030072&qname=PRT01&value=0


  • mapChangeSplfStateAttribute : Change State Attribute of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStateAttribute?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfRetentionTime : Change Retention Time of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfRetentionTime?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfPriority : Change Priority of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfPriority?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfStopPage : Change Stop Page of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStopPage?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfStartPage : Change Start Page of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfStartPage?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfNbCopy : Change Number of Copy of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfNbCopy?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfTitle : Change Title of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfTitle?jobNum=000000000030072&qname=PRT01&value=my value
  • mapChangeSplfUser : Change User of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfUser?jobNum=000000000030072&qname=PRT01&value=my value


  • mapChangeSplfSave : Change Save of a spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapChangeSplfSave?jobNum=000000000030072&qname=PRT01&value=my value
  • mapLogSplf : View log of the spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogSplf?qname=PRT01&jobNum=000000000030072&login=yourvalue&filter=yourvalue&
dateFrom=yourvalue&dateTo=yourvalue&level=yourvalue


Fonctions sur plusieurs fichiers spool

  • mapHoldMultiSplf : Hold multi spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapHoldMultiSplf?jobNum=000000000030072&qname=PRT01


  • mapReleaseMultiSplf : Release multi spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapReleaseMultiSplf?jobNum=000000000030072&qname=PRT01


  • mapDelMultiSplf : Delete multi spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapDelMultiSplf?jobNum=000000000030072&qname=PRT01


  • mapMoveMultiSplf : Move multi spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapMoveMultiSplf?jobNum=000000000030072&qname=PRT01&oldqname=PRT02


  • mapSplfPreviewURL : Download the url of the preview spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewURL?qname=PRT01&jobNum=000000000030072


  • mapSplfPreviewStream : Download the stream of the preview spool file
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapSplfPreviewStream?qname=PRT01&jobNum=000000000030072


Fonctions sur les imprimantes

  • mapRefreshStatus : Refresh printer status
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRefreshStatus?qname=PRT01


  • mapRestartDevice : Restart a device
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRestartDevice?deviceName=DEVPRT01&qname=PRT01


  • mapStartQueue : Start a queue
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStartQueue?qname=PRT01
  • mapStopQueue : Stop a queue
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapStopQueue?qname=PRT01


  • mapInfoPrinter : Display info of printer
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapInfoPrinter?qname=PRT01&user=mapadmin


  • mapLogQueue : View log of a queue
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapLogQueue?qname=PRT01&login=mapadmin&filter=yourvalue&dateFrom=yourvalue&
dateTo=yourvalue&level=yourvalue


Fonctions sur les demandes d’impression

  • mapUploadMessage : Upload a message as a spool file

Cette fonction permet d’insérer un message dans le spooler en envoyant le message en texte en tant que paramètre.

  • La method permet par exemple de déclencher un traitement.
  • La method ne convient pas pour les données binaires ou de taille importante.
Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadMessage?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&
key=yourvalue&value=yourvalue


  • mapUploadFile : Upload a file as a spool file

Cette fonction permet d’insérer un fichier dans le spooler en envoyant le fichier en tant que stream(encodée en base64)

La method permet de transférer un fichier binaires mais ne permet pas de supporter les tailles importantes.

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadFile?qname=PRT01&title=yourvalue&user=yourvalue&stream=yourvalue&
key=yourvalue&value=yourvalue


  • mapUploadURL : Upload a url as a spool file

Cette fonction permet d’insérer un fichier dans le spooler en demandant au service web mapping d’aller chercher le fichier sur une url donnée en paramètre.Cette fonction permet de transférer des fichiers binaires et de taille importante.

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapUploadURL?qname=PRT01&title=yourvalue&user=yourvalue&url=yourvalue&
key=yourvalue&value=yourvalue


  • mapRunStream : Run the stream of the mapping engine

Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour un document encodé en base 64.

Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value


Remarque :

Pour le cas particulier de l’accès SOAP avec une requête de type GET, si vous ajoutez le paramètre « getobject=1 » vous recevez en réponse directement le document en retour sans encodage base 64. Ce qui permet de l’utiliser dans des pages HTML pour demander un preview d’un document par exemple.

http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunStream?stream=base 64 data&key=anyname&value=any value&getobject=1


  • mapRunURL : Run the stream and get URL

Cette fonction soumet au moteur de règles un fichier encodé en base 64 et reçoit en retour l’URL du document produit, charge au client web de supprimer le document par la requête mapRemoveTempURL ou tout script de son choix.

Le moteur de règles a alors la valeur MAP_SOAP = On activé automatiquement permettant de faire des règles particulières sur les accès SOAP.

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRunURL?stream=yourvalue&key=yourvalue&value=yourvalue


  • mapRemoveTempURL : Remove the temp URL built by SOAP server

Cette fonction permet de supprimer le fichier créé par la méthode mapRunURL ou mapSplfPreviewURL.

Sample GET
http://localhost:8002/cgi-bin/mapsoapserver.exe/mapRemoveTempURL?downloadurl=http://localhost/shareFolder/090432424242343243.tmp  


Détails sur la méthode upload

La méthode upload permet d’envoyer un spool dans une file d’attente. Un fichier temporaire sera créé côté serveur contenant les données envoyées.Ce fichier sera bien entendu supprimé une fois la commande map_lp exécutée.La version URL nécessite au préalable d’avoir déposé son fichier sur un site accessible au service web.Ci dessous, le schéma présentant l’architecture utilisée lors d’un upload.


OX S webservice-Upload.png


Légende

0b Dépôt du fichier sur une URL distante (version URL)

1 Lancement du client

2 Appel de la méthode à distance

3b Lecture du fichier à l'URL indiquée (version URL)

4 Création du fichier temporaire

5 Lancement de map_lp

6 Lecture des données du fichier temporaire

7 Création du spool dans la file d'attente


Détails sur la méthode preview

La méthode preview consiste à renvoyer le contenu d’un spool qui a été préalablement envoyé dans une file d’attente.Ci dessous, le schéma présentant l’architecture utilisée lors d’une preview.


OX S webservice preview.png

Légende

1 Lancement du client

2 Appel de la méthode à distance

3 Lancement de map_view

4 Communication avec le spooler

5 Réception des résultats par le web service

6a Envoi des données en stream au client

6b Ecriture du résultat dans un fichier

7a Retourne le spool + headers au client

7b Envoie l'URL au client

8b Envoie l'URL à l'application


Détails sur la méthode run

La méthode run permet de remaquetter le spool envoyé.Le run peut se voir comme 3 étapes successives : un upload, un traitement puis une prévisualisation du fichier généré.La différence par rapport à un upload classique est que dans le cas du run, le spool n’a pas à être envoyé dans une queue pour être imprimé mais dans une entry.

Ainsi, le spool passe par le moteur de règles. Un user data nommé SOAP_RUN_FILE est ajouté automatiquement.

Une règle testant la présence de ce user data permettra donc d’y faire un traitement spécifique : appel de mapcpysplf puis avec les différents arguments (mapnam, mapseq, mapmod, inFile, outFile et lang) permettant ce remaquettage. Ci dessous, le schéma présentant l’architecture utilisée lors d’un run.



0b Dépôt du fichier sur une URL distante (version URL)

1 Lancement du client

2 Appel de la méthode à distance

3b Lecture du fichier à l'URL indiquée

4 Création du fichier temporaire

5 Lancement de map_lp

6 Lecture des données du fichier temporaire

7 Création du spool dans la file d'attente

8 Traitement et création du fichier temporaire (fichier remaquetté)

9 Lecture du fichier par le web service

10a Envoi des données en stream au client

10b Ecriture du résultat dans un fichier

11a Retourne le contenu du spool remaquetté au client

11b Retourne l'URL du spool remaquetté au client


Schéma de données XML pour la vue des spools

OX S donnesXML.png

Comment renvoyer un fichier au client du service web depuis le moteur de règles

Afin que le moteur de règles puisse renvoyer des réponses au service web, vous devez utiliser le moteur de règles.

"map_echo.exe" "Cache-Control: no-cache\nContent-type: application/pdf;\n\n" 
"map_echo.exe" "-infile:C:\Program Files\MappingWindows\Temp\myfile.pdf"	


Protocole utilisé

Le protocole utilisé est décrit dans http://www.w3.org/TR/soap


SOAP HTTP GET Usage

Question :

GET /travelcompany.example.org/reservations?code=FT35ZBQ  HTTP/1.1
Host: travelcompany.example.org
Accept: text/html;q=0.5, application/soap+xml


Réponse :

HTTP/1.1 200 OK
Content-Type: application/xml; charset="utf-8"
Content-Length: nnnn
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:x="http://travelcompany.example.org/vocab#"
    env:encodingStyle="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <x:ReservationRequest 
rdf:about="http://travelcompany.example.org/reservations?code=FT35ZBQ">
     <x:passenger>Åke Jógvan Øyvind</x:passenger>
     <x:outbound>
      <x:TravelRequest>
       <x:to>LAX</x:to>
       <x:from>LGA</x:from>
       <x:date>2001-12-14</x:date>
      </x:TravelRequest>
     </x:outbound>
     <x:return>
      <x:TravelRequest>
       <x:to>JFK</x:to>
       <x:from>LAX</x:from>
       <x:date>2001-12-20</x:date>
      </x:TravelRequest>
     </x:return>
   </x:ReservationRequest>


SOAP HTTP POST Usage

Question :

POST /Reservations HTTP/1.1
Host: travelcompany.example.org
Content-Type: application/soap+xml; charset="utf-8"
Content-Length: nnnn
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 <env:Header>
   <t:transaction
          xmlns:t="http://thirdparty.example.org/transaction"
          env:encodingStyle="http://example.com/encoding"
          env:mustUnderstand="true" >5</t:transaction>
 </env:Header>  
 <env:Body>
  <m:chargeReservation
     env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
          xmlns:m="http://travelcompany.example.org/">
   <m:reservation xmlns:m="http://travelcompany.example.org/reservation">
    <m:code>FT35ZBQ</m:code>
   </m:reservation>
    <o:creditCard xmlns:o="http://mycompany.example.com/financial">
     <n:name xmlns:n="http://mycompany.example.com/employees">
           Åke Jógvan Øyvind
     </n:name>
     <o:number>123456789099999</o:number>
     <o:expiration>2005-02</o:expiration>
    </o:creditCard>
   </m:chargeReservation
  </env:Body>
</env:Envelope>


Réponse :

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset="utf-8"
Content-Length: nnnn
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 <env:Header>
      ...
      ...
 </env:Header>  
 <env:Body>
      ...
      ...
 </env:Body>
</env:Envelope>