If you are going through the DFM server using the API, you need to use the api-proxy call and provide system-get-info as the name and the name of the filer you need the serial for as the target. I believe there is an example for a dam api-proxy call in the NMSDK documentation examples.
I did exactly the same thing in PERL not long ago.
With the example of the api-proxy call, I was quickly able to get something back from the system-get-info. But I had a lot of issues extracting the system-serial-number and system-id out of that response.
Unlike all the examples of the system-get-version, the system-get-info has the information encapsuled in a system-info object.
After some struggle, I figured it out!!!
Well, so I thought it might be a good idea to post my solution here, if anyone would ever need it.
(guess I can do better on the allocation of the elements, but at least I got the answer for now)
Also, you would need an account on the filers with the same name as you use to connect to dfm (in my code below: MyDFMAccount)
public class MyTest
public static void main(String args)
NaServer s = new NaServer("myDFMServer", 1, 0);
NaElement requestElem = new NaElement("host-list-info-iter-start");