private org.apache.woden.wsdl20.Description readWSDL2File() throws APIManagementException, WSDLException { WSDLReader reader = getWsdlFactoryInstance().newWSDLReader(); reader.setFeature(JAVAX_WSDL_VERBOSE_MODE, false); reader.setFeature("javax.wsdl.importDocuments", false); try { org.apache.woden.WSDLFactory wFactory = org.apache.woden.WSDLFactory.newInstance(); org.apache.woden.WSDLReader wReader = wFactory.newWSDLReader(); wReader.setFeature(org.apache.woden.WSDLReader.FEATURE_VALIDATION, true); // wReader.setFeature(JAVAX_WSDL_VERBOSE_MODE, false); // wReader.setFeature("javax.wsdl.importDocuments", false); return wReader.readWSDL(baseURI); } catch (org.apache.woden.WSDLException e) { String error = "Error occurred reading wsdl document."; log.error(error); } if (log.isDebugEnabled()) { log.debug("Reading the WSDL. Base uri is " + baseURI); } return null; }
public OMElement readAndCleanWsdl2(API api) throws APIManagementException { try { org.apache.woden.wsdl20.Description wsdlDefinition = readWSDL2File(); setServiceDefinitionForWSDL2(wsdlDefinition, api); org.apache.woden.WSDLWriter writer = org.apache.woden.WSDLFactory.newInstance().newWSDLWriter(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); writer.writeWSDL(wsdlDefinition.toElement(), byteArrayOutputStream); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); return APIUtil.buildOMElement(byteArrayInputStream); // String wsdlDoc = toString(byteArrayInputStream); } catch (Exception e) { String msg = " Error occurs when change the addres URL of the WSDL"; log.error(msg); throw new APIManagementException(msg, e); } }