207 private String endpointAddress = REPLACE_WITH_ACTUAL_URL; |
207 private String endpointAddress = REPLACE_WITH_ACTUAL_URL; |
208 private Container container; |
208 private Container container; |
209 private final Class implType; |
209 private final Class implType; |
210 |
210 |
211 private boolean inlineSchemas; // TODO |
211 private boolean inlineSchemas; // TODO |
212 private final boolean disableSecureXmlProcessing; |
212 private final boolean disableXmlSecurity; |
213 |
213 |
214 /** |
214 /** |
215 * Creates the WSDLGenerator |
215 * Creates the WSDLGenerator |
216 * @param model The {@link AbstractSEIModelImpl} used to generate the WSDL |
216 * @param model The {@link AbstractSEIModelImpl} used to generate the WSDL |
217 * @param wsdlResolver The {@link WSDLResolver} to use resovle names while generating the WSDL |
217 * @param wsdlResolver The {@link WSDLResolver} to use resovle names while generating the WSDL |
227 /** |
227 /** |
228 * Creates the WSDLGenerator |
228 * Creates the WSDLGenerator |
229 * @param model The {@link AbstractSEIModelImpl} used to generate the WSDL |
229 * @param model The {@link AbstractSEIModelImpl} used to generate the WSDL |
230 * @param wsdlResolver The {@link WSDLResolver} to use resovle names while generating the WSDL |
230 * @param wsdlResolver The {@link WSDLResolver} to use resovle names while generating the WSDL |
231 * @param binding specifies which {@link javax.xml.ws.BindingType} to generate |
231 * @param binding specifies which {@link javax.xml.ws.BindingType} to generate |
232 * @param disableSecureXmlProcessing specifies whether to disable the secure xml processing feature |
232 * @param disableXmlSecurity specifies whether to disable the secure xml processing feature |
233 * @param extensions an array {@link WSDLGeneratorExtension} that will |
233 * @param extensions an array {@link WSDLGeneratorExtension} that will |
234 * be invoked to generate WSDL extensions |
234 * be invoked to generate WSDL extensions |
235 */ |
235 */ |
236 public WSDLGenerator(AbstractSEIModelImpl model, WSDLResolver wsdlResolver, WSBinding binding, Container container, |
236 public WSDLGenerator(AbstractSEIModelImpl model, WSDLResolver wsdlResolver, WSBinding binding, Container container, |
237 Class implType, boolean inlineSchemas, boolean disableSecureXmlProcessing, |
237 Class implType, boolean inlineSchemas, boolean disableXmlSecurity, |
238 WSDLGeneratorExtension... extensions) { |
238 WSDLGeneratorExtension... extensions) { |
239 |
239 |
240 this.model = model; |
240 this.model = model; |
241 resolver = new JAXWSOutputSchemaResolver(); |
241 resolver = new JAXWSOutputSchemaResolver(); |
242 this.wsdlResolver = wsdlResolver; |
242 this.wsdlResolver = wsdlResolver; |
243 this.binding = binding; |
243 this.binding = binding; |
244 this.container = container; |
244 this.container = container; |
245 this.implType = implType; |
245 this.implType = implType; |
246 extensionHandlers = new ArrayList<WSDLGeneratorExtension>(); |
246 extensionHandlers = new ArrayList<WSDLGeneratorExtension>(); |
247 this.inlineSchemas = inlineSchemas; |
247 this.inlineSchemas = inlineSchemas; |
248 this.disableSecureXmlProcessing = disableSecureXmlProcessing; |
248 this.disableXmlSecurity = disableXmlSecurity; |
249 |
249 |
250 // register handlers for default extensions |
250 // register handlers for default extensions |
251 register(new W3CAddressingWSDLGeneratorExtension()); |
251 register(new W3CAddressingWSDLGeneratorExtension()); |
252 register(new W3CAddressingMetadataWSDLGeneratorExtension()); |
252 register(new W3CAddressingMetadataWSDLGeneratorExtension()); |
253 register(new PolicyWSDLGeneratorExtension()); |
253 register(new PolicyWSDLGeneratorExtension()); |
461 // TODO locallize and wrap this |
461 // TODO locallize and wrap this |
462 throw new WebServiceException(e.getMessage()); |
462 throw new WebServiceException(e.getMessage()); |
463 } |
463 } |
464 } |
464 } |
465 if (resolver.nonGlassfishSchemas != null) { |
465 if (resolver.nonGlassfishSchemas != null) { |
466 TransformerFactory tf = XmlUtil.newTransformerFactory(!disableSecureXmlProcessing); |
466 TransformerFactory tf = XmlUtil.newTransformerFactory(!disableXmlSecurity); |
467 try { |
467 try { |
468 Transformer t = tf.newTransformer(); |
468 Transformer t = tf.newTransformer(); |
469 for (DOMResult xsd : resolver.nonGlassfishSchemas) { |
469 for (DOMResult xsd : resolver.nonGlassfishSchemas) { |
470 Document doc = (Document) xsd.getNode(); |
470 Document doc = (Document) xsd.getNode(); |
471 SAXResult sax = new SAXResult(new TXWContentHandler(types)); |
471 SAXResult sax = new SAXResult(new TXWContentHandler(types)); |