ManuelPHP.com

Le forum de la communauté PHP !

Vous n'êtes pas identifié.

  • Index
  •  » PHP / MySQL
  •  » Récupérer les données d'un fichier XML par POST sans formulaire

#1 27-03-2008 10:09:59

gigaben68
Membre
Date d'inscription: 27-03-2008
Messages: 3

Récupérer les données d'un fichier XML par POST sans formulaire

Bonjour tout le monde,

Tout nouveau sur le forum je sollicite votre aide et vos bonnes idées pour mon problème auquel je ne trouve pas de solution.
Je vais vous expliquer du mieux que je peux.
Voilà, je dois faire pour la société dans laquelle je travaille un traitement automatique des factures d'un fournisseur spécifique pour pouvoir les intégrer en quelques clics dans notre logiciel de gestion.

Les factures sont envoyé au format XML, j'ai créé un parseur XML en PHP, qui permet de ne récupérer que les infos dont j'ai besoin dedans. Cette page PHP créée ensuite un fichier formaté de telle manière qu'elle puisse être compatible avec le soft de gestion, puis elle l'expédie par mail à mon responsable qui se charge de l'importation dans le soft. Jusque ici tout fonctionne impeccablement.

Mon problème est là, jusqu'à présent je travaillais sur un fichier XML de test, alors j'ai créé un petit formulaire HTML qui me permettais de soumettre le fichier à PHP en vue de son traitement par la méthode POST. Maintenant mon contact chez le fournisseur affirme qu'il faut que je lui donne simplement le lien vers la page de traitement, leur système informatique (dont je ne connais pas la technologie) l'expédierais directement sur cette page. A moi simplement de faire en sorte que ma page de traitement récupère ce fichier et le traite.

Je ne sais absolument pas comment faire pour récupérer ce fichier sans formulaire de soumission. J'ai une piste du côté de la méthode "Xform" mais je ne saisie pas comment elle fonctionne. Et c'est là que j'ai besoin de votre aide. Cela plusieurs jours que je planche là dessus sans résultat.

Je ne sais pas si j'ai été très clair.

Je vous remercie tous par avance.

Hors ligne

 

#2 10-06-2008 18:05:05

gigaben68
Membre
Date d'inscription: 27-03-2008
Messages: 3

Re: Récupérer les données d'un fichier XML par POST sans formulaire

Bah j'ai bien l'impression que mon problème est insoluble....
Zut, j'ai toujours pas trouvé n'empêche

Hors ligne

 

#3 11-06-2008 09:20:20

gigaben68
Membre
Date d'inscription: 27-03-2008
Messages: 3

Re: Récupérer les données d'un fichier XML par POST sans formulaire

Bah voilà, quelques temps plus tard, je n'ai toujours pas avancé.
Je mets un bout de code en VB fourni par la personne de ce fournisseur.
Je suis un peu perdu ne connaissant rien au VB.

Code:

<%
@ Language=VBScript
%>
<%
strCatalogue = "xxxxx"
%>
<!-- #Include File ="../include/xxxxxxxx" -->
<%
If Request.totalBytes > 0 Then'
 dim xmldoc
 set xmlDoc = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 '**************** Charge la requête XML dans un objet XML ***************************
 xmlDoc.Load Request
        ' ************Code lisant le fichier XML et le stockant dans une base de données *****************
  If (xmlDoc.parseError.errorCode <> 0) Then
     Dim myErr
     Set myErr = xmlDoc.parseError
     StrReponse =  myErr.reason
  Else
   StrReponse = xmlDoc.xml
   set oInvoiceType = xmlDoc.selectsinglenode("//Invoice/InvoiceHeader/InvoiceType")
   
   if oInvoiceType.Text="Invoice" then
      set oIMAccountNumber = xmlDoc.selectsinglenode("//Invoice/IMAccountNumber")
      set oCustomerPO = xmlDoc.selectsinglenode("//Invoice/InvoiceHeader/CustomerPO")
      set oInvoiceNumber = xmlDoc.selectsinglenode("//Invoice/InvoiceHeader/InvoiceNumber")
      set oOriginalOrderNumber = xmlDoc.selectsinglenode("//Invoice/InvoiceHeader/OriginalOrderNumber")
      set oInvoiceDate= xmlDoc.selectsinglenode("//Invoice/InvoiceHeader/InvoiceDate")
      SQL = "INSERT INTO [Statut - tracking] (CustNumber,CustomerPO,InvoiceNumber,OriginalOrderNumber,InvoiceDate)"
      SQL = SQL &" VALUES"
      SQL = SQL &" ("&mid(oIMAccountNumber.Text,5,6)&",'"&oCustomerPO.Text&"','"&oInvoiceNumber.Text&"','"&oOriginalOrderNumber.Text&"','"&oInvoiceDate.Text&"')"
      response.write SQL
      Connexion.Execute(SQL)
   end if
   
  End If
  'SQL = "INSERT INTO [XML - Factures] ([Date],[Contenu],[Heure]) VALUES('" & Date() & "','" & StrReponse & "','" & Time() & "')"
  'Response.status SQL
  'Connexion.Execute(SQL)
  Connexion.Close
  Set Connexion = nothing
 
else
  ' Customer's code 
  Response.status = "<Reponse>Aucune donnée de reçue</Reponse>" 
end if
Response.End
 
'xxxxx vérifie juste le statut 200 (valeur retournée par default) pour déterminer
'si le POST a été réussi ou non. Comme il s'agit de la valeur par défaut, ne mettez pas de valeur,
'comme Response.status = "200 OK" ou Response.status = "202 Accepté"
 
%>

Hors ligne

 
  • Index
  •  » PHP / MySQL
  •  » Récupérer les données d'un fichier XML par POST sans formulaire

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr