AnsweredAssumed Answered

Need workaround for ArcFM extension

Question asked by snhirsch on Feb 27, 2015
Latest reply on Mar 10, 2015 by cmk

I am using ArcGIS RT 10.1 in Java to work with a customer geodatabase.  After receiving an update of the data, I started seeing Automation execptions on any attempt at opening a feature class:

 

AutomationException: 0x80041352 - Unable to create object class extension COM component [MyClassName] in 'Esri GeoDatabase' at

com.esri.arcgis.geodatabase.Workspace.openFeatureClass(Unknown Source)

 

I finally traced this down to the data having come from the ArcFM environment (apparently there are extension classes associated that we do not have access to).  After a bit more digging I found a way to clear the extensions by doing this for every feature class:

 

        IFeatureWorkspaceSchemaEdit edit = (IFeatureWorkspaceSchemaEdit) featureWorkspace;
        edit.alterClassExtensionCLSID(feature_class_name,null,null);

 

        UID id = new UID();
        id.setValue(com.esri.arcgis.geodatabase.Feature.class);
        edit.alterInstanceCLSID(feature_class_name,id);

 

This gets me about 98% of the way there.  I can open the feature class, traverse the network, get my hands on shapes, etc.  However, now I cannot get from a network EID directly back to a shape.  Any attempt at calling:

 

iGeometricNetwork.getGeometryForEdgeEID(eid);

or

iGeometricNetwork.getGeometryForJunctionEID(eid);

 

throws this exception:

 

AutomationException: 0x80004005 - Unspecified error

 

Clearly there is a connection broken between the geometric network and the feature class.  I'm guessing I need to be doing something slightly different in the schema edit, but the documentation is not forthcoming on the details.  Can anyone give me the magic incantation?

Outcomes