> different question asked below. So I then add in: > > echo 'Types: <pre>' . print_r( $oClient->__getTypes(), TRUE ) . '</pre>'; > > and it turns out that the "data-array" definition in the WSDL is > getting translated as the following structure: > > [XX] => struct data-array { > any; > } > > Umm, huh? What's going on there? Why is the SoapClient the part of > the namespace included in the definition for the type in the WSDL > (<xs:any maxOccurs="unbounded"/>) and turning the "any" into an > attribute of the structure? So in order to get the "data-array" node > in the SOAP message body, I have to change the parameters definition > to: > > $aParameters = array( 'authentication' => array( 'username' => 'user', > > 'password' => 'pass' ), > 'stringvar1' => 'here', > 'stringvar2' => 'there', > 'data-array' => array( 'any' => > '<sub-data>Bob</sub-data>' )); > > That seems exceptionally silly to me. Is this a bug in the > SoapClient's translation of the WSDL? A problem with the WSDL? Or a > problem with my (albeit simplistic) code and is something I can and > should get around using proper attributes? If it's the latter, how > can I define attributes for the various nodes? It seems like this is having an additional affect of not allowing the 'classmap' functionality to work properly. When I do: $oClient->__getLastResponse() I see the full SOAP message XML and it appears to be properly formed. So (unless I am profoundly misunderstanding how classmap works) it should be when I try to do: $oResponse = $oClient->ServerOperation( $aParameters ); the $oResponse object should be instantiated with it's attributes populated with the proper values, corresponding with the various nodes/values that appear in the XML SOAP response. The problem is, it isn't. I've tried creating __get() and __set() methods in the class to see if they are being called and/or what is getting passed in (if anything) and I'm not seeing any of my debug outout. Additionally, if I run var_export( $oResponse ); I am seeing: MyResponseClass::__set_state(array( 'any' => '', )) That doesn't seem right. Further, if I try to access the "any" property of the object, there is no value (as illustrated above). It's as if nothing was done with the XML SOAP response w/r/t defining the classmap option. So what's going on? Am I doing something wrong? Am I totally misunderstanding something here? thnx, Christoph -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php