(1) 2 3 »


Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
Voila mon Pb...je souhaite passer ces codes Perl en WD pour l'integrer à une appli WD. Le but est de parser le site PagesJaunes puis sur les reponses faire EcranVersTable ou XML...plutot que MECHANIZE.
Etant totalement imcompetent en Perl et débutant avec Windev je me rapproche de vous pour un coup de main.

QQ a t-il deja eu besoin de faire ce genre de manip via un client soap xml en utilisant le site http://labs.pagesjaunes.fr:9001 ??

//Code:

# Copyright 2004 France Telecom R&D LLC. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the CeCILL free software licensing agreement
# available at http://www.inria.fr/presse/pre119.fr.html.

use URI;
use SOAP::Lite;
use Data::Dumper;

my $soap = SOAP::Lite->uri('http://labs.pagesjaunes.fr:9001/PagesJaunes')
->proxy("http://labs.pagesjaunes.fr:9001");

# Cheap argument parsing
while ($arg = pop @ARGV) { $parsexml = 1 if $arg eq '-parsexml' }
if ($parsexml) { $soap->outputxml(0) } else { $soap->outputxml(1) }

# Authenticate (You can also do this in the shell below if you'd prefer)
$soap->Authenticate("your_username", "your_password");

# Loop forever, evaluating each request and displaying the results.
while (1) {
print "PagesJaunes SOAP> ";
chomp($request = <>);
$result = eval "\$soap->$request";

if (!$result) { warn "No result -- is the server running?\n" }
elsif (!$parsexml) { print $result }
elsif ($result->fault) {
print join ', ', $result->faultcode, $result->faultstring,
$result->faultdetail;
} else {
print Data::Dumper::Dumper($result->{_content}), "\n";
}
}

exit 0;

//AUTRE SOLUTION TOUJOURS EN PERL
//package WWW::Search::Pagesjaunes;
use strict;
use Carp qw(carp croak);
use HTML::Form;
use WWW::Mechanize;
use HTML::TokeParser;
use HTTP::Request::Common;
use LWP::UserAgent;

$WWW::Search::Pagesjaunes::VERSION = '0.12';

sub ROOT_URL() { 'http://www.pagesjaunes.fr' }

sub new {
my $class = shift;
my $self = {};
my $ua = shift() || WWW::Mechanize->new(
env_proxy => 1,
keep_alive => 1,
timeout => 30,
agent => "WWW::Search::Pagesjaunes/$WWW::Search::Pagesjaunes::VERSION",
);

$self->{ua} = $ua;
$self->{limit} = 50;
$self->{fast} = 0;
$self->{error} = 1;
$self->{lang} = 'FR';

bless( $self, $class );
}

sub agent {
my $self = shift;
if ( $_[0] ) {
my $old = $self->{ua};
$self->{ua} = $_[0];
return $old;
}
else {
return $self->{ua};
}
}

sub find {
my $self = shift;
my %opt = @_;

my $p = $opt{activite} ? 'j' : 'b';

# Make the first request to pagesjaunes.fr
$self->{URL} = ROOT_URL . "/p$p.cgi";


if ( $self->{fast} ) {
$self->{req} = POST(
$self->{URL},
[
faire => 'decode_input_image',
DEFAULT_ACTION => $p . 'f_inscriptions_req',
lang => $self->{lang},
pays => 'FR',
srv => uc("p$p"),
TYPE_RECHERCHE => 'ZZZ',
input_image => '',
FRM_ACTIVITE => $p eq 'j' ? $opt{activite} : undef,
FRM_NOM => $opt{nom},
FRM_PRENOM => $p eq 'b' ? $opt{prenom} : undef,
FRM_ADRESSE => $opt{adresse},
FRM_LOCALITE => $opt{localite},
FRM_DEPARTEMENT => $opt{departement},
#'${p}F_INSCRIPTIONS_REQ.x' => 1,
#'${p}F_INSCRIPTIONS_REQ.y' => 1,
]);
}
else {
my $req = $self->{ua}->get($self->{URL});

if ( !$req->content || !$req->is_success ) {
croak('Error while retrieving the HTML page');
}

my @forms = HTML::Form->parse( $req->content, $self->{URL} );

# BooK finds the form by grepping thru all of them, instead
# of limiting ourselves to the first and second form.
my ($form) = grep { $_->find_input('lang') } @forms;

eval {
# HTML::Form complains when you change hidden fields values.
local $^W;
$form->value( 'lang', $self->{lang} );

$form->value( 'FRM_ACTIVITE', $opt{activite} ) if $opt{activite};
$form->value( 'FRM_NOM', $opt{nom} );
$form->value( 'FRM_PRENOM', $opt{prenom} ) if !$opt{activite};
$form->value( 'FRM_ADRESSE', $opt{adresse} );
$form->value( 'FRM_LOCALITE', $opt{localite} );
$form->value( 'FRM_DEPARTEMENT', $opt{departement} );
};
croak "Cannot fill the pagesjaunes request form. try with the 'fast' option\n" if $@;

$self->{limit} = $opt{limit} || $self->{limit};

$self->{req} = $form->click;
}

return $self;
}

sub results {
my $self = shift;

my $result_page = $self->{ua}->request( $self->{req} )->content;

my $parser = HTML::TokeParser->new( \$result_page );

# All the
tags are transformed to '§¤§', to separate
# multiple phone numbers
$parser->{textify} = {
'br' => sub() { '§¤§' }
};

my @results;

if ( $self->{limit} == 0 ) {
$self->{has_more} = 0;
return @results;
}

# XXX This is a really crude parsing of the data, but it seems to
# get the job done.
#
#
#

#
#
#
#
#
#
#
#
#
Name 
Address(télécopie)? Phone

#

#
$self->{has_more} = 0;

while ( my $token = $parser->get_tag("table") ) {
next
unless $token->[1]
&& $token->[1]{class}
&& $token->[1]{class} eq 'fdcadreinscr';
{ # We're inside an entry table

$parser->get_tag("td"); # The first
is the name
my $name = _trim( $parser->get_trimmed_text('/td') );

$parser->get_tag("td"); # The second
is the address
my $address = _trim( $parser->get_trimmed_text('/td') );
$address =~ s/\W*\|.*$//g;

$parser->get_tag("td"); # The third
is the phone number
my $phone = _trim( $parser->get_trimmed_text('/td') );
my @phones = map { _trim($_); s/\.(\s*\d)/$1/; $_ } split(/§¤§/, $phone);

# The third
tag is either the mail or the descr, depending
# on the class
my @emails = ('');
my $tag = $parser->get_tag("td");
if ( $tag->[1]{class} && $tag->[1]{class} eq 'txtinscr'){
my $email = _trim( $parser->get_trimmed_text('/td') );
@emails = map { _trim($_); s/Mail\s*:\s*//; $_ } split(/§¤§/, $email);
}

push(
@results,
WWW::Search::Pagesjaunes::Entry->new(
$name, $address, [ @phones ], [ @emails ]
)
);

return @results if --$self->{limit} == 0;
}
}

foreach my $form ( HTML::Form->parse( $result_page, $self->{URL} ) ) {
if ( $form->find_input('faire')
&& $form->value('faire') eq 'inscriptions_suivant' )
{
$self->{has_more} = 1;
$self->{req} = $form->click();
}
}

# If there was no result, we look for an error message in the HTML page
if ( !@results && $self->{error} ) {
$parser = HTML::TokeParser->new( \$result_page );
while ( my $token = $parser->get_tag("font") ) {
next
unless $token->[1]
&& $token->[1]{color}
&& $token->[1]{color} eq '#ff0000';
$parser->{textify} = {
'br' => sub() { " " }
};
carp _trim( $parser->get_trimmed_text('/font') ) . "\n";
}
}

wantarray ? @results : $results[0];
}

sub _trim {
$_[0] =~ s/\xa0/ /g; # Transform the   into whitespace
$_[0] =~ s/^\s*|\s*$//g;
$_[0] =~ s/\s+/ /g;
$_[0];
}

sub limit {
my $self = shift;
$self->{limit} = $_[0] || $self->{limit};
}

sub has_more { $_[0]->{has_more} }

package WWW::Search::Pagesjaunes::Entry;

# The entry object is a blessed array with the following indices:
# 0 - Name
# 1 - Address
# 2 - Arrayref of phone numbers
# 3 - E-mail (pj)
# 4 - Notes (pj)

sub new {
my $class = shift;
bless [ @_ ], $class
}
sub name { $_[0]->[0] }
sub address { $_[0]->[1] }
sub phone { $_[0]->[2] }
sub email { $_[0]->[3] }
sub entry {
# Name Address First email Phones
$_[0]->[0], $_[0]->[1], $_[0]->[3]->[0], @{ @{ $_[0] }[2] },
}

1;
Contribution le : 03/12/2004 18:20
_________________
a bientot

OUIOUI
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Pour un début,
les espaces sont a remplacer pardes +
sStr est une chaîne
sRequest est une chaîne
sNom est une chaine = <Nom a chercher>
sDepartement est une chaine = <code posal>
sRequest = "http://www.pagesjaunes.fr/pb.cgi?"...
	 + "srv=PB&faire=inscriptions_req&suit_vgeo=1"...
	 + "〈=FR&pays=FR&srv=PJ&TYPE_RECHERCHE=CDEP"...
	 + "&OBJ_GEO=2%2F%3B09305100%3B%3B%3B%2F0&"...
	 + "SAV_DEPARTEMENT="+sDepartement+"&FRM_DEPARTEMENT="+sDepartement+"93160"...
	 + "&FRM_NOM="+sNom+"&x=0&y=0"
		 
SI HTTPRequête(sRequest) ALORS
	sStr=HTTPDonneRésultat(HTTPRésultat)
	fSauveTexte("C:\PJ.htm",sStr)	
FIN


Il reste à analyser le contenu de la page html

Il existe une méthode via le soap mais je n'est pas trop regardé étant donnée que la première fonction
Authenticate
n'est pas passée.

Contribution le : 06/12/2004 02:48
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
Merci charly pour tes explications riches de sens ..

Si je te donne Une authentification valide es tu en mesure
de me depanner egalemment sur la méthode via le soap ???

Je sais que je suis un peu gonflé mais bon..le temps de piger Perl et Windev 15 sera sorti !!!

Contribution le : 07/12/2004 14:37
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
Merci charly pour tes explications riches de sens ..

Si je te donne Une authentification valide es tu en mesure
de me depanner egalemment sur la méthode via le soap ???

Je sais que je suis un peu gonflé mais bon..le temps de piger Perl et Windev 15 sera sorti !!!

Contribution le : 07/12/2004 14:37
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
Penses tu qu'il soit possible de commander le defilement automatique des pages de résultats retournées par le site tout en conservant les donnees obtenues dans une tables.???
Ce qui presenterai tout l'interet de la manip et donnerai la possibilité de parser sans passer par soap..

Contribution le : 07/12/2004 15:06
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

En ce qui concerne le compte je m'était bien entendu inscrit avant de tester.

Malgré cela je ne suis pas passé quand même, il aurait fallu avoir la description du service pour en connaître les syntaxes exactes.

Ou alors y aller à taton, mais cela risque de prendre beaucoup de temps.

Contribution le : 07/12/2004 15:28
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
je suis d'accord d'autant plus qu'un WSDL est en preparation.
en revanche ton amorce de traduction est tres interessante et mérite d'etre creusée car elle doit permettre sans limitations de requetes ( par le soap) de charger dans une table les infos HTTP retournées.

Es tu en mesure de me donner un coup de main sur ce projet qui
j'en suis sur interessera le plus grand nombre ??!!

A+


Contribution le : 07/12/2004 15:36
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
il semble qu'il cree des class definissant les cracteristiques des tags afin de les parser. Mais bon je nesuis pas au niveau de charly


Jerm

Contribution le : 07/12/2004 17:52
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Il serait effectivement interressant de monter un tel projet.

Cependant je serais plus interressé de me diriger vers
Infobel que je trouve plus simple de manipulation (surtout pour le décodage) et qui permet en plus la recherche inversée d'annuaire à partir d"un numéro de téléphone.


Contribution le : 07/12/2004 18:45
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
Oui bien sur en revanche l'extraction de coordonnees sur infobel ne prend pas en considération les numeros de fax et les emails ce qui, pour l'heure, est devenu un des aspects les plus interessant dans le cadre d'une campagne marketing.

J'ai vu tourner le code N°2 et le résultat est plus que satisfaisant, de plus les pages jaunes presente l'interet d'être à jour....

J'ai discuter avec des confrères qui utilisent les DOM pour Parser....sans autres explications !!

Pouvons nous envisager de travailler sur le sujet en traduisant dans un premier temps le code Perl vers une POO
Les balises contenues dans les pages de résultats servent effectivement à extraire les champs.

Donnez moi votre avis sur votre possible collaboration, si d'autres lecteurs souhaitent nous rejoindre...compte tenu des lectures il semble qu'il y en ai faites vous connaitre..

A+

Contribution le : 08/12/2004 09:25
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
Bon alors voila il semble que l'on puisse utiliser une autre méthode pour lire le flux xml genere par le script java en utilisant les services du parser dom xml.
En fait les recherches sont faites à partir d'un champ html
pagesjaunes.fr les resultats sont analyser via ce fameux parser.Il ont developper l'appli sous delphi qui semble utiliser cette API en natif.

Pensez vous que nous ayons la meme chance sous windev ??

Contribution le : 08/12/2004 10:49
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Ce que j'ai pu analyser

La première page est facile à appeler et surement pas difficile a analyser via les expressions régulières

Le plus compliqué, c'est l'appel des pages suivantes ou il faut reconstruire la ligne d'adresse avec des données contenu dans le code html de la page en cours.

Pour ouioui69:

Si sous delphi il existe une dll externe, celle-ci doit être utilisable aussi sous WinDev.
Il faut alors connaître la syntaxe des fonctions qui la constitue.

Ci cette dll est une dll ActiveX alors les méthodes et propriétés sont aisément accessibles via divers programmes.

Contribution le : 08/12/2004 11:25
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
Voici un premier retour sur aide delphi....rien de bien fabuleux mais je continue à chercher..

DOM (Document Object Model) est un ensemble d'interfaces standard définissant la manière de représenter un document XML analysé. Ces interfaces sont implémentées par plusieurs fournisseurs tiers différents. Si vous ne souhaitez pas utiliser le fournisseur par défaut livré avec Delphi, il existe un mécanisme de recensement qui vous permet d'intégrer des implémentations DOM supplémentaires d'autres fournisseurs dans l'infrastructure XML.

L'unité XMLDOM contient les déclarations de toutes les interfaces DOM définies dans la spécification XML DOM de niveau 2 du W3C. Chaque fournisseur DOM présente une implémentation de ces interfaces.

Pour utiliser l'un des fournisseurs DOM déjà pris en charge par Delphi, localisez l'unité représentant l'implémentation DOM. Les noms de ces unités se terminent par la chaîne 'xmldom'. Par exemple, l'unité pour l'implémentation Microsoft est MSXMLDOM, l'unité pour l'implémentation IMB est IBMXMLDOM et l'unité pour l'implémentation Open XML est OXMLDOM. Si vous ajoutez l'unité de l'implémentation voulue à votre projet, l'implémentation DOM est automatiquement recensée de façon à être disponible pour votre code.

Pour utiliser une autre implémentation DOM, vous devez créer une unité définissant un descendant de la classe TDOMVendor. Cette unité peut fonctionner comme l'une des implémentations DOM intégrées, en rendant votre implémentation DOM disponible lorsqu'elle est incluse dans un projet.
Dans votre classe dérivée, vous devez redéfinir deux méthodes : la méthode Description, qui renvoie une chaîne identifiant le fournisseur, et la méthode DOMImplementation, qui renvoie l'interface de niveau supérieur (IDOMImplementation).

Votre nouvelle unité doit recenser le fournisseur en appelant la procédure globale RegisterDOMVendor. Cet appel s'effectue généralement dans la section d'initialisation de l'unité.
Lorsque votre unité est déchargée, elle doit annuler elle-même son recensement pour indiquer que l'implémentation DOM n'est plus disponible. Annulez le recensement du fournisseur en appelant la procédure globale UnRegisterDOMVendor. Cet appel s'effectue généralement dans la section de finalisation.

Certains fournisseurs proposent des extensions aux interfaces DOM standard. Pour vous permettre d'utiliser ces extensions, l'unité XMLDOM définit également une interface IDOMNodeEx. IDOMNodeEx est un descendant de l'interface standard IDOMNode qui inclut les plus utiles de ces extensions.

Vous pouvez manipuler directement les interfaces DOM pour analyser et modifier des documents XML. Appelez simplement la fonction GetDOM pour obtenir une interface IDOMImplementation que vous pouvez utiliser comme point de départ.

Remarque

Pour une description détaillée des interfaces DOM, voir les déclarations dans l'unité XMLDOM, la documentation de votre fournisseur DOM ou les spécifications fournies sur le site Web du W3C (www.w3.org).



Commencer par recreer le code present dans l'exemple Perl
est peut être plus facile...je ne connais rien à ce language mais le peu que j'ai compris se rapproche parfaitement des balises contenues dans la page de reponses..idem pour suite.
Il nous faut certainement commencer par creer les classes correspondantes...tu comprends bien le Perl ???

Contribution le : 08/12/2004 12:31
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
En fait la logique concernant l'utilisation du Parser DOM semble être de Creer un fichier temp XML sur les reponses pour ensuite manipuler le script.
DOM et Java fonctionnent visiblement bien ensemble..

Le sujet est de plus en plus passionnant ;;

a+

Contribution le : 08/12/2004 12:49
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Non je ne connais pas le perl
cependant on à tout de même l'impression qu'il fait appel au SOAP.

Windev sait manipuler le soap, c'est là que j'ai commencé mes recherches.

le problème étant que ne suis pas arrivé a passer le cap de l'identification sur le service via la fonction Authenticate()
je me suis dirigé ver l'analyse du contenu des pages HTML

Contribution le : 08/12/2004 12:59
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
oui mais la tu parles de la premiere methode, regardes plus bas et tu verra que tu a une deuxieme methode correspondant en tous points avec ta demarche.

Il nous dit ( voir plus bas #XXX)


//AUTRE SOLUTION TOUJOURS EN PERL
//package WWW::Search::Pagesjaunes;
use strict;
use Carp qw(carp croak);
use HTML::Form;
use WWW::Mechanize;
use HTML::TokeParser;
use HTTP::Request::Common;
use LWP::UserAgent;

$WWW::Search::Pagesjaunes::VERSION = '0.12';

sub ROOT_URL() { 'http://www.pagesjaunes.fr' }

sub new {
my $class = shift;
my $self = {};
my $ua = shift() || WWW::Mechanize->new(
env_proxy => 1,
keep_alive => 1,
timeout => 30,
agent => "WWW::Search::Pagesjaunes/$WWW::Search::Pagesjaunes::VERSION",
);

$self->{ua} = $ua;
$self->{limit} = 50;
$self->{fast} = 0;
$self->{error} = 1;
$self->{lang} = 'FR';

bless( $self, $class );
}

sub agent {
my $self = shift;
if ( $_[0] ) {
my $old = $self->{ua};
$self->{ua} = $_[0];
return $old;
}
else {
return $self->{ua};
}
}

sub find {
my $self = shift;
my %opt = @_;

my $p = $opt{activite} ? 'j' : 'b';

# Make the first request to pagesjaunes.fr
$self->{URL} = ROOT_URL . "/p$p.cgi";


if ( $self->{fast} ) {
$self->{req} = POST(
$self->{URL},
[
faire => 'decode_input_image',
DEFAULT_ACTION => $p . 'f_inscriptions_req',
lang => $self->{lang},
pays => 'FR',
srv => uc("p$p"),
TYPE_RECHERCHE => 'ZZZ',
input_image => '',
FRM_ACTIVITE => $p eq 'j' ? $opt{activite} : undef,
FRM_NOM => $opt{nom},
FRM_PRENOM => $p eq 'b' ? $opt{prenom} : undef,
FRM_ADRESSE => $opt{adresse},
FRM_LOCALITE => $opt{localite},
FRM_DEPARTEMENT => $opt{departement},
#'${p}F_INSCRIPTIONS_REQ.x' => 1,
#'${p}F_INSCRIPTIONS_REQ.y' => 1,
]);
}









# XXX This is a really crude parsing of the data, but it seems to
# get the job done.
#
#
#

#
#
#
#
#
#
#
#
#
Name 
Address(télécopie)? Phone

#


C'est là le debut de ma reflexion

Contribution le : 08/12/2004 13:37
Créer un fichier PDF de la contribution Imprimer
Rapport Haut


Re: Creation Client Soap xml avex windev pour PagesJaunes
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Tout a fait,

Mais je pense que via les expressions régulières cela devrait être plus simples.

Contribution le : 08/12/2004 14:22
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
en attente de ton raisonnement je continue à creuser...

merci de ton implication sur cette demarche qui promet d'etre laborieuse

Contribution le : 08/12/2004 14:33
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Stagiaire WDF
Inscrit:
03/12/2004 18:00
Post(s): 15
Bonjour Charly,

As tu du nouveau ??

Contribution le : 09/12/2004 10:51
_________________
a bientot

OUIOUI
Créer un fichier PDF de la contribution Imprimer


Re: Creation Client Soap xml avex windev pour PagesJaunes
Anonyme
voici le detail sur le bouton 'suite' pour passer un une autre
page de resultat

form_suite methode GET

http://www.mini-challenge2007.mine.nu/

Contribution le : 09/12/2004 15:22
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 3 »

 S'enregistrer pour contribuer



Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Pseudo : 

Mot de passe : 


Perdu le mot de passe ?

Inscrivez-vous maintenant !
Menu
Chercher WDForge

avancée
Chercher Web
options
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2