PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → requete chronopost
requete chronopost
Started by supercdfr, Jan., 27 2020 8:38 AM - 10 replies
Registered member
18 messages
Posted on January, 27 2020 - 8:38 AM
Bonjour,

chronopost m'a transferé un exemple de requete soap pour chez eux. D'aprés eux, cela fonctionne, mais je n'arrive pas a obtenir quoi que ce soit, cela me retourne uniquement du vide.
Pour info, le compte mis dans cet exemple est le compte generique de test de chronopost, renvoyant des données specimens :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cxf="http://cxf.shipping.soap.chronopost.fr/">

<soapenv:Body>

<cxf:shippingMultiParcelV3>

<headerValue>

<accountNumber>19869502</accountNumber>

<idEmit>CHRFR</idEmit>

<identWebPro/>

<subAccount/>

</headerValue>

<shipperValue>

<shipperAdress1>ADRESSE EXPEDITEUR</shipperAdress1>

<shipperAdress2/>

<shipperCity>PARIS</shipperCity>

<shipperCivility>M</shipperCivility>

<shipperContactName>NOM CONTACT</shipperContactName>

<shipperCountry>FR</shipperCountry>

<shipperCountryName>FRANCE</shipperCountryName>

<shipperEmail>adresse@mail.fr</shipperEmail>

<shipperMobilePhone/>

<shipperName>NOM EXPEDITEUR</shipperName>

<shipperName2></shipperName2>

<shipperPhone>0102030405</shipperPhone>

<shipperPreAlert>0</shipperPreAlert>

<shipperZipCode>75002</shipperZipCode>

<shipperType>1</shipperType>

</shipperValue>

<customerValue>

<customerAdress1>ADRESSE CLIENT</customerAdress1>

<customerAdress2/>

<customerCity>PARIS</customerCity>

<customerCivility>M</customerCivility>

<customerContactName>NOM CONTACT</customerContactName>

<customerCountry>FR</customerCountry>

<customerCountryName>FRANCE</customerCountryName>

<customerEmail>adresse@mail.fr</customerEmail>

<customerMobilePhone/>

<customerName>NOM CLIENT</customerName>

<customerName2></customerName2>

<customerPhone>0607080910</customerPhone>

<customerPreAlert>0</customerPreAlert>

<customerZipCode>75002</customerZipCode>

<printAsSender>N</printAsSender>

</customerValue>

<recipientValue>

<recipientName>NOM DESTINATAIRE</recipientName>

<recipientName2></recipientName2>

<recipientAdress1>ADRESSE 1 DESTINATAIRE</recipientAdress1>

<recipientAdress2>ADRESSE 2 DESTINATAIRE</recipientAdress2>

<recipientZipCode>78180</recipientZipCode>

<recipientCity>MONTIGNY LE BRETONNEUX</recipientCity>

<recipientCountry>FR</recipientCountry>

<recipientContactName>CONTACT DESTINATAIRE</recipientContactName>

<recipientEmail>mail@gmail.com</recipientEmail>

<recipientPhone>1234567890</recipientPhone>

<recipientMobilePhone/>

<recipientPreAlert>0</recipientPreAlert>

<recipientType>2</recipientType>

</recipientValue>

<refValue>

<customerSkybillNumber></customerSkybillNumber>

<recipientRef>recipientRef</recipientRef>

<shipperRef>shipperRef</shipperRef>

<idRelais></idRelais>

</refValue>

<skybillValue>

<bulkNumber>1</bulkNumber>

<codCurrency>EUR</codCurrency>

<codValue>0</codValue>

<content1></content1>

<content2></content2>

<content3></content3>

<content4></content4>

<content5></content5>

<customsCurrency>EUR</customsCurrency>

<customsValue/>

<evtCode>DC</evtCode>

<insuredCurrency>EUR</insuredCurrency>

<insuredValue>0</insuredValue>

<latitude></latitude>

<longitude></longitude>

<masterSkybillNumber/>

<objectType>MAR</objectType>

<portCurrency/>

<portValue>0</portValue>

<productCode>1S</productCode>

<qualite/>

<service>0</service>

<shipDate>2020-01-17</shipDate>

<shipHour>17</shipHour>

<skybillRank>1</skybillRank>

<source></source>

<weight>10</weight>

<weightUnit>KGM</weightUnit>

<height>30</height>

<length>50</length>

<width>40</width>

<as></as>

<subAccount></subAccount>

<toTheOrderOf></toTheOrderOf>

<skybillNumber></skybillNumber>

<carrier>1</carrier>

<skybillBackNumber></skybillBackNumber>

</skybillValue>

<skybillParamsValue>

<duplicata>N</duplicata>

<mode>PDF</mode>

<withReservation>2</withReservation>

</skybillParamsValue>

<password>255562</password>

<modeRetour>2</modeRetour>

<numberOfParcel>1</numberOfParcel>

<version>2.0</version>

<multiParcel>N</multiParcel>

</cxf:shippingMultiParcelV3>

</soapenv:Body>

</soapenv:Envelope>
Registered member
201 messages
Popularité : +6 (10 votes)
Posted on January, 27 2020 - 9:17 AM
Bonjour
As tu essayé la requête en dehors de windev ? Genre avec un outil comme SoapUI ?
Registered member
18 messages
Posted on January, 27 2020 - 6:42 PM
oui, et ca a l'air de marché
Registered member
201 messages
Popularité : +6 (10 votes)
Posted on January, 28 2020 - 9:14 AM
ça a l'air ? c'est à dire ?
si ça fonctionne hors windev, c'est soit un soucis de Windev et faut attendre la correction, soit il y a un soucis dans la manière ou t'as implémenté la lecture de la réponse qui fait que y a du vide ou dans l'appel ce qui fait que chronopost te renvoit du vide
t'as suivi un tutorial ou une aide PCSOFT ? T'as essayé avec d'autres webservices que chronopost ? as tu une erreur de compilation et/ou un avertissement dans l'audit ?
Registered member
133 messages
Popularité : +3 (3 votes)
Posted on January, 29 2020 - 9:35 AM
l'adresse du WS est https://ws.chronopost.fr/shipping-cxf/ShippingServiceWS…
j'ai essayé en direct, via httprequete, mais rien n'est renvoyé. Les autres fonctions du WS fonctionnent bien.
Registered member
1,623 messages
Popularité : +100 (114 votes)
Posted on January, 29 2020 - 12:01 PM
Hello,

Puisque tu as a ta disposition le fichier WSDL, pourquoi ne pas l'importer directement dans windev ?
Tu pourra ma manipuler le webservices comme un objec avec des membres et des methodes.

Ce sera bien plus simple
Registered member
133 messages
Popularité : +3 (3 votes)
Posted on January, 29 2020 - 2:25 PM
J'ai déjà essayé.,L'importation, pas de soucis, mais en essayant de suivre l'exemple soap qu'ils ont fournis, ont obtient rien. Comme si certains paramètres étaient spéciaux. Et la doc de chronopost est generique et n'indique pas le type attendu.
Registered member
1,623 messages
Popularité : +100 (114 votes)
Posted on January, 29 2020 - 2:45 PM
Ha ok, donc le flux est bien envoyé mais leur webservice ne répond RIEN si tout n'est pas envoyé correctement..
J'ai passé beaucoup de temps avec leur webservice Shipping.. justement pour ce genre de problème.

Pas d'autres choix que d'y aller petit a petit, on remplit tout ce qu'on peut puis on retire ce dont on a pas besoin un par un jusqu’à obtenir satisfaction. Une vraie galère leur WS !
Registered member
1,623 messages
Popularité : +100 (114 votes)
Posted on January, 29 2020 - 2:49 PM
Tiens, si ca peut t'aider, c'est ce que j'utilise pour la methode Shipping :

SI bAvecESD ALORS //Si enlevement demandé
//esdValue
WS_Requete.esdValue.retrievalDateTime=DateVersChaîne(DateHeureEnlevement,"AAAAMMJJHHmmSS")
WS_Requete.esdValue.closingDateTime=DateVersChaîne(DateHeureEnlevement,"AAAAMMJJ")+HeureVersChaîne(HeureFermeture,"HHmm")
WS_Requete.esdValue.specificInstructions=""
WS_Requete.esdValue.height=1.0
WS_Requete.esdValue.width=1.0
WS_Requete.esdValue.length=1.0
WS_Requete.esdValue.shipperCarriesCode=""
WS_Requete.esdValue.shipperBuildingFloor=""
FIN



//headerValue
WS_Requete.headerValue.idEmit = "CHRFR"
WS_Requete.headerValue.accountNumber = Compte.Identifiant


//shipperValue
WS_Requete.shipperValue.shipperName = NomExp
WS_Requete.shipperValue.shipperAdress1 = AdresseExp
WS_Requete.shipperValue.shipperCivility=" "
WS_Requete.shipperValue.shipperCountry="FR"
WS_Requete.shipperValue.shipperAdress2=ComplementExp
WS_Requete.shipperValue.shipperZipCode=CodePostalExp
WS_Requete.shipperValue.shipperCity=VilleExp




//customerValue
WS_Requete.customerValue.customerName = NomExp
WS_Requete.customerValue.customerCivility=" "
WS_Requete.customerValue.customerCountry="FR"


//recipientValue

WS_Requete.recipientValue.recipientName = NomDest
WS_Requete.recipientValue.recipientCountry = "FR"
WS_Requete.recipientValue.recipientAdress1=AdresseDest
WS_Requete.recipientValue.recipientAdress2=ComplementDest
WS_Requete.recipientValue.recipientZipCode=CodePostalDest
WS_Requete.recipientValue.recipientCity=VilleDest





//refValue
WS_Requete.refValue.customerSkybillNumber=RefDossier
WS_Requete.refValue.shipperRef = RefClient
WS_Requete.refValue.recipientRef = RefDossier

//skybillValue
WS_Requete.skybillValue.evtCode = "DC"
WS_Requete.skybillValue.productCode = "01"
WS_Requete.skybillValue.shipDate = DateVersChaîne(DateSys(), "AAAAMMJJ" + HeureVersChaîne(Maintenant, "HHMMSS"))
WS_Requete.skybillValue.shipHour = HeureVersChaîne(Maintenant,"HH")
WS_Requete.skybillValue.weight = 1
WS_Requete.skybillValue.weightUnit = "KGM"
WS_Requete.skybillValue.service = "0"
WS_Requete.skybillValue.objectType = "MAR" //Marchandise
WS_Requete.skybillParamsValue.mode = "PDF" // format de l'étiquette (voir la doc)

WS_Requete.password = Compte.MotDePasse
Registered member
133 messages
Popularité : +3 (3 votes)
Posted on January, 30 2020 - 2:43 PM
Merci mais je n'avais pas de soucis avec le shiping 'simple'.
C'est le shippingMultiParcel que je n'arrive pas a faire fonctionner. Ca doit etre au niveau des variable a passer, mais impossible de voir de quelle nature elles sont, et chronopost me dit juste que chez eux, en soap, ca passe.
Posted on March, 09 2021 - 9:53 AM
Bonjour
Je dois utiliser le shippingMultiParcelV4 de Chronopost, et je pense être dans la même problématique.

Depuis SoapUI, ma requête me retourne mon étiquette, mais depuis Windev, j'ai une réponse qui me dit "null while invoking public fr.chronopost.soap.shipping.service.Shipping.ResultMultiParcelExpeditionValue..."

Est-ce que tu as pu trouver une solution ?

Merci pour vos retours d'expérience.