IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Récupérer "entity-body" requête HTTP Post


Sujet :

Langage Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 97
    Points : 64
    Points
    64
    Par défaut Récupérer "entity-body" requête HTTP Post
    Bonjour,

    Je développe un agent dans Lotus Notes en Java.

    A cette ligne :
    connection.setRequestProperty("Content-PharmaML", "CLE_MD5-ENTITY_BODY");

    à la place de "CLE_MD5-ENTITY_BODY" je dois mettre la partie "entity-body" de ma requête HTTP chiffrée en MD5.

    Or je ne sais pas comment identifier cette partie "entity-body"

    Pourriez-vous m'aider svp.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
     
    import lotus.domino.*;
     
    public class JavaAgent extends AgentBase {
     
    	public void NotesMain() {
     
    		try {
    		URL url = new URL("http://pharmaml.com/SPCML/Commande.aspx");
     
     
    		HttpURLConnection connection=(HttpURLConnection) url.openConnection();
    		connection.setRequestMethod("POST");
    		connection.setUseCaches(false);
    		connection.setDoOutput (true);
    		connection.setDoInput(true);
     
     
    		//HTTP Headers
    		connection.setRequestProperty("Content-Type", "text/xml;charset='utf-8'");
     
    		connection.setRequestProperty("Content-PharmaML", "CLE_MD5-ENTITY_BODY");	
     
     
    		connection.setRequestProperty("Version-PharmaML", "3.0");
     
    		OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream ());
     
    		out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><SRP_ENVELOPPE xmlns=\"urn:x-srp:fr.srp.protocole:enveloppe-v30\" Version_Protocole=\"3.0.0.0\" Nature_Action=\"REQ_EMISSION\" Id_Logiciel=\"ReseauTest\" Version_Logiciel=\"01.00.00\" Id_Moteur=\"ReseaumatiquePhML\" Version_Moteur=\"1.3.0.0\" Usage=\"P\"><ENTETE><EMETTEUR Nature=\"OF\" Code=\"00\" Id_Officine=\"123\" Adresse=\"Ph - 76000 \" /><RECEPTEUR Nature=\"RE\" Code=\"14\" Id_Repartiteur=\"140\" Adresse=\"uu\" /><REF_MESSAGE>I1234567890124</REF_MESSAGE><DATE>2012-11-22T09:59:25</DATE></ENTETE><CORPS><MESSAGE_OFFICINE xmlns=\"urn:x-srp:fr.srp.protocole:message-v30\"><ENTETE><EMETTEUR Nature_Partenaire=\"OF\" Id_Client=\"425\" /><DESTINATAIRE Id_Repartiteur=\"25\" Nature_Partenaire=\"RE\" Code_Societe=\"5\" /><DATE>2012-11-22T09:59:25</DATE></ENTETE><CORPS><COMMANDE Commentaire_General=\"test commande\" Ref_Cde_Client=\"CMDEV12345614\"><LIGNE_CDE Num_Ligne=\"1\" Type_Codification=\"CIP/ACL7\" Code_Produit=\"72216\" Designation=\"t1\" Quantite=\"1\" Partielle=\"false\" Reliquat=\"false\" /></COMMANDE></CORPS></MESSAGE_OFFICINE></CORPS></SRP_ENVELOPPE>");
     
    		out.flush();
    		out.close();
     
    		connection.disconnect();
     
    		} catch(Exception e) {
    		e.printStackTrace();
    		}
    		}
    }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Le entity body c'est tout ce que tu envoies dans le connection.getOutputStream() avant qu'un close() soit applé dessus.

    Le plus simple serait de l'écrire d'abord dans un ByteArrayOutputStream, puis de récupérer le byte[] correspondant, et d'en calculer le MD5Sum, puis seulement après l'envoyer dans le connection.getOutputStream()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    Bonjour thelvin

    Merci vraiment pour ton explication.
    J'y vois déjà un plus clair sur ce "entity body"

    donc mon entity body contient cette chaine :
    <?xml version="1.0" encoding="UTF-8"?><SRP_ENVELOPPE xmlns="urn-srp:fr.srp.protocole:enveloppe-v30" Version_Protocole="3.0.0.0" Nature_Action="REQ_EMISSION" Id_Logiciel="ReseauTest" Version_Logiciel="01.00.00" Id_Moteur="ReseaumatiquePhML" Version_Moteur="1.3.0.0" Usage="P"><ENTETE><EMETTEUR Nature="OF" Code="00" Id_Officine="123" Adresse="Ph - 76000 " /><RECEPTEUR Nature="RE" Code="14" Id_Repartiteur="140" Adresse="uu" /><REF_MESSAGE>I1234567890124</REF_MESSAGE><DATE>2012-11-22T09:59:25</DATE></ENTETE><CORPS><MESSAGE_OFFICINE xmlns="urn-srp:fr.srp.protocole:message-v30"><ENTETE><EMETTEUR Nature_Partenaire="OF" Id_Client="425" /><DESTINATAIRE Id_Repartiteur="25" Nature_Partenaire="RE" Code_Societe="5" /><DATE>2012-11-22T09:59:25</DATE></ENTETE><CORPS><COMMANDE Commentaire_General="test commande" Ref_Cde_Client="CMDEV12345614"><LIGNE_CDE Num_Ligne="1" Type_Codification="CIP/ACL7" Code_Produit="72216" Designation="t1" Quantite="1" Partielle="false" Reliquat="false" /></COMMANDE></CORPS></MESSAGE_OFFICINE></CORPS></SRP_ENVELOPPE>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête HTTP POST sous .Net
    Par Médinoc dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/10/2007, 17h30
  2. [LINUX] Simuler une requête HTTP POST ou GET
    Par Anified dans le forum Linux
    Réponses: 1
    Dernier message: 05/02/2007, 16h11
  3. Récupérer le résultat d’une requête http
    Par f_in_afyn dans le forum Langage
    Réponses: 2
    Dernier message: 27/01/2007, 17h41
  4. Comment effectuer une requête http post ?
    Par Turtle_fr dans le forum 4D
    Réponses: 10
    Dernier message: 07/09/2006, 01h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo