The browser control was not working in non-dev versions very well. Doing this workaround first.
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/BPELTextTransferDropTargetListener.java b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/BPELTextTransferDropTargetListener.java
index feb5f62..60d9e81 100644
--- a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/BPELTextTransferDropTargetListener.java
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/BPELTextTransferDropTargetListener.java
@@ -116,7 +116,7 @@
 		String data = (String) TextTransfer.getInstance().nativeToJava(getCurrentEvent().currentDataType);
 		
 		try {
-			List<EObject> list = fReader.fromXML(TransferBuffer.adjustXMLSource(data), "Drag-Session", fEditor.getResource() );			
+			List<EObject> list = fReader.fromXML(TransferBuffer.adjustXMLSource(data), "Drag-Session", fEditor.getResource() );			 //$NON-NLS-1$
 			if (list.size() > 0) {
 				request.setFactory(new FromSourceFactory(list.get(0)) );
 			} else {
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/DropPopup.java b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/DropPopup.java
index 54b0ba8..7d3bccd 100644
--- a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/DropPopup.java
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/DropPopup.java
@@ -17,12 +17,17 @@
 import org.eclipse.bpel.ui.Templates.Template;
 import org.eclipse.bpel.ui.Templates.TemplateResource;
 import org.eclipse.jface.dialogs.PopupDialog;
+import org.eclipse.jface.internal.text.html.HTMLTextPresenter;
+import org.eclipse.jface.text.DefaultInformationControl;
+import org.eclipse.jface.text.TextPresentation;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.SWTError;
 import org.eclipse.swt.browser.Browser;
 import org.eclipse.swt.browser.StatusTextEvent;
 import org.eclipse.swt.browser.StatusTextListener;
 import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.MenuDetectEvent;
@@ -30,6 +35,7 @@
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -42,8 +48,7 @@
  */
 public class DropPopup extends PopupDialog implements StatusTextListener, MenuDetectListener, KeyListener {
 	
-	protected StyledText fText;
-	protected Browser fBrowser ;	
+		
 	
 	interface CommandListener {
 		/**
@@ -54,6 +59,10 @@
 	
 	CommandListener fTarget;
 	
+	protected HTMLTextPresenter fPresenter;
+	protected  TextPresentation fPresentation =  new TextPresentation();
+	protected StyledText fText;
+	
 	void setCommandListener ( CommandListener listener ) {
 		fTarget = listener;
 	}
@@ -67,43 +76,51 @@
 	 */
 	
 	public DropPopup (Shell parentShell, int shellStyle, String title, String statusFieldText) {		
-		super(parentShell,shellStyle, true, false, false, false, title, statusFieldText);	
+		super(parentShell,shellStyle | SWT.TOOL, true, true, false, false, title, statusFieldText);	
 	}
 	
 	@Override
 	protected Control createDialogArea (Composite parent) {
-		try {
-			fBrowser = new Browser(parent,SWT.NONE) ;
-			
-			fBrowser.addStatusTextListener(this);	
-			fBrowser.addMenuDetectListener(this);
-			fBrowser.addKeyListener(this);
-		} catch (SWTError error) {
-			fBrowser = null;
-		}		
-		return fBrowser;
+		fText= new StyledText(parent, SWT.V_SCROLL | SWT.H_SCROLL);
+		fText.setEditable(false);
+		fPresenter= new HTMLTextPresenter(false);
+
+		fText.addControlListener(new ControlAdapter() {
+			/*
+			 * @see org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse.swt.events.ControlEvent)
+			 */
+			public void controlResized(ControlEvent e) {
+				fText.setText(fText.getText());
+			}
+		});	
+		return fText;
 	}
 	
+	
 	protected void setInput (String html) {
-		if (fBrowser == null) {
-			return ;
-		}
-		
+				
 		Template template = getViewTemplate();
 		TemplateResource resource = template.getResources().get(0);
 		
 		Map<String,Object> args = new HashMap<String,Object>();
 		
 		args.put("content",html);
-		args.put("background-color", toCSS("background-color", fBrowser.getParent().getBackground() ));
-		args.put("font", toCSS(fBrowser.getParent().getFont() ));
-		fBrowser.setText( resource.process(args) );		
+		args.put("background-color", toCSS("background-color", getShell().getBackground() ));
+		args.put("font", toCSS( getShell().getFont() ));
+		
+		fPresentation.clear();
+		Rectangle size=  fText.getClientArea();
+		html = resource.process(args);
+		System.out.println("Text: "  + html);
+		html = ((DefaultInformationControl.IInformationPresenterExtension)fPresenter).updatePresentation(getShell(), html, fPresentation, size.width, size.height);
+		fText.setText(html);
+		
+		TextPresentation.applyTextPresentation(fPresentation, fText);		
+		
+		// fBrowser.setText( resource.process(args) );		
+		
 	}	
-	
-	public boolean hasBrowser () {
-		return fBrowser != null;
-	}
-	
+		
 	
 	String toCSS ( String name, Color color ) {
 		StringBuilder sb = new StringBuilder();
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/FileDropTargetListener.java b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/FileDropTargetListener.java
index 705c585..4a07c3d 100644
--- a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/FileDropTargetListener.java
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/FileDropTargetListener.java
@@ -14,16 +14,21 @@
 import org.eclipse.bpel.ui.BPELUIPlugin;
 import org.eclipse.bpel.ui.commands.AddImportCommand;
 import org.eclipse.bpel.ui.util.BrowseUtil;
+import org.eclipse.core.runtime.SafeRunner;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.jface.util.SafeRunnable;
 import org.eclipse.jface.util.TransferDropTargetListener;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.DropTargetEvent;
 import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.xsd.XSDSchema;
 
@@ -34,7 +39,7 @@
  * @date Nov 16, 2006
  *
  */
-public class FileDropTargetListener implements TransferDropTargetListener , DropPopup.CommandListener {
+public class FileDropTargetListener implements TransferDropTargetListener {
 		
 	protected DropPopup fDropPopup;
 	
@@ -49,9 +54,6 @@
 	public FileDropTargetListener ( GraphicalViewer viewer, BPELEditor editor) {
 		super();
 		fEditor = editor;	
-		
-		fDropPopup = new DropPopup(null,  SWT.ON_TOP  ,"Imports processed", "Press any key or click mouse outside to dismiss.");
-		fDropPopup.setCommandListener(this);
 	}
 	
 	
@@ -109,20 +111,43 @@
 	}
 
 	
-	StringBuilder fDropMessage = new StringBuilder (256);
+	StringBuilder fBadDropPaths = new StringBuilder (256);
+	int fProssesedGoodDrops = 0;
+	int fProssesedBadDrops = 0;
 	
 	protected void startImport () {
-		fDropMessage.setLength(0);		
+		fProssesedGoodDrops = 0;
+		fProssesedBadDrops = 0;
+		fBadDropPaths.setLength(0);		
 	}
 	
-	protected void endImport (DropTargetEvent event ) {
+	protected void endImport (DropTargetEvent event ) {	
 		
-		fDropPopup.open();
-		if (fDropPopup.hasBrowser()) {					
-			fDropPopup.getShell().setBounds(event.x-150, event.y-75, 300, 150);
-			fDropPopup.setInput(fDropMessage.toString());
-		} else {
-			fDropPopup.close();
+		if (fProssesedGoodDrops > 0) {
+			fEditor.getSite().getShell().getDisplay().asyncExec(
+			new Runnable() {				
+				public void run() {
+					fEditor.selectModelObject(fEditor.getProcess().getImports() );
+				}
+			});
+		}
+		
+		if (fProssesedBadDrops > 0) {
+			fEditor.getSite().getShell().getDisplay().asyncExec( 
+			new Runnable() {				
+				@SuppressWarnings("boxing")
+				public void run() {
+					final MessageBox mb = new MessageBox (fEditor.getSite().getShell(),
+							SWT.ICON_INFORMATION | SWT.OK );
+					mb.setText(Messages.FileDropTargetListener_DropProblem);
+					mb.setMessage(
+							NLS.bind(
+									Messages.FileDropTargetListener_Message,
+									fProssesedBadDrops,
+									fBadDropPaths ));
+					mb.open();					
+				}
+			});
 		}
 	}
 	
@@ -135,29 +160,20 @@
 		}
 		
 		if (result == null) {
-			fDropMessage.append("<li><a href=\"").append(f).append("\" target=\"notthis\"><b>");
-			fDropMessage.append(path).append("</b></a> is not importable.");
+			fProssesedBadDrops += 1;
+			if (fBadDropPaths.length() > 0) {
+				fBadDropPaths.append(", "); //$NON-NLS-1$
+			}
+			fBadDropPaths.append(path);
 			
 		} else if (result instanceof XSDSchema || result instanceof Definition) {
-			if (result instanceof XSDSchema) {
-				fDropMessage.append("<li>XSD Schema ");
-			} else if (result instanceof Definition) {
-				fDropMessage.append("<li>WSDL Definitions ");
-			}
-			fDropMessage.append("<a href=\"").append(f).append("\" target=\"notthis\"><b>");
-			fDropMessage.append(path).append("</b></a> ");
 			
 			AddImportCommand cmd = new AddImportCommand(fEditor.getProcess(), result );
-			if (cmd.canDoExecute() && cmd.wouldCreateDuplicateImport() == false) {
-				
-				fEditor.getCommandFramework().execute(cmd);
-				fDropMessage.append(" added to imports.");
-				
-			} else {
-				fDropMessage.append(" skipped - already present.");
+			if (cmd.canDoExecute() && cmd.wouldCreateDuplicateImport() == false) {				
+				fEditor.getCommandFramework().execute(cmd);				
 			}
-		}	
-		fDropMessage.append("\n");
+			fProssesedGoodDrops += 1;
+		}			
 	}
 	
 	
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/Messages.java b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/Messages.java
new file mode 100644
index 0000000..795c545
--- /dev/null
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/Messages.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.ui.dnd;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski@oracle.com)
+ * @date Aug 24, 2007
+ *
+ */
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.bpel.ui.dnd.messages"; //$NON-NLS-1$
+
+	public static String FileDropTargetListener_DropProblem;
+
+	public static String FileDropTargetListener_Message;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/messages.properties b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/messages.properties
new file mode 100644
index 0000000..42423ef
--- /dev/null
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dnd/messages.properties
@@ -0,0 +1,10 @@
+#
+#
+FileDropTargetListener_DropProblem=Drop Problem
+FileDropTargetListener_Message={0} drop(s) could not be processed:\n\n\
+ {1}\n\n\
+ Hint: You can drop XSD and WSDL resources (files,URLs) and\n\
+ textual representations of BPEL source code from other\n\
+ applications onto the BPEL editor.
+#
+#
\ No newline at end of file