Hi, <br />
<br />
I have a really great Problem.<br />
I have written a php class which is the Webservice.<br />
The Class generates a LIST of Projects (which is another Class in php).<br />
One Project has: Id (integer), Shortname (string), Longname (string), Startdate, Enddate, Status, Description.<br />
<br />
This is the View I get in Table Mapping with the php Webservice (and ZEND WSDL Generator generated WSDL (zend eclipse 6.1))<br />
<a class='bbc_url' href='
http://www.bilder-hoster.net/?img=Birt2b138f.jpg'>Bilder-Hoster.net</a><br />
<br />
This is the View I need to get in my Table Mapping ( i used a vb.net Webservice example to test it)<br />
<a class='bbc_url' href='
http://www.bilder-hoster.net/?img=BIRT3f2194.jpg'>Bilder-Hoster.net</a><br />
<br />
Its a List of Projects, so PROJECT is the repeating element, and so PROJECT is the element I have to specify with XPATH in Table Mapping.<br />
Unfortunately in PHP I don`t see the Project Element, and so I can`t use it as Table Mapping which means that I can´t consume a Webservice with BIRT that produces Lists of Items.<br />
<br />
I don´t think this could be correct.<br />
Here my WSDL:<br />
<br />
<?xml version='1.0' encoding='UTF-8'?><br />
<br />
<!-- WSDL file generated by Zend Studio. --><br />
<br />
<definitions name="WS" targetNamespace="urn:WS" xmlns:typens="urn:WS" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/" xmlns="
http://schemas.xmlsoap.org/wsdl/"><br />
<types><br />
<xsd:schema xmlns="
http://www.w3.org/2001/XMLSchema" targetNamespace="urn:WS"><br />
<xsd:complexType name="Project"><br />
<xsd:all><br />
<xsd:element name="Description" type="xsd:string"/><br />
<xsd:element name="Enddate" type="xsd:string"/><br />
<xsd:element name="Id" type="xsd:integer"/><br />
<xsd:element name="Longname" type="xsd:string"/><br />
<xsd:element name="Shortname" type="xsd:string"/><br />
<xsd:element name="Startdate" type="xsd:string"/><br />
<xsd:element name="Status" type="xsd:string"/><br />
</xsd:all><br />
</xsd:complexType><br />
<xsd:complexType name="ProjectArray"><br />
<xsd:complexContent><br />
<xsd:restriction base="soapenc:Array"><br />
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Project[]"/><br />
</xsd:restriction><br />
</xsd:complexContent><br />
</xsd:complexType><br />
</xsd:schema><br />
</types><br />
<message name="GetProject"><br />
<part name="Id" type="xsd:integer"/><br />
<part name="datum" type="xsd:string"/><br />
<part name="name" type="xsd:string"/><br />
</message><br />
<message name="GetProjectResponse"><br />
<part name="GetProjectReturn" type="typens:Project"/><br />
</message><br />
<message name="GetProjects"><br />
<part name="Id1" type="xsd:integer"/><br />
<part name="datum1" type="xsd:string"/><br />
<part name="name1" type="xsd:string"/><br />
</message><br />
<message name="GetProjectsResponse"><br />
<part name="GetProjectsReturn" type="typens:ProjectArray"/><br />
</message><br />
<portType name="WSPortType"><br />
<operation name="GetProject"><br />
<documentation><br />
Enter description here...<br />
</documentation><br />
<input message="typens:GetProject"/><br />
<output message="typens:GetProjectResponse"/><br />
</operation><br />
<operation name="GetProjects"><br />
<documentation><br />
Enter description here...<br />
</documentation><br />
<input message="typens:GetProjects"/><br />
<output message="typens:GetProjectsResponse"/><br />
</operation><br />
</portType><br />
<binding name="WSBinding" type="typens:WSPortType"><br />
<soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/><br />
<operation name="GetProject"><br />
<soap:operation soapAction="urn:WSAction"/><br />
<input><br />
<soap:body namespace="urn:WS" use="literal"/><br />
</input><br />
<output><br />
<soap:body namespace="urn:WS" use="literal"/><br />
</output><br />
</operation><br />
<operation name="GetProjects"><br />
<soap:operation soapAction="urn:WSAction"/><br />
<input><br />
<soap:body namespace="urn:WS" use="literal"/><br />
</input><br />
<output><br />
<soap:body namespace="urn:WS" use="literal"/><br />
</output><br />
</operation><br />
</binding><br />
<service name="WSService"><br />
<port name="WSPort" binding="typens:WSBinding"><br />
<soap:address location="
http://localhost/ppc/soap_server.php"/><br />
</port><br />
</service><br />
</definitions><br />
<br />
<br />
<br />
PHP Server: <br />
<?php<br />
ini_set("soap.wsdl_cache","0");<br />
ini_set("soap.wsdl_cache_enabled","0");<br />
<br />
class WS<br />
{<br />
<br />
/**<br />
* Enter description here...<br />
*<br />
*
@param int $Id<br />
*
@param string $datum<br />
*
@param string $name<br />
*
@return Project<br />
*/<br />
function GetProject($Id,$datum,$name)<br />
{<br />
$Return = new Project();<br />
$Return->Id = $Id;<br />
$Return->Shortname = $Return->Longname = $Return->Description = $Return->Status = $name;<br />
$Return->Startdate = $Return->Enddate = $datum;<br />
return $Return; <br />
}<br />
<br />
/**<br />
* Enter description here...<br />
*<br />
*
@param int $Id<br />
*
@param string $datum<br />
*
@param string $name<br />
*
@return Project[]<br />
*/<br />
<br />
<br />
function GetProjects($Id,$datum,$name)<br />
$Return = array();<br />
$P1 = new Project();<br />
$P1->Id = 1;<br />
$P1->Description = $P1->Longname = $P1->Shortname = $P1->Status = $name."1";<br />
$P1->Startdate = $P1->Enddate = $datum;<br />
$Return[] = $P1; <br />
$P2 = new Project();<br />
$P2->Id = 2;<br />
$P2->Description = $P2->Longname = $P2->Shortname = $P2->Status = $name."2";<br />
$P2->Startdate = $P2->Enddate = $datum;<br />
$Return[] = $P2; <br />
$P3 = new Project();<br />
$P3->Id = 3;<br />
$P3->Description = $P3->Longname = $P3->Shortname = $P3->Status = $name."3";<br />
$P3->Startdate = $P3->Enddate = $datum;<br />
$Return[] = $P3; <br />
$P4 = new Project();<br />
$P4->Id = 4;<br />
$P4->Description = $P4->Longname = $P4->Shortname = $P4->Status = $name."4";<br />
$P4->Startdate = $P4->Enddate = $datum;<br />
$Return[] = $P4; <br />
$P5->Id = 5;<br />
$P5->Description = $P5->Longname = $P5->Shortname = $P5->Status = $name."5";<br />
$P5->Startdate = $P5->Enddate = $datum;<br />
$Return[] = $P5; <br />
<br />
return $Return;<br />
}<br />
<br />
<br />
}<br />
<br />
$wsdl = "./WS.wsdl";<br />
$server = new SoapServer($wsdl, array('trace' => 1));<br />
$server->setClass("WS");<br />
$server->handle();<br />
<br />
<br />
class Project<br />
{<br />
/**<br />
*
@var int<br />
*/<br />
public $Id;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Shortname;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Longname;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Status;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Description;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Startdate;<br />
<br />
/**<br />
*
@var string<br />
*/<br />
public $Enddate;<br />
}<br />
<br />
?><br />
<br />
<br />
<br />
<br />
<br />
<br />
SOAP RESPONSE PACKET (got by wireshark):<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"<br />
xmlns:ns1="urn:WS"><br />
<SOAP-ENV:Body><br />
<GetProjectsReturn><br />
<ns1:Project><br />
<Description>name1</Description><br />
<Enddate>datum1</Enddate><br />
<Id>1</Id><br />
<Longname>name1</Longname><br />
<Shortname>name1</Shortname><br />
<Startdate>datum1</Startdate><br />
<Status>name1</Status><br />
</ns1:Project><br />
<ns1:Project><br />
<Description>name1</Description><br />
<Enddate>datum1</Enddate><br />
<Id>2</Id><br />
<Longname>name1</Longname><br />
<Shortname>name1</Shortname><br />
<Startdate>datum1</Startdate><br />
<Status>name1</Status><br />
</ns1:Project><br />
<ns1:Project><br />
<Description>name1</Description><br />
<Enddate>datum1</Enddate><br />
<Id>3</Id><br />
<Longname>name1</Longname><br />
<Shortname>name1</Shortname><br />
<Startdate>datum1</Startdate><br />
<Status>name1</Status><br />
</ns1:Project><br />
<ns1:Project><br />
<Description>name1</Description><br />
<Enddate>datum1</Enddate><br />
<Id>4</Id><br />
<Longname>name1</Longname><br />
<Shortname>name1</Shortname><br />
<Startdate>datum1</Startdate><br />
<Status>name1</Status><br />
</ns1:Project><br />
<ns1:Project><br />
<Description>name1</Description><br />
<Enddate>datum1</Enddate><br />
<Id>5</Id><br />
<Longname>name1</Longname><br />
<Shortname>name1</Shortname><br />
<Startdate>datum1</Startdate><br />
<Status>name1</Status><br />
</ns1:Project><br />
</GetProjectsReturn><br />
</SOAP-ENV:Body><br />
</SOAP-ENV:Envelope><br />
<br />
<br />
Can someone help me?