NuSoap

Ciao.

Sto provando la classe NuSoap per creare webservice in php.

La creazione della risposta XML tramite WSDL non sembra troppo complicata

la cosa che non riesco a fare č assegnare un attributo ad un tag xml.

Qualcuno sa come si fa?

Grazie

inviato 10 anni fa
nino
nino
1
X 0 X

Fammi un esempio di ciņ che vuoi realizzare.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ad esempio con il codice

<?php

require_once('nusoap.php');

$NAMESPACE = "http://localhost/nusoap/";

$server = new soap_server;

$server->configureWSDL('nino',$NAMESPACE,false,'rpc');

$server->wsdl->schemaTargetNamespace = $NAMESPACE;

$server->wsdl->addComplexType( 'Book', 'complexType', 'struct', 'all', '',

    array(

        'author' => array('name'=>'author','type'=>'xsd:string'),

        'title' => array('name'=>'title','type'=>'xsd:string'),

    )

);

$server->register('getBook',array('titolo'=>'xsd:string'),array('Book'=>'tns:Book'),$NAMESPACE,false,'document style','literal');

// ==== PROCESS REQUEST =====================================================

$HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])

                        ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';

$server->service($HTTP_RAW_POST_DATA);

exit();

    

function getBook($titolo) {

     // Create book

     $book = array(

                 'author' => "Bonelli",

                 'title' => $titolo,

                 );

     return $book;

}

?>

ottengo questo XML

<Book>

   <author>Bonelli</author>

   <title>TEX WILLER</title>

</Book>

vorrei aggiungere un attributo al tag <title> ad esempio

<Book>

   <author>Bonelli</author>

   <title  numeropagine='110'>TEX WILLER</title>

</Book>

non so come intervenire sulla struttura

$server->wsdl->addComplexType( 'Book', 'complexType', 'struct', 'all', '',
    array(
        'author' => array('name'=>'author','type'=>'xsd:string'),
        'title' => array('name'=>'title','type'=>'xsd:string'),
    )
);
risposto 10 anni fa
nino
nino
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda