From:             deucalion at lycos dot co dot uk 
Operating system: Windows2000,XP
PHP version:      5.0.4
PHP Bug Type:     SOAP related
Bug description:  SOAPfault

Description:
------------
I WROTE THE  FOLLOWING WEBSERVICE : 
 WSDL FILE IS  THAT: 
 <?xml version="1.0"  encoding="ISO-8859-1"?>
<definitions name ="Elements"  
  xmlns="http://schemas.xmlsoap.org/wsdl/"; 
  xmlns:xsd ="http://www.w3.org/2001/XMLSchema";  
 
targetNamespace="http://members.lycos.co.uk/deucalion/webservices/elements.wsdl";

 
xmlns:tns="http://members.lycos.co.uk/deucalion/webservices/elements.wsdl";

  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>  
 
  <message name="getElementRequest">
    <part name="nome" type="xsd:string"/>
  </message>
  <message name="getElementResponse">
    <part name="return" type="xsd:string[]"/>
  </message>
 
  <portType name="ElementPortType">
    <operation name="getElement">
      <input message="tns:getElementRequest"/>
      <output message="tns:getElementResponse"/>
    </operation>
   </portType>  

  <binding name="ElementBinding" type="tns:ElementPortType">
    <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getElement">
      <soap:operation soapAction="Element#getElement"/>
      <input>
        <soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="Element"/>
      </input>
      <output>
        <soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="Element"/>
      </output>
    </operation>
   </binding>

  <service name="ElementService">
    <port name="ElementPort" binding="tns:ElementBinding">
      <soap:address location="http://localhost/elements.wsdl"/>
    </port>
  </service>
</definitions>

Reproduce code:
---------------
THE SOURCE CODE OF SOAPCLIENT IS THAT: 
<?    
    $client = new  SoapClient  ( "elements.wsdl" , array ( ' encoding ' =>
' ISO-8859-1 ' ) ) ; 
        
        try  
              {  
                  $return =   $client ->getElement (Carbono) ;
    echo  " <table border  = 1 >  " ;
    echo "<tr bgcolor = gray  ><td> Column</td>  <td>  content</td></tr> "
;
 echo "<tr><td> Num_Atom  </td>  <td> ' . $return  [ 'num_atom' ]  .  '
</td></tr> " ;
 echo "<tr><td> Nome </td> <td> ' . $return  [ 'nome' ] . '</td></tr>" ;
echo "<tr><td> Simbol </td> <td> ' . $return [ 'simbol' ]  . '  </td></tr>
"  ;
echo "<tr><td> Massa_Atom  </td>  <td> ' . $return  [ 'massa_atom' ]  .  '
</td></tr> " ;
echo "<tr><td>  Dens  </td>  <td> ' . $return  [ ' dens ' ]  .  '
</td></tr> " ;
echo "<tr><td> Pto_Fusao  </td>  <td> ' . $return  [ 'pto_fusao ' ]  .  '
</td></tr> " ;
echo "<tr><td> Pto_Ebul  </td>  <td> ' . $return  [ ' pto_ebul ' ]  .  '
</td></tr> " ;
echo "<tr><td> Tipo </td>  <td> ' . $return  [ ' tipo ' ]  .  ' </td></tr>
" ;
echo "<tr><td> Orbitais </td>  <td> ' . $return  [ ' orbitais ' ]  .  '
</td></tr> " ;
echo "<tr><td> Estrutura_molecular </td>  <td> ' . $return  [ '
estrutura_molecular ' ] . </td></tr> ";
echo "</table> " ;
}
    catch ( SoapFault  $exception )
                  {  
                      echo   " Error: " ;
                       echo " <b>  {  $exception  ->  faultstring } </b>
"; 
        
                   }  
?>

------------------------------------------------------------
THE SOAPSERVER IS THAT:
<?     
    function  getElement  ( $nome)

       {  
           if ( ! $nome)   
             { 
                 throw  new SoapFault (' Client ', ' Param not found');
              }   

        $id =  @mysql_connect ( "www.freesq.org", "alphaX9", "");  
       mysql_select_db ("periodical_table",$id);
   
   if ( ! $id)
   throw new SoapFault  (' Server ' , 'Server not found ');

  $query = " SELECT  * FROM  elements  WHERE name='$name'";
 $result = mysql_query ($id,$query);
 $array=mysql_fetch_array($result);

               if ( $array == null )
                      throw  new SoapFault (' Server ' , 'Client not found
');
               
         return  $array [0];

       }   
     
         $server = new  SoapServer ( "elements.wsdl " , array  (' encoding
' => ' ISO -8859-1 ' ) ) ;  
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA :
'';
$server->service($HTTP_RAW_POST_DATA,TRUE);
?>

Actual result:
--------------
SOAPCLIENT Error message: { Object id #2 <fault string> } 

-- 
Edit bug report at http://bugs.php.net/?id=33684&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=33684&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=33684&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=33684&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=33684&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=33684&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=33684&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=33684&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=33684&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=33684&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=33684&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=33684&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=33684&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=33684&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=33684&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=33684&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=33684&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=33684&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=33684&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=33684&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=33684&r=mysqlcfg

Reply via email to