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

Web Perl Discussion :

pbs de consommation de web Service .net avec soap::lite


Sujet :

Web Perl

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 310
    Points : 184
    Points
    184
    Par défaut pbs de consommation de web Service .net avec soap::lite
    Bonjour , j'ai écris un webservice avec visual studio 2008 en C#, depuis un navigateur le Web service fonctionne parfaitement.
    Hors depuis mon application en PERL, bien que j'arrive effectivement à l'appeller (et a récuperer une reponse), je n'arrive pas a lui passer les paramettres, ceux-ci restent toujours desperement à la valeur NULL.

    Mon code PERL
    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
     
    #!c:/Perl/bin/perl
     
    #
    # Appel des librairies
    #
    use DBI();
    use CGI;
    use SOAP::Lite;
     
    $service = SOAP::Lite
    		->uri('http://localhost')
    		->proxy("http://localhost:2897/cpam.asmx")
    		->service('http://localhost:2897/cpam.asmx?WSDL');		
     
    $test = "test";
    print "test retour : ". $service->Test($test) ."<br/>";
    Appelle cette méthode en c# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    [WebMethod]
            public string Test(string test)
            {
                if (string.IsNullOrEmpty(test))
                {
                    test = "vide";
                }
     
                return test;
            }
    Me retourne désesperement vide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Tu as réussi finalement?
    Je suis moi aussi "bloqué" avec mon code perl et mon web service.

    J'ai suivi un tutoriel pour implémenter un web service en java, ca se fait comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    use SOAP::Lite;
    $service = SOAP::Lite -> uri('urn:QuotationService')
    		   -> proxy('http://10.45.X.X:8080/soap/servlet/rpcrouter');
    $result = $service -> getAllQuotations() -> result();
    $i = -1;
    while ( ref $result->[++$i] )
    {
    print "$result->[$i]{'text'} ($result->[$i]{'author'})\n";
    }
    -> ca marche parfaitement bien!!!

    Par contre, je ne vois pas comment implémenter mon web service en C#. Voici un extrait du code, pour simplifier au maximum :

    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
    namespace CalcService
    {
        [WebService(Namespace = "http://localhost/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        public class CalcService : System.Web.Services.WebService
        {
     
            [WebMethod (Description="WebMedhod Hello World")]
            public string HelloWorld()
            {
                return "Hello World";
            }
        }
    }
    J'essaie de reprendre l'implémentation de bleuerouge, pour mon webservice, dans le fichier perl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    use SOAP::Lite;
    
    $service = SOAP::Lite
    		->uri('http://10.45.X.X')
    		->proxy('http://10.45.X.X:3114/CalcService.asmx')
    		->service('http://10.45.X.X:3114/CalcService.asmx?op=HelloWorld');
    -> j'obtiens le message d'erreur suivant :

    Service description 'http://10.45.X.X:3114/CalcService.asmx?op=HelloWorld' can't be loaded: 500 Can't connect to 10.45.X.X:3114 (connect: Connection refused)
    Si j'enleve la ligne en gras, je n'ai plus de message d'erreur. C'est donc au niveau de l'implémentation du service en lui même que je bloque...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Ce problème est en parti corriger, il s'agissait d'un problème sous IIS pour le Web Service.

    Cependant, je suis maintenant confronté à un autre problème.
    Mon Web Service est stocké sur un serveur web, et disponible via IIS à l'adresse :
    http://monserveur.test.fr:901/CalcService.asmx

    Mon script perl est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    use SOAP::Lite;
     
    my $service = SOAP::Lite
    	->uri('http://monserveur.test.fr/')
    	->proxy('http://monserveur.test.fr:901/CalcService.asmx')
    	->service('http://monserveur.test.fr:901/CalcService.asmx?WSDL');
     
    print "retourne :". $service->HelloWorld() ."\n";
    Quand je teste ce script sur mon poste local sous windows, j'obtiens bien :
    retourne :Hello World
    Cependant, lorsque je le teste sur un deuxième serveur sous linux, il ne semble pas accéder correctement au Web Service, car j'ai seulement :
    retourne :
    J'ai testé avec plusieurs ports, et cela ne change rien...
    De même je pouvais accéder normalement à un Web Service Java depuis le serveur Linux...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 310
    Points : 184
    Points
    184
    Par défaut
    Bonjour, non je n'ai malheureusement pas réussit, si tu as des message à transmettre tu peut invoquer des méthodes sans paramètre. (j'arrive à traiter invoquer les méthode mais les paramètres sont toujours vide).

    Si jamais tu trouves, n'hésite pas à m'expliquer ta démarche.

    Bonne chance ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Non, je n'ai pas réussi à passer des paramètres à mes fonctions

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Nouveau problème...
    Alors que ca marchait sans paramètres jusqu'a maintenant, j'ai une erreur quand je lance mon script précédent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    my $service = SOAP::Lite
    	->uri('http://localhost/')
    	->proxy('http://localhost:3114/CalcService.asmx')
    	->service('http://localhost:3114/CalcService.asmx?WSDL');
     
    print "alors :". $service->HelloWorld() ."\n";
    J'ai maintenant ce message :

    C:\soap\perl>perl HelloWorld-localhot3114.pl
    Service description 'http://localhost:3114/CalcService.asmx?WSDL' can't be loade
    d: 503 Service Unavailable
    Je ne comprends pas...

Discussions similaires

  1. Consommer les web services de JasperServer avec .NET (C#)
    Par maverick911 dans le forum Jasper
    Réponses: 0
    Dernier message: 05/05/2010, 10h52
  2. Comment consommer un Web service JAX_WS avec une application Mobile
    Par herguem dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 13/04/2010, 17h56
  3. Consommer un web service C# avec un client PHP
    Par legide dans le forum Services Web
    Réponses: 4
    Dernier message: 24/12/2009, 16h54
  4. Consommer un web service JAX-WS avec un client JDK 1.4 ?
    Par Jibee dans le forum Services Web
    Réponses: 1
    Dernier message: 23/10/2008, 10h47
  5. Consommer un webservice asp.net depuis soap::lite
    Par bleuerouge dans le forum Web
    Réponses: 0
    Dernier message: 11/01/2008, 15h17

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