Have you checked out the java sample in the ArcObjects Developer Kit samples from the install? This method shows how ESRI created an instance of the NetworkDataset object. It might help you to compare this to your code.
/**
* Solves a route based on specified network dataset and stops fc
* @param workspacePath
* @param inputStopsFC
* @param shapeInputNameField
* @param networkDatasetName
* @param outLayerPath
*/
public void solveRoute(
String workspacePath
,String inputStopsFeatureDataset, String inputStopsFC
,String shapeInputNameField
,String networkDatasetFeatureDataset, String networkDatasetName
,String outLayerPath
){
// Open the feature workspace, input feature class, and network dataset
try
{
//open file geodatabase
IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactory();
IFeatureWorkspace featureWorkspace = new IFeatureWorkspaceProxy(workspaceFactory.openFromFile(workspacePath, 0));
//open input feature class
IFeatureDataset featureDataset = featureWorkspace.openFeatureDataset(inputStopsFeatureDataset);
IFeatureClassContainer inputStopsFeatureCC = new IFeatureClassContainerProxy(featureDataset);
IFeatureClass inputStopsFClass = inputStopsFeatureCC.getClassByName(inputStopsFC);
//open network dataset
featureDataset = featureWorkspace.openFeatureDataset(networkDatasetFeatureDataset);
IFeatureDatasetExtensionContainer fdsExtCont = new IFeatureDatasetExtensionContainerProxy(featureDataset);
IFeatureDatasetExtension fdsExt = fdsExtCont.findExtension(esriDatasetType.esriDTNetworkDataset);
IDatasetContainer2 dsCont = new IDatasetContainer2Proxy(fdsExt);
IDataset dataset = dsCont.getDatasetByName(esriDatasetType.esriDTNetworkDataset, networkDatasetName);
NetworkDataset networkDataset = new NetworkDataset(dataset);
// Create the Route NALayer
INALayer naLayer = createRouteAnalysisLayer("Route", networkDataset);
INAContext naContext = naLayer.getContext();
INAClass stopsNAClass = (INAClass) naContext.getNAClasses().getItemByName("Stops");
// Load the Stops
INAClassFieldMap naClassFieldMap = new NAClassFieldMap();
naClassFieldMap.setMappedField("Name", shapeInputNameField);
INAClassLoader naLoader = new NAClassLoader();
naLoader.setLocatorByRef(naContext.getLocator());
naLoader.setNAClassByRef(stopsNAClass);
naLoader.setFieldMapByRef(naClassFieldMap);
int[] rowsInCursor = { 0 };
int[] rowsLocated = { 0 };
ITrackCancel cancelTracker = new CancelTracker();
FeatureCursor cursor = new FeatureCursor(inputStopsFClass.search(new QueryFilter(), false));
naLoader.load(cursor, cancelTracker, rowsInCursor, rowsLocated);
// Solve
INASolver naSolver = naContext.getSolver();
naSolver.solve(naContext, new GPMessages(), cancelTracker);
// Save the layer to disk
saveLayerToDisk(naLayer, outLayerPath);
}
catch (Exception e)
{
e.printStackTrace();
}
}