From: Olivier R. <oli...@st...> - 2006-10-09 08:01:49
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Hi All,<br> <br> As many other people, I encountered problem to build request with nested data.<br> <br> My WSDL file which contains:<br> <br> <small><tt> <xsd:complexType name="ArrayOfArtifact"><br> <xsd:complexContent><br> <xsd:restriction base="SOAP-ENC:Array"><br> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Artifact[]"/><br> </xsd:restriction><br> </xsd:complexContent><br> </xsd:complexType><br> ...<br> <xsd:complexType name="Criteria"><br> <xsd:sequence><br> <xsd:element name="field_name" type="xsd:string"/><br> <xsd:element name="field_value" type="xsd:string"/><br> <xsd:element name="operator" type="xsd:string"/><br> </xsd:sequence><br> </xsd:complexType><br> ...<br> <message name="getArtifactsRequest"><br> <part name="sessionKey" type="xsd:string"/><br> <part name="group_id" type="xsd:int"/><br> <part name="group_artifact_id" type="xsd:int"/><br> <b> <big><font color="#ff0000"><part name="criteria" type="tns:ArrayOfCriteria"/></font></big></b><br> <part name="offset" type="xsd:int"/><br> <part name="max_rows" type="xsd:int"/><br> </message><br> ...<br> <message name="getArtifactsResponse"><br> <part name="return" type="tns:ArrayOfArtifact"/><br> </message></tt></small><br> <br> I build a <tt><i>getArtifacts</i> </tt>request as shown below, and it is accepted but criterias (in red) are never taken into account.<br> <tt>my $result = $soap->getArtifacts($session_hash,<br> 102,<br> 109,<font color="#ff0000"><b><br> [ { field_name=>'status_id', operator=>'=', field_value=>'1' } ]</b></font>,<br> 0,<br> 0);</tt><br> <br> A very similar code works properly in PHP (cf. nusoap.php) but I would prefer to use Perl. See in attachment XML requests generated respectively from PHP and from Perl.<br> <br> I performed a lot of other attempts (use Tie:IxHash, use <a class="moz-txt-link-freetext" href="SOAP::WSDL">SOAP::WSDL</a>) but I encountered more additional problems rather than solution (eg. non-nul proxy requested).<br> <br> How should I proceed?<br> <br> Thanks in advance,<br> Olivier<br> <br> <br> <br> </body> </html> |