[PHP] NuSoap 0.6.9 return XML

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi.

Ik heb een script die als soap server speelt. Daarin heb ik een functie genaamd 'getTickets'. Het is nu de bedoeling dat de functie een XML object terug geeft aan mijn client (Macroemdia Flex 1.5).

Nu had ik het geprobeerd om xsd:xml te gebruiken. Maar mijn client zegt dan "Unable to resolve xsd:xml". Als ik de return weer terug zet op xsd:string, dan ziet mijn client dit ook echt als een string en niet als een xml object.

De script is te zien op

http://www.leihitu.nl/test.php of als je gelijk de wsdl wil zien: http://www.leihitu.nl/test.php?wsdl

Heeft iemand dit al een keer gedaan?

Mij code :

code:
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
<?php

$NAMESPACE1="tickets";
$NAMESPACE='urn:' . $NAMESPACE1 .'wsdl';

// Pull in the NuSOAP code
require_once('lib/nusoap.php');

// Create the server instance
$server = new soap_server();

// Initialize WSDL support
$server->configureWSDL($NAMESPACE1 . 'wsdl', $NAMESPACE);
$server->wsdl->schemaTargetNamespace = $NAMESPACE;


// Register the method to expose

$server->register('getTickets',             // method name
    array('user' => 'xsd:string'),      // input parameters
    array('return' => 'xsd:xml'),   // output parameters

    $NAMESPACE,                 // namespace
    $NAMESPACE.'#getTickets',               // soapaction
    'rpc',                              // style
    'encoded',                          // use
    'get xml-list of tickets'           // documentation
);


function getTickets($user)
{
        $xmlStr="<ELEMENTS><ELEMENT><ID>1</ID></ELEMENT><ELEMENT><ID>2</ID></ELEMENT></ELEMENTS>";
        return $xmlStr;
}


// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

?>