/** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ ///* // * // * Licensed to the Apache Software Foundation (ASF) under one // * or more contributor license agreements. See the NOTICE file // * distributed with this work for additional information // * regarding copyright ownership. The ASF licenses this file // * to you under the Apache License, Version 2.0 (the // * "License"); you may not use this file except in compliance // * with the License. You may obtain a copy of the License at // * // * http://www.apache.org/licenses/LICENSE-2.0 // * // * Unless required by applicable law or agreed to in writing, // * software distributed under the License is distributed on an // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // * KIND, either express or implied. See the License for the // * specific language governing permissions and limitations // * under the License. // * // */ // //package org.apache.airavata.workflow.model.ode; // //import java.util.ArrayList; // //import org.xmlpull.infoset.XmlAttribute; //import org.xmlpull.infoset.XmlElement; // //import xsul5.wsdl.WsdlBinding; //import xsul5.wsdl.WsdlDefinitions; //import xsul5.wsdl.WsdlPort; //import xsul5.wsdl.WsdlService; // ///** // * ODE does not work well with the wsdls with SOAP 1.2 binding and HTTP bindings that are generated by wsdls generated // * by Axis2. This class is intended to remove the extra bindings and the extra ports. // * // */ //public class WSDLCleaner { // // public static void cleanWSDL(WsdlDefinitions definition) { // WsdlDefinitions wsdl = definition; // Iterable<WsdlBinding> bindings = wsdl.bindings(); // ArrayList<WsdlBinding> removedBindings = new ArrayList<WsdlBinding>(); // for (WsdlBinding wsdlBinding : bindings) { // XmlElement innerBinding = wsdlBinding.xml().element("binding"); // if (null != innerBinding // && !"http://schemas.xmlsoap.org/wsdl/soap/".equals(innerBinding.getNamespace().getName())) { // // removedBindings.add(wsdlBinding); // } // } // // to mitigate the Concurrent modifications this is done separately // for (WsdlBinding wsdlBinding : removedBindings) { // wsdl.xml().removeElement(wsdlBinding.xml()); // } // // ArrayList<WsdlPort> removePorts = new ArrayList<WsdlPort>(); // Iterable<WsdlService> services = wsdl.services(); // for (WsdlService wsdlService : services) { // Iterable<WsdlPort> ports = wsdlService.ports(); // for (WsdlPort wsdlPort : ports) { // for (WsdlBinding removedBinding : removedBindings) { // if (removedBinding.getName().equals(wsdlPort.getBinding().getLocalPart())) { // removePorts.add(wsdlPort); // break; // } // } // } // for (WsdlPort wsdlPort : removePorts) { // wsdlService.xml().removeElement(wsdlPort.xml()); // } // removePorts.clear(); // } // // // remove attributeFormDefault and elementFormDefault // Iterable<XmlElement> schemas = wsdl.getTypes().elements(null, "schema"); // for (XmlElement schema : schemas) { // XmlAttribute attributeFormDefault = schema.attribute("attributeFormDefault"); // schema.removeAttribute(attributeFormDefault); // // XmlAttribute elementFormDefault = schema.attribute("elementFormDefault"); // schema.removeAttribute(elementFormDefault); // } // } // // // // // public void addUniqueMessageNameIfNecessary(WsdlDefinitions definition){ // // // // // // Iterable<WsdlMessage> messages = definition.messages(); // // for (WsdlMessage wsdlMessage : messages) { // // String msgName = wsdlMessage.getName(); // // WSDLUtil.replaceAttributeValue(element, name, oldValue, newValue) // // } // // } // //}