public Binding createDefaultSoapBinding( String bindingName, Endpoint endpoint, InterfaceType itf) { // create binding Binding binding = (Binding) ((AbstractInterfaceTypeImpl) itf).getDescription().createBinding(); binding.setQName( new QName( ((AbstractInterfaceTypeImpl) itf).getDescription().getTargetNamespace(), bindingName)); binding.setInterface(itf); binding.setTransportProtocol( org.ow2.easywsdl.wsdl.impl.wsdl11.Constants.HTTP_SCHEMAS_XMLSOAP_ORG_SOAP_HTTP); for (Operation operation : itf.getOperations()) { BindingOperation bindingOperation = binding.createBindingOperation(); bindingOperation.setQName(operation.getQName()); // We set soapAction attribut as an URI build from the operation // qualified name. bindingOperation.setSoapAction( operation.getQName().getNamespaceURI() + (operation.getQName().getNamespaceURI().endsWith("/") ? "" : "/") + operation.getQName().getLocalPart()); // input if (operation.getInput() != null) { BindingInput binput = bindingOperation.createInput(); bindingOperation.setInput(binput); SOAP11Binding4Wsdl11 soap11binding = binput.createSOAP11Binding4Wsdl11(); SOAP11Body body = soap11binding.createBody(); body.setUse(UseConstants.LITERAL); try { soap11binding.setBody(body); } catch (WSDLException e) { // do nothing } binput.setSOAP11Binding4Wsdl11(soap11binding); } // output if (operation.getOutput() != null) { BindingOutput boutput = bindingOperation.createOutput(); bindingOperation.setOutput(boutput); SOAP11Binding4Wsdl11 soap11binding = boutput.createSOAP11Binding4Wsdl11(); SOAP11Body body = soap11binding.createBody(); body.setUse(UseConstants.LITERAL); try { soap11binding.setBody(body); } catch (WSDLException e) { // do nothing } boutput.setSOAP11Binding4Wsdl11(soap11binding); } // fault if (operation.getFaults() != null) { for (Fault faultop : operation.getFaults()) { BindingFault bfault = bindingOperation.createFault(); bfault.setName(faultop.getName()); bindingOperation.addFault(bfault); SOAP11Binding4Wsdl11 soap11binding = bfault.createSOAP11Binding4Wsdl11(); SOAP11Fault soap11fault = soap11binding.createFault(); soap11fault.setName(faultop.getName()); soap11fault.setUse(UseConstants.LITERAL); try { soap11binding.setFault(soap11fault); } catch (WSDLException e) { // do nothing } bfault.setSOAP11Binding4Wsdl11(soap11binding); } } binding.addBindingOperation(bindingOperation); } // set the binding to endpoint endpoint.setBinding(binding); return binding; }