Thanks ixalmida, but even if I make the call without converting the data to an array, I'm still not getting the complex data types returned.

My PHP code looks like this....

$wsdl_url = 'https://ws.memberclicks.com/mc/services/UserService?wsdl';
$features = array();
$wsdl = 	new SoapClient($wsdl_url, $features);
$method = 'authenticateUser';
$params->org_id 	= $org_id;
$params->username 	= $username;
$params->password 	= $password;
$data = $wsdl->$method($params);

echo '<pre>';
	print_r ($data);
echo '</pre>';

Also, my wdsl seems to be formatted a bit different...

 <xs:complexType name="UserInfo"> 
    <xs:complexContent> 
        <xs:extension base="tns:UserBaseInfo"> 
            <xs:sequence> 
                <xs:element minOccurs="0" name="contact_name" type="xs:string"/> 
                <xs:element minOccurs="0" name="group_name" type="xs:string"/> 
                <xs:element name="active" type="xs:boolean"/> 
                <xs:element name="validated" type="xs:boolean"/> 
                <xs:element name="deleted" type="xs:boolean"/> 
                <xs:element name="hidden" type="xs:boolean"/> 
                <xs:element minOccurs="0" name="deleted_date" type="xs:dateTime"/> 
                <xs:element minOccurs="0" name="pref_contact" type="xs:string"/> 
                <xs:element minOccurs="0" name="last_login_date" type="xs:dateTime"/> 
                <xs:element minOccurs="0" name="last_modify" type="xs:dateTime"/> 
                <xs:element minOccurs="0" name="updated_by" type="xs:string"/> 
                <xs:element name="no_mass_email" type="xs:boolean"/> 
                <xs:element minOccurs="0" name="pref_bb_contact" type="xs:string"/> 
                <xs:element minOccurs="0" name="pref_bb_image" type="xs:string"/> 
                <xs:element maxOccurs="unbounded" minOccurs="0" name="attribute_list" type="tns:UserAttInfo"/> 
            </xs:sequence> 
        </xs:extension> 
    </xs:complexContent> 
</xs:complexType> 

<xs:complexType name="UserAttInfo"> 
    <xs:sequence> 
        <xs:element name="user_id" type="xs:string"/> 
        <xs:element name="att_id" type="xs:string"/> 
        <xs:element minOccurs="0" name="att_name" type="xs:string"/> 
        <xs:element minOccurs="0" name="att_type_id" type="xs:string"/> 
        <xs:element minOccurs="0" name="att_type_name" type="xs:string"/> 
        <xs:element minOccurs="0" name="att_data" type="xs:string"/> 
        <xs:element name="hidden" type="xs:boolean"/> 
        <xs:element minOccurs="0" name="last_modify" type="xs:dateTime"/> 
        <xs:element name="view_only" type="xs:boolean"/> 
        <xs:element name="editable" type="xs:boolean"/> 
    </xs:sequence> 
</xs:complexType> 

... the complex data type definition is separated form the rest of the object definition.

When I run the code without converting it to an array, I end up with a dead end again...

[attribute_list] => stdClass Object
                (
                )

    Try this:

    print_r ($data->contact_name);

      That does return the user's name without error. actually...

      print_r ($data->return->contact_name); 

      But when I try ...

      print_r ($data->return->attribute); 

      I get nothing.

        There must be more to the class hierarchy than what you listed then. I didn't see "return" as a member. Anyway...

        Maybe try this:

        $data->return->UserAttInfo->att_name;

        Note: I'm just guessing based on my own web services experience, which as you rightly pointed out, uses a different XML document structure.

          Thanks for helping ixalmida, but still no luck.

          When I try

          $data->return->UserAttInfo->att_name;

          I don't get any results.

          When I return $data, the full return looks like this...

          stdClass Object
          (
              [return] => stdClass Object
                  (
                      [user_id] => 16977408
                      [group_id] => 100400
                      [org_id] => obs
                      [contact_name] => John Doe
                      [active] => 1
                      [validated] => 1
                      [deleted] => 
                      [hidden] => 
                      [last_login_date] => 2010-08-24T23:38:35Z
                      [last_modify] => 2010-03-29T22:43:42Z
                      [updated_by] => John Doe
                      [no_mass_email] => 
                      [pref_bb_contact] => 
                      [pref_bb_image] => 
                      [attribute_list] => stdClass Object
                          (
                          )
          
              )
          
          )

          There are multiple instances of attribute_list when I use a java standalone SoapClient, but nothing when I try to retrieve the info in PHP.

          Any ideas on how to get past that stdClass Object?

            AHA - perfect! The answer is in your output. It says that "attribute_list" is an object within "return". So...

            $data->return->attribute_list;

            And individual class elements would be:

            $data->return->attribute_list->element_name;
              $data->return->attribute_list; 

              returns...

              stdClass Object
              (
              )

              Still not getting past that stdClass Object yet.

                You left off the name of the element (variable) you want.

                // $data->return->attribute_list->element_name;
                // i.e...
                $data->return->attribute_list->att_name;
                  $data->return->attribute_list->user_id

                  ... returns nothing as well.

                  I'm not sure how this would work since there would be several instances of attributes.

                    It appears to me from the WSDL that there's only one instance of the class. Perhaps user_id is just blank...? Try some of the other variables.

                      I've tried other variables, and I don't get any data.

                      The output when I run the java SoapClient looks like this...

                      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                          <soapenv:Body>
                              <authenticateUserResponse xmlns="http://ws.memberclicks.com/xsd">
                                  <return>
                                      <user_id>16977408</user_id>
                                      <group_id>100400</group_id>
                                      <org_id>abc</org_id>
                                      <contact_name>John Doe</contact_name>
                                      <active>true</active>
                                      <validated>true</validated>
                                      <deleted>false</deleted>
                                      <hidden>false</hidden>
                                      <last_login_date>2010-08-24T23:38:35Z</last_login_date>
                                      <last_modify>2010-03-29T22:43:42Z</last_modify>
                                      <updated_by>John Doe</updated_by>
                                      <no_mass_email>false</no_mass_email>
                                      <pref_bb_contact></pref_bb_contact>
                                      <pref_bb_image></pref_bb_image>
                                      <attribute_list>
                                          <UserAttInfo>
                                              <user_id>16977408</user_id>
                                              <att_id>406833</att_id>
                                              <att_name>Contact Name</att_name>
                                              <att_type_id>16</att_type_id>
                                              <att_type_name>Contact Center Greeting</att_type_name>
                                              <att_data>John Doe</att_data>
                                              <hidden>false</hidden>
                                              <last_modify>2009-11-11T22:13:13Z</last_modify>
                                              <view_only>false</view_only>
                                              <editable>true</editable>
                                          </UserAttInfo>
                                          <UserAttInfo>
                                              <user_id>16977408</user_id>
                                              <att_id>406832</att_id>
                                              <att_name>Username</att_name>
                                              <att_type_id>10</att_type_id>
                                              <att_type_name>Login Name</att_type_name>
                                              <att_data>jdoe</att_data>
                                              <hidden>false</hidden>
                                              <last_modify>2009-11-11T22:13:13Z</last_modify>
                                              <view_only>false</view_only>
                                              <editable>true</editable>
                                          </UserAttInfo>
                                          <UserAttInfo>
                                              <user_id>16977408</user_id>
                                              <att_id>406819</att_id>
                                              <att_name>Password</att_name>
                                              <att_type_id>11</att_type_id>
                                              <att_type_name>Password</att_type_name>
                                              <att_data>1234pass</att_data>
                                              <hidden>false</hidden>
                                              <last_modify>2010-03-29T22:43:42Z</last_modify>
                                              <view_only>false</view_only>
                                              <editable>true</editable>
                                          </UserAttInfo>
                                          <UserAttInfo>
                                              <user_id>16977408</user_id>
                                              <att_id>406828</att_id>
                                              <att_name>Group</att_name>
                                              <att_type_id>8</att_type_id>
                                              <att_type_name>User Group</att_type_name>
                                              <att_data>Authorized Service Administrator</att_data>
                                              <hidden>false</hidden>
                                              <last_modify>2009-11-11T22:13:13Z</last_modify>
                                              <view_only>true</view_only>
                                              <editable>false</editable>
                                          </UserAttInfo>
                                          <UserAttInfo>
                                              <user_id>16977408</user_id>
                                              <att_id>406824</att_id>
                                              <att_name>Email</att_name>
                                              <att_type_id>1</att_type_id>
                                              <att_type_name>E-mail Address (Contact Center)</att_type_name>
                                              <att_data>jdoe@company.org</att_data>
                                              <hidden>false</hidden>
                                              <last_modify>2009-11-11T22:13:13Z</last_modify>
                                              <view_only>false</view_only>
                                              <editable>true</editable>
                                          </UserAttInfo>
                                      </attribute_list>
                                  </return>
                              </authenticateUserResponse>
                          </soapenv:Body>
                      </soapenv:Envelope>

                      I also get no response if I try running

                      $data->return->attribute_list->UserAttInfo

                      or

                      $data->return->attribute_list->UserAttInfo->user_id

                        Looks like an array of classes. Try adding an index:

                        $data->return->attribute_list[1]->user_id
                          print_r ($data->return->attribute_list[1]->user_id ); 

                          returns an error "Fatal error: Cannot use object of type stdClass as array ..."

                          $data->return->attribute_list->UserAttInfo[1]->user_id

                          returns no data

                            Figures...maybe it's just:

                            $data->return->attribute_list[1]->user_id

                            Beyond this, I'm at a loss. It seems logical to me that if you have multiple instances of a class that you either have to give them different names or refer to them as an array. But just because it makes sense to me doesn't mean I'm right.

                              That returns...

                              Cannot use object of type stdClass as array

                              Thanks for trying ixalmida.

                              Any other ideas out there?

                                var_dump($data->return->attribute_list);

                                What this will give you?

                                  blackhorse,

                                  Thanks for taking a look.
                                  Here's what I get...

                                  object(stdClass)#5 (0) {
                                  }

                                    Try to use desktop soap client such as soapUI or storm, or webservice studio to get the response data to see what is in there.

                                      If this script, $data->return->attribute_list->UserAttInfo->user_id, doesn't work, try this script,
                                      $data->return->attribute_list[0]->UserAttInfo->user_id

                                      Or other way around.

                                      For the same request, one of the above should work.

                                      I think due to the results could be multiple attribute_list, which would need to use array, $data->return->attribute_list[0]->UserAttInfo->user_id

                                      Or if the result only has one attribute_list, then $data->return->attribute_list->UserAttInfo->user_id will work.

                                      Or it may not have attribute_list, then nothing will be returned.