@GrabResolver(name='predic8-releases', root='http://repository.membrane-soa.org/content/repositories/releases') @Grab(group='com.predic8', module='soa-model-core', version='1.4.1', transitive=false) @Grab(group='org.apache.httpcomponents', module='httpclient', version='4.2.2') import com.predic8.wsdl.* import com.predic8.wstool.creator.* import groovy.xml.MarkupBuilder // Use an ExternalResolver instance if you are behind a proxy //def er = new com.predic8.xml.util.ExternalResolver(proxyHost: 'proxy.company.net', proxyPort: 8080) def parser = new WSDLParser(/*resourceResolver: er*/) def wsdl = parser.parse("http://www.webservicex.net/stockquote.asmx?WSDL") def writer = new StringWriter() //SOARequestCreator constructor: SOARequestCreator(Definitions, Creator, MarkupBuilder) def creator = new SOARequestCreator(wsdl, new RequestTemplateCreator(), new MarkupBuilder(writer)) wsdl.services.each { service -> service.ports.findAll{ it.binding.protocol in ['SOAP11', 'SOAP12'] }.each { port -> def binding = port.binding println "\n" def portType = binding.portType portType.operations.each { op -> creator.createRequest(port.name, op.name, binding.name) System.out.println(writer) writer.buffer.length = 0 } } }