I have done some reverse engineering for the 3d model viewer, and it seems that it gets its models from a modelserver. These are .blp's, .jpg's and .m2's.
The model server is http://eu.media.battle.net.edgesuite.net/
http://eu.media.battle.net.edgesuite.net/models/character/human/male/humanmale.m2 for example.
To correctly get this to work, one would need a modelserver (not Blizzard's, seeing it has restrictions so that files on it can not be used by the 3d app unless its hosted locally).
The modeldata is contained in an xml file. http://eu.wowarmory.com/character-model.xml?r=Magtheridon&cn=Kungen
It is possible to locally host the 3d app by ripping it off the armory site, and pointing it to custom XMLs. However, the problem is that blizzard's model server does not allow external access.And seeing WoW has TONS of models/textures, this would require a very large server.