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

Glassfish et Payara Java Discussion :

Service Web Java EE & PHP


Sujet :

Glassfish et Payara Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut Service Web Java EE & PHP
    Bonjour,
    J'ai un service web en Java EE et je voudrais le tester sur PHP. Le fichier PHP est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    ini_set("soap.wsdl_cache_enabled", "0");
    set_time_limit(60);
     
    $clientSOAP = new SoapClient('http://localhost:8081/serviceweb-EDTC-ejb-dao-jpa-hibernate/WsDaoJpaService?wsdl');
     
    echo $clientSOAP->getAllClients();
     
    ?>
    Lorsque je lance le fichier SoapClient.php voici ce que ça donne comme erreur :

    Warning: SoapClient::SoapClient(http://localhost:8081/serviceweb-EDT...paService?wsdl) [soapclient.soapclient]: failed to open stream: Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu. in C:\Program Files\EasyPHP 3.0\www\soap\SoapClient.php on line 8

    Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "http://localhost:8081/serviceweb-EDTC-ejb-dao-jpa-hibernate/WsDaoJpaService?wsdl" in C:\Program Files\EasyPHP 3.0\www\soap\SoapClient.php on line 8

    Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost:8081/serviceweb-EDTC-ejb-dao-jpa-hibernate/WsDaoJpaService?wsdl' : failed to load external entity "http://localhost:8081/serviceweb-EDTC-ejb-dao-jpa-hibernate/WsDaoJpaService?wsdl" in C:\Program Files\EasyPHP 3.0\www\soap\SoapClient.php:8 Stack trace: #0 C:\Program Files\EasyPHP 3.0\www\soap\SoapClient.php(8): SoapClient->SoapClient('http://localhos...') #1 {main} thrown in C:\Program Files\EasyPHP 3.0\www\soap\SoapClient.php on line 8

    J'ai testé le service web sur la console admin de glassfish et ça fonctionne très bien.

    J'aimerais bien qu'on m'indique où est l'erreur si c'est possible. Merci d'avance.
    Cordialement.

  2. #2
    Nouveau candidat au Club
    Profil pro
    Developpement
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Developpement

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Par défaut Probleme consommation ws java en php
    Bonjour,

    J'ai le meme probleme concernant l'appel d'un web service java en php. Impossible de parser le wsdl visiblement.

    Si quelqu'un a une idée ca serai merveilleux!

    Merci.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Bonjour, je ne rencontre pas de problemes particuliers avec PHP
    généralement j'enregistre le wsdl et le xsd en local. je modifie le wsdl pour qu'il pointe sur le xsd locale
    Mais ca marche sinon

    As tu testé l'url de ton wsdl dans un navigateur ?

    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
    <?php
    	include('serviceBase.php'); 
     
    	include_once '../lib/hotel/Outils.class.php';
    	include_once '../lib/hotel/data_objects/Dispo.class.php';
    	include_once '../lib/hotel/data_objects/Hotel.class.php';
    	include_once '../lib/hotel/data_objects/Tarif.class.php';
    	include_once '../lib/hotel/data_objects/Prestation.class.php';
     
    	$__debut = $_POST['debut'];
    	$__fin = $_POST['fin'];
    	$__hotel = $_POST['hotel'];
    	$__langue = $_POST['langue'];
     
    	//recup des dispos
    	$client = new SoapClient($sbWsdl,$sbOptions);
    	$param = array(array(
    	  	"hotelId" => $__hotel,
    	  	"dateDebutDDMMYYYY"  => $__debut,
    	  	"dateFinDDMMYYYY" => $__fin,
    	  	"langue" => $__langue
    	));
     
    	$return =  $client->__soapCall("getDispos", $param);
    	if($return->exceptionMessage == NULL){
    		$dispos = $return->dispos;
    	}else{
    		$dispos = NULL;
    	}
    ?>
    et servicebase.php
    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
    46
    47
    48
    49
    <?php
    // première étape : désactiver le cache lors de la phase de test
    ini_set("soap.wsdl_cache_enabled", "0");
     
     
    require_once($_SERVER['DOCUMENT_ROOT'].'/lib/properties-2005-11-29/Properties.php');
     
    // Recup des objets du contexte
    $properties = NULL;
    if ($GLOGALS['properties'] == NULL){
    	$properties = new Properties();
    	$properties->load(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/webServices.properties'));
    	$GLOGALS['properties'] = serialize($properties);
    }
    else{
    	$properties = unserialize($GLOGALS['properties']);
    }
     
    define('LOG4PHP_DIR', $_SERVER['DOCUMENT_ROOT'].'/lib/log4php');
    define('LOG4PHP_CONFIGURATION', $_SERVER['DOCUMENT_ROOT'].'/logg.properties');
    include_once(LOG4PHP_DIR . '/LoggerManager.php');
    require_once($_SERVER['DOCUMENT_ROOT'].'/lib/hotel/logg.class.php');
     
    // ACTION WS
    $sbWsdl = $properties->getProperty('hotel.webServices.hotel.wsdl');
    $sbClassmap = array();
    $tmpClient = new SoapClient($sbWsdl,Array(	'trace' 		=> 1,
    					'login'     	=> "xxx", 
        				'password'   	=> "xxx",
        				'trace'      	=> 1, 
        				'exceptions' 	=> 0));
     
    foreach($tmpClient->__getTypes() as $type){
    	$array = split(" ", $type);
        if($array[0] == "struct" && class_exists($array[1]))    {
            $classmap[$array[1]] = $array[1];
        }
    }
    unset($tmpClient);
     
    $sbOptions = Array(	'trace' 		=> 1,
    					'classmap' 		=> $sbClassmap,
    					'login'     	=> "xxx", 
        				'password'   	=> "xxx",
        				'trace'      	=> 1, 
        				'exceptions' 	=> 0);
     
     
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hotel.webServices.hotel.wsdl=http://xxxx:8080/hotelServices-war/HotelService?wsdl

Discussions similaires

  1. [Web Service] Client PHP pour consommer un service Web Java
    Par jof8dev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 29/05/2012, 10h44
  2. Réponses: 11
    Dernier message: 13/11/2011, 13h38

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