[143483] JS Binary modules in EARFileImpl support
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/componentcore/util/EJBArtifactEdit.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/componentcore/util/EJBArtifactEdit.java
index 1c9094a..b322459 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/componentcore/util/EJBArtifactEdit.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/componentcore/util/EJBArtifactEdit.java
@@ -32,6 +32,7 @@
 import org.eclipse.jst.j2ee.internal.common.CreationConstants;
 import org.eclipse.jst.j2ee.internal.common.XMLResource;
 import org.eclipse.jst.j2ee.internal.componentcore.EJBBinaryComponentHelper;
+import org.eclipse.jst.j2ee.internal.componentcore.EnterpriseBinaryComponentHelper;
 import org.eclipse.jst.j2ee.internal.ejb.archiveoperations.EJBComponentLoadStrategyImpl;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.wst.common.componentcore.ArtifactEdit;
@@ -541,10 +542,14 @@
 	}
 
 	public Archive asArchive(boolean includeSource) throws OpenFailureException {
-		EJBComponentLoadStrategyImpl loader = new EJBComponentLoadStrategyImpl(getComponent());
-		loader.setExportSource(includeSource);
-		String uri = ModuleURIUtil.getHandleString(getComponent());
-		return CommonarchiveFactory.eINSTANCE.openEJBJarFile(loader, uri);
+		if (isBinary()) {
+			return ((EnterpriseBinaryComponentHelper) getBinaryComponentHelper()).getArchive();
+		} else {
+			EJBComponentLoadStrategyImpl loader = new EJBComponentLoadStrategyImpl(getComponent());
+			loader.setExportSource(includeSource);
+			String uri = ModuleURIUtil.getHandleString(getComponent());
+			return CommonarchiveFactory.eINSTANCE.openEJBJarFile(loader, uri);
+		}
 	}
 
 	public static void createDeploymentDescriptor(IProject project, int version) {