Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-03-2012 11:03:58

poulpy
Nouveau membre
Date d'inscription: 07-03-2012
Messages: 7

[1.11][Zend_Soap_AutoDiscover] xml généré invalide

Bonjour,

J'ai monté un webservice simple avec deux fonctions et lorsque je génère la wsdl, j'obtient une erreur de parsage sur mon navigateur :

Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe
Emplacement : http://www.webserviceaqoba.com/services?wsdl
Numéro de ligne 1, Colonne 5 :    <?xml version="1.0"?>
----^

Mon testeur SOAP (SoapUI) m'envois une erreur du meme type comme quoi la wsdl est incorrect. Auriez vous des idées ?

Appel WSDL.

Code:

[lang=php]
$wsdl = new Zend_Soap_AutoDiscover();
$wsdl->setClass('auth');
$wsdl->handle();

voici la déclaration de la classe auth

Code:

[lang=php]
<?php

require_once CLASS_PATH."/complexType.php";
require_once CLASS_PATH."/TraitementFiltre/mcc.php";
require_once CLASS_PATH."/TraitementFiltre/pays.php";
require_once CLASS_PATH."/TraitementFiltre/jours.php";
require_once CLASS_PATH."/TraitementFiltre/horaires.php";

class auth {

    
    /**
     * Peu etre utilise pour tester la communication avec le server.
     * @return string
     */
public function hello()
{
    return "Hello World !";    
}

/**
 * Gerre les operation de validation de transaction
 * @param getautorisationElement $accInfo
 * @return object
 */

public function getautorisation($accInfo)
{
    //code traitement
}
    
}
?>

et voici la declaration des types complex

Code:

[lang=php]
<?php
class messageForReceiveAuthorizationCenterMessageInRequest
{
    
    /**
     * @var string
     */
    public $accountNumber;
    /**
     * @var int
     */
    public $authorisationValidityPeriod;
    /**
     * @var string
     */
    public $callMode;
    /**
     * @var string
     */
    public $channel;
    /**
     * @var float
     */
    public $exchangeRateLocalOriginal;
    /**
     * @var string
     */
    public $externalReference;
    /**
     * @var string
     */
    public $extraDetails;
    
}

class getautorisationElement
{
    /**
     * @var string
     */
    public $extradetails;
    /**
     * @var string
     */
    public $accountnumber;
    /**
     * @var string
     */
    public $externalreference;
    /**
     * @var string
     */
    public $localcurrency;
    /**
     * @var string
     */
    public $messageclass;
    /**
     * @var string
     */
    public $messagedate;
    /**
     * @var string
     */
    public $messagefunction;
    /**
     * @var string
     */
    public $messageid;
    /**
     * @var string
     */
    public $productid;
    /**
     * @var string  
     */
    public $senderid; 
    /**
     * @var string  
     */
    public $sendertype;
    /**
     * @var string
     */
    public $subchannel ;
    /**
     * @var string
     */
    public $transactionamountlocal;
    /**
     * @var string
     */
    public $transactionamountoriginal;
    /**
     * @var string
     */
    public $transactionoperationdate;
    /**
     * @var string
     */
    public $transactionsign;
    /**
     * @var string
     */
    public $transactiontype;
    

    
}


class AuthorizationServicesUser_getautorisation_Out
{
/**
 * @var string
 */
public $accountnumber;
/**
 * @var string
 */
public $responsetime;
/**
 * @var string
 */
public $currentbalanceaccount;
/**
 * @var string
 */
public $transactionamountaccountcontext;
/**
 * @var string
 */
public $acceptedamountlocal;
/**
 * @var string
 */
public $transactioncurrencyoriginal;
/**
 * @var string
 */
public $transactionamountoriginalcontext;
/**
 * @var string
 */
public $currentbalanceoriginal;
/**
 * @var string
 */
public $currentbalancelocal;
/**
 * @var string
 */
public $messageid;
/**
 * @var string
 */
public $transactionamountaccount;
/**
 * @var string
 */
public $transactiontacreference;
/**
 * @var string
 */
public $errorcode;
/**
 * @var string
 */
public $errorwording;
/**
 * @var string
 */
public $availablebalancelocal;
/**
 * @var string
 */
public $extradetailout;
/**
 * @var string
 */
public $responsedate;
/**
 * @var string
 */
public $availablebalanceoriginal;
/**
 * @var string
 */
public $refusalcode;
/**
 * @var string
 */
public $transactionamountlocalcontext;
/**
 * @var string
 */
public $acceptedamountoriginal;
/**
 * @var string
 */
public $responsereference;
/**
 * @var string
 */
public $transactionaccountcurrency;
/**
 * @var string
 */
public $availablebalanceaccount;
/**
 * @var string
 */
public $secondaryreturncode;
/**
 * @var string
 */
public $authorisationindicator;
/**
 * @var string
 */
public $localcurrency;
/**
 * @var string
 */
public $primaryreturncode;

}

Hors ligne

 

#2 07-03-2012 13:08:51

poulpy
Nouveau membre
Date d'inscription: 07-03-2012
Messages: 7

Re: [1.11][Zend_Soap_AutoDiscover] xml généré invalide

Petit détail qui semble avoir son importance; J'ai deux applications qui tourne sur ce projet ZF, la redirection se fait par le index.php du dossier public commun au deux.

Avant cette migration, un seul projet était présent sur ce projet ZF et la WSDL se générait très bien.

Il faut savoir que c'est mon premier projet sur ZF dont il est fort possible que quelques détails m'ai echappés, voici le public/index.php

Code:

[lang=php]
       <?php
    define('CLASS_PATH',realpath(dirname(__FILE__) . '/../models'));
    switch($_SERVER['HTTP_HOST']) {
      case 'www.webserviceaqoba.com':
      case 'localhost':
        define('APPLICATION_PATH',
        realpath(dirname(__FILE__) . '/../application/webservice'));
        
      break;
      
      default:
       break;
    }
     
    defined('APPLICATION_ENV')
        || define('APPLICATION_ENV',
        (getenv('APPLICATION_ENV')
        ? getenv('APPLICATION_ENV') : 'production'));
     
    set_include_path(
      implode(PATH_SEPARATOR, array(
      realpath(APPLICATION_PATH . '/../../library'),
      get_include_path(),
    )));
     
    require_once '../library/Zend/Application.php';
     
    $objApplication = new Zend_Application(
      APPLICATION_ENV,
      APPLICATION_PATH . '/configs/application.ini'
    );
    $objApplication->bootstrap()->run();

Dernière modification par poulpy (07-03-2012 13:09:54)

Hors ligne

 

#3 07-03-2012 14:18:42

poulpy
Nouveau membre
Date d'inscription: 07-03-2012
Messages: 7

Re: [1.11][Zend_Soap_AutoDiscover] xml généré invalide

Re re bonjour,

Le problème se précise, le fichier xml généré par le code ZF aurait une tabulation avant le tag <?xml version="1.0"?> ce qui bloquerais. Une idée d'ou elle peu venir ?

Hors ligne

 

#4 07-03-2012 14:39:28

poulpy
Nouveau membre
Date d'inscription: 07-03-2012
Messages: 7

Re: [1.11][Zend_Soap_AutoDiscover] xml généré invalide

Bon après 6 heures de recherche....il se trouve que j'avais 4 espace dans mon index.php avant la balise <?php

Code:

[lang=php]
   <?php
define('CLASS_PATH',realpath(dirname(__FILE__) . '/../models'));
switch($_SERVER['HTTP_HOST']) {

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages