Fix web service creation for non-file base URI schemes

If a web service imports another wsdl from e.g. a http or https URL, the
corresponding document base URI is the location of the import. Not the
local filesystem.
diff --git a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/jaxws/JaxWsUtils.java b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/jaxws/JaxWsUtils.java
index 9c04b7b..e619a6b 100644
--- a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/jaxws/JaxWsUtils.java
+++ b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/jaxws/JaxWsUtils.java
@@ -180,10 +180,10 @@
    *          The line delimiter to use.
    * @param targetPackage
    *          The target package in which all JaxWs artifacts should be stored.
-   * @return A {@link Map} holding a {@link Path} for each created binding and a {@link StringBuilder} with the
-   *         corresponding content.
+   * @return A {@link Map} holding the binding path filename as {@link String} and the corresponding binding content as
+   *         {@link StringBuilder}.
    */
-  public static Map<Path, StringBuilder> getJaxwsBindingContents(ParsedWsdl parsedWsdl, URI rootWsdlUri, String lineDelimiter, String targetPackage) {
+  public static Map<String, StringBuilder> getJaxwsBindingContents(ParsedWsdl parsedWsdl, URI rootWsdlUri, String lineDelimiter, String targetPackage) {
     Map<URI, Set<JaxWsBindingMapping>> bindingsByFile = new HashMap<>();
     for (Entry<Service, URI> service : parsedWsdl.getWebServices().entrySet()) {
       WebServiceNames names = parsedWsdl.getServiceNames().get(service.getKey());
@@ -207,17 +207,23 @@
       }
     }
 
-    Map<Path, StringBuilder> result = new HashMap<>(bindingsByFile.size());
+    Map<String, StringBuilder> result = new HashMap<>(bindingsByFile.size());
     for (Entry<URI, Set<JaxWsBindingMapping>> binding : bindingsByFile.entrySet()) {
       URI uri = binding.getKey();
       URI relPath = CoreUtils.relativizeURI(rootWsdlUri, uri);
       StringBuilder jaxwsBindingContent = JaxWsUtils.getJaxwsBindingContent(targetPackage, relPath, binding.getValue(), lineDelimiter);
-      Path path = Paths.get(uri);
+      final Path path;
+      if ("file".equals(uri.getScheme())) {
+        path = Paths.get(uri);
+      }
+      else {
+        path = Paths.get(uri.getPath());
+      }
       if (path.getNameCount() < 1) {
         SdkLog.warning("Zero length path found for jax-ws binding content of URI '{}'. Skipping.", uri);
       }
       else {
-        result.put(path, jaxwsBindingContent);
+        result.put(path.getFileName().toString(), jaxwsBindingContent);
       }
     }
     return result;
diff --git a/org.eclipse.scout.sdk.s2e/src/main/java/org/eclipse/scout/sdk/s2e/operation/jaxws/WebServiceNewOperation.java b/org.eclipse.scout.sdk.s2e/src/main/java/org/eclipse/scout/sdk/s2e/operation/jaxws/WebServiceNewOperation.java
index 77d3029..04939e4 100644
--- a/org.eclipse.scout.sdk.s2e/src/main/java/org/eclipse/scout/sdk/s2e/operation/jaxws/WebServiceNewOperation.java
+++ b/org.eclipse.scout.sdk.s2e/src/main/java/org/eclipse/scout/sdk/s2e/operation/jaxws/WebServiceNewOperation.java
@@ -17,7 +17,6 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -419,20 +418,20 @@
 
   protected void createJaxwsBindings(IFolder wsdlBindingsFolder, String lineDelimiter, IProgressMonitor monitor, IWorkingCopyManager workingCopyManager) throws CoreException {
     URI parent = wsdlBindingsFolder.getLocation().toFile().toURI();
-    Map<Path, StringBuilder> jaxwsBindingContents = JaxWsUtils.getJaxwsBindingContents(getParsedWsdl(), parent, lineDelimiter, getPackage());
-    for (Entry<Path, StringBuilder> binding : jaxwsBindingContents.entrySet()) {
+    Map<String, StringBuilder> jaxwsBindingContents = JaxWsUtils.getJaxwsBindingContents(getParsedWsdl(), parent, lineDelimiter, getPackage());
+    for (Entry<String, StringBuilder> binding : jaxwsBindingContents.entrySet()) {
       IFile jaxwsBindingXmlFile = null;
       if (jaxwsBindingContents.size() == 1) {
         jaxwsBindingXmlFile = wsdlBindingsFolder.getFile(JaxWsUtils.JAXWS_BINDINGS_FILE_NAME);
       }
       else {
-        Path pathFileName = binding.getKey().getFileName();
+        String pathFileName = binding.getKey();
         if (pathFileName == null) {
           // should not happen because zero len paths are skipped by JaxWsUtils.getJaxwsBindingContents().
           throw new IllegalArgumentException("zero length path found.");
         }
 
-        String partName = pathFileName.toString().toLowerCase();
+        String partName = pathFileName.toLowerCase();
         if (partName.endsWith(JaxWsUtils.WSDL_FILE_EXTENSION)) {
           partName = partName.substring(0, partName.length() - JaxWsUtils.WSDL_FILE_EXTENSION.length());
         }