Still had issues with deploying complex hl7 webservice. Here is a patch to WSDL11Reader (version 3.1.1) that solved my HL7V3 issues:
| --- WSDL11Reader.java 2009-09-25 13:06:36.847867600 -0400 | +++ WSDL11Reader.java.new 2009-10-01 18:46:58.741045900 -0400 | @@ -145,6 +145,8 @@ | | // Temporary files used by this reader. | private List<File> tempFiles = new ArrayList<File>(); | + private Map<String, String> publocation = new HashMap<String, String>(); | + private List<String> published = new ArrayList<String>(); | | // SWA handling | private Map<QName, List<String>> skippedSWAParts = new HashMap<QName, List<String>>(); | @@ -423,7 +425,6 @@ | String localname = domElementClone.getLocalName(); | try | { | - List<URL> published = new LinkedList<URL>(); | if ("import".equals(localname)) | { | processSchemaImport(destTypes, wsdlLoc, domElementClone, published); | @@ -436,8 +437,8 @@ | { | throw new IllegalArgumentException("Unsuported schema element: " + localname); | } | - published.clear(); | - published = null; | +// published.clear(); | +// published = null; | } | catch (IOException e) | { | @@ -529,7 +530,7 @@ | } | } | | - private void processSchemaImport(WSDLTypes types, URL wsdlLoc, Element importEl, List<URL> published) throws IOException, WSDLException | + private void processSchemaImport(WSDLTypes types, URL wsdlLoc, Element importEl, List<String> published) throws IOException, WSDLException | { | if (wsdlLoc == null) | throw new IllegalArgumentException("Cannot process import, parent location not set"); | @@ -542,16 +543,25 @@ | | URL locationURL = getLocationURL(wsdlLoc, location); | Element rootElement = DOMUtils.parse(new ResourceURL(locationURL).openStream()); | - if (!published.contains(locationURL)) | + if (!published.contains(locationURL.toExternalForm())) | { | - published.add(locationURL); | + published.add(locationURL.toExternalForm()); | URL newloc = processSchemaInclude(types, locationURL, rootElement, published); | - if (newloc != null) | + if (newloc != null) { | importEl.setAttribute("schemaLocation", newloc.toExternalForm()); | + publocation.put(locationURL.toExternalForm(), newloc.toExternalForm()); | + } | + } | + else { | + if (publocation.containsKey(locationURL.toExternalForm())) { | + if (publocation.get(locationURL.toExternalForm()) != null) { | + importEl.setAttribute("schemaLocation", (String)publocation.get(locationURL)); | + } | + } | } | } | | - private URL processSchemaInclude(WSDLTypes types, URL wsdlLoc, Element schemaEl, List<URL> published) throws IOException, WSDLException | + private URL processSchemaInclude(WSDLTypes types, URL wsdlLoc, Element schemaEl, List<String> published) throws IOException, WSDLException | { | if (wsdlLoc == null) | throw new IllegalArgumentException("Cannot process iclude, parent location not set"); | @@ -580,12 +590,21 @@ | | URL locationURL = getLocationURL(wsdlLoc, location); | Element rootElement = DOMUtils.parse(new ResourceURL(locationURL).openStream()); | - if (!published.contains(locationURL)) | + if (!published.contains(locationURL.toExternalForm())) | { | - published.add(locationURL); | + published.add(locationURL.toExternalForm()); | URL newloc = processSchemaInclude(types, locationURL, rootElement, published); | - if (newloc != null) | + if (newloc != null) { | includeEl.setAttribute("schemaLocation", newloc.toExternalForm()); | + publocation.put(locationURL.toExternalForm(),newloc.toExternalForm()); | + } | + } | + else { | + if (publocation.containsKey(locationURL.toExternalForm())) { | + if (publocation.get(locationURL.toExternalForm()) != null) { | + includeEl.setAttribute("schemaLocation", (String)publocation.get(locationURL)); | + } | + } | } | } | | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4258296#4258296 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4258296 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user