function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Juan RomeroJuan Romero 

filter must be a unknown type error

Hi there,

I am trying to run queries, and I get the following error:

FaultCode = 1101

filter must be a unknown type

Here is the XML-RPC being sent to the server:

<?xml version="1.0"?>
<methodCall>
  <methodName>sfdc.query</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>select</name>
            <value>
              <array>
                <data>
                  <value>
                    <string>id</string>
                  </value>
                  <value>
                    <string>name</string>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>filter</name>
            <value>
              <struct>
                <member>
                  <name>field</name>
                  <value>
                    <string>name</string>
                  </value>
                </member>
                <member>
                  <name>value</name>
                  <value>
                    <string>Fanbuzz, Inc.</string>
                  </value>
                </member>
              </struct>
            </value>
          </member>
          <member>
            <name>version</name>
            <value>
              <string>2.0</string>
            </value>
          </member>
          <member>
            <name>type</name>
            <value>
              <string>account</string>
            </value>
          </member>
          <member>
            <name>scope</name>
            <value>
              <string>filter</string>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

 

What am I doing wrong?

Thank you in advance for your help.

DevAngelDevAngel

Hi Juan,

The filter argument needs to be an array, even if you only have one filter.  So change your message from:

          <member><name>filter</name>
            <value><struct>
                <member><name>field</name>
                  <value><string>name</string></value>
                </member>
                <member>
                  <name>value</name>
                  <value><string>Fanbuzz, Inc.</string></value>
                </member>
              </struct>
            </value>
          </member>
To:

     <member><name>filter</name>
      <value><array>
        <value>
<struct>
          <member>
           <name>field</name>
           <value>name</value>
          </member>
          <member>
           <name>value</name>
           <value>Fanbuzz, Inc.</value>
          </member>
         </struct>
        </value>
       </array>
      </value>
     </member>

You also have a the "value" Fanbuzz, Inc within a <string> element which may or may not cause problems as well.

Juan RomeroJuan Romero

Thank you so much Dave!

The problem indeed was that it was supposed to be an array of filters.