@Override public XMLStreamWriter getXmlWriter() throws IOException, XMLStreamException { if ( xmlWriter != null ) { return xmlWriter; } if ( redirected ) { throw new IllegalStateException( "sendRedirect() already called for FeatureInfoContext" ); } if ( outputStream != null ) { throw new IllegalStateException( "getOutputStream() already called for FeatureInfoContext" ); } return xmlWriter = response.getXMLWriter(); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be null * @param schemaLocation * allows to specify a value for the 'xsi:schemaLocation' attribute in the root element, must not be null * @return {@link XMLStreamWriter} * @throws XMLStreamException * @throws IOException */ static XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String schemaLocation ) throws XMLStreamException, IOException { if ( schemaLocation == null ) { return writer.getXMLWriter(); } return new SchemaLocationXMLStreamWriter( writer.getXMLWriter(), schemaLocation ); }
/** * Finishes an OGC-SOAP response that has been initiated by {@link #beginSOAPResponse(HttpResponseBuffer)}. * * @see #beginSOAPResponse(HttpResponseBuffer) * * @param response * @throws IOException * @throws XMLStreamException */ protected void endSOAPResponse( HttpResponseBuffer response ) throws IOException, XMLStreamException { XMLStreamWriter xmlWriter = response.getXMLWriter(); // "soapenv:Body" xmlWriter.writeEndElement(); // "soapenv:Envelope" xmlWriter.writeEndElement(); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be null * @param schemaLocation * allows to specify a value for the 'xsi:schemaLocation' attribute in the root element, must not be null * * @return {@link XMLStreamWriter} * @throws XMLStreamException * @throws IOException */ public XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String schemaLocation ) throws XMLStreamException, IOException { if ( schemaLocation == null ) { return writer.getXMLWriter(); } return new SchemaLocationXMLStreamWriter( writer.getXMLWriter(), schemaLocation ); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be null * @param schemaLocation * allows to specify a value for the 'xsi:schemaLocation' attribute in the root element, must not be null * @return {@link XMLStreamWriter} * @throws XMLStreamException * @throws IOException */ static XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String schemaLocation ) throws XMLStreamException, IOException { if ( schemaLocation.equals( "" ) ) { return writer.getXMLWriter(); } return new SchemaLocationXMLStreamWriter( writer.getXMLWriter(), schemaLocation ); } }
private void beginSoap11Response( HttpResponseBuffer response ) throws IOException, XMLStreamException { response.setContentType( "text/xml" ); XMLStreamWriter xmlWriter = response.getXMLWriter(); String soapEnvNS = "http://schemas.xmlsoap.org/soap/envelope/"; String xsiNS = "http://www.w3.org/2001/XMLSchema-instance"; xmlWriter.writeStartElement( "soap", "Envelope", soapEnvNS ); xmlWriter.writeNamespace( "soap", soapEnvNS ); xmlWriter.writeNamespace( "xsi", xsiNS ); xmlWriter.writeAttribute( xsiNS, "schemaLocation", "http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" ); xmlWriter.writeStartElement( soapEnvNS, "Body" ); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be null * @param schemaLocation * allows to specify a value for the 'xsi:schemaLocation' attribute in the root element, must not be null * @return {@link XMLStreamWriter} * @throws XMLStreamException * @throws IOException */ static XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String schemaLocation ) throws XMLStreamException, IOException { if ( schemaLocation == null ) { return writer.getXMLWriter(); } XMLStreamWriter fWriter = new TrimmingXMLStreamWriter( writer.getXMLWriter() ); return new SchemaLocationXMLStreamWriter( fWriter, schemaLocation ); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be null * @param schemaLocation * allows to specify a value for the 'xsi:schemaLocation' attribute in the root element, must not be null * @return {@link XMLStreamWriter} * @throws XMLStreamException * @throws IOException */ private XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String schemaLocation ) throws XMLStreamException, IOException { if ( schemaLocation == null ) { return writer.getXMLWriter(); } XMLStreamWriter fWriter = new TrimmingXMLStreamWriter( writer.getXMLWriter() ); return new SchemaLocationXMLStreamWriter( fWriter, schemaLocation ); // return new TrimmingXMLStreamWriter( writer.getXMLWriter() ); }
/** * Returns an <code>XMLStreamWriter</code> for writing an XML response document. * * @param writer * writer to write the XML to, must not be <code>null</code> * @param mimeType * mime type, must not be <code>null</code> * @param schemaLocation * value for the 'xsi:schemaLocation' attribute in the root element, can be <code>null</code> * @return XML stream writer object that takes care of putting the schemaLocation in the root element * @throws XMLStreamException * @throws IOException */ public static XMLStreamWriter getXMLResponseWriter( HttpResponseBuffer writer, String mimeType, String schemaLocation ) throws XMLStreamException, IOException { boolean needsEncoding = mimeType.startsWith( "text" ); XMLStreamWriter xmlWriter = writer.getXMLWriter( needsEncoding ); // call setContentType(...) after setCharacterEncoding(...) to avoid problems on certain web containers // see http://tracker.deegree.org/deegree-services/ticket/323 writer.setContentType( mimeType ); if ( schemaLocation == null ) { return xmlWriter; } return new SchemaLocationXMLStreamWriter( xmlWriter, schemaLocation ); }
private void getFeatureInfoSchema( Map<String, String> map, HttpResponseBuffer response ) throws IOException { GetFeatureInfoSchema fis = new GetFeatureInfoSchema( map ); List<FeatureType> schema = service.getSchema( fis ); try { response.setContentType( "text/xml" ); XMLStreamWriter writer = response.getXMLWriter(); // TODO handle multiple namespaces String namespace = "http://www.deegree.org/app"; if ( !schema.isEmpty() ) { namespace = schema.get( 0 ).getName().getNamespaceURI(); } Map<String, String> nsToPrefix = new HashMap<String, String>(); if ( namespace != null && !namespace.isEmpty() ) { nsToPrefix.put( "app", namespace ); } new GMLAppSchemaWriter( GMLVersion.GML_2, namespace, null, nsToPrefix ).export( writer, schema ); writer.writeEndDocument(); } catch ( XMLStreamException e ) { LOG.error( "Unknown error", e ); } }
private void doGetCapabilities( GetCapabilities request, HttpResponseBuffer response ) throws OWSException, XMLStreamException, IOException { LOG.trace( "doGetCapabilities invoked, request: " + request ); // generic check if requested version is supported (currently this is only 1.0.0) negotiateVersion( request ); response.setContentType( "text/xml; charset=UTF-8" ); XMLStreamWriter xmlWriter = response.getXMLWriter(); WSDL serviceWSDL = new WSDL( "services" + File.separatorChar + "wps.wsdl" ); CapabilitiesXMLWriter.export100( xmlWriter, processManager.getProcesses(), mainMetadataConf, serviceWSDL ); LOG.trace( "doGetCapabilities finished" ); }
try { response.setContentType( "application/xml" ); capabilitiesHandler.handleGetCapabilities( map, response.getXMLWriter() ); } catch ( Throwable e ) { LOG.trace( "Stack trace:", e );
@Override protected void exportCapas( String getUrl, String postUrl, MapService service, HttpResponseBuffer response, ServiceIdentification identification, ServiceProvider provider, Map<String, String> customParameters, WMSController controller, OWSMetadataProvider metadata ) throws IOException, OWSException { String format = detectFormat( customParameters ); response.setContentType( format ); try { if ( TEXT_XML_FORMAT.equals( format ) ) { XMLStreamWriter xmlWriter = response.getXMLWriter(); new Capabilities130XMLAdapter( identification, provider, metadata, getUrl, postUrl, service, controller ).export( xmlWriter ); } else { ByteArrayOutputStream stream = new ByteArrayOutputStream(); XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter( stream ); new Capabilities130XMLAdapter( identification, provider, metadata, getUrl, postUrl, service, controller ).export( xmlWriter ); xmlWriter.close(); capabilitiesManager.serializeCapabilities( format, new ByteArrayInputStream( stream.toByteArray() ), response.getOutputStream() ); } } catch ( XMLStreamException e ) { throw new IOException( e ); } }
response.setContentType( "text/xml; charset=UTF-8" ); try { XMLStreamWriter writer = response.getXMLWriter(); ExecuteResponseXMLWriter.export100( writer, status.createExecuteResponse() ); writer.flush();
@Override protected void exportCapas( String getUrl, String postUrl, MapService service, HttpResponseBuffer response, ServiceIdentification identification, ServiceProvider provider, Map<String, String> customParameters, WMSController controller, OWSMetadataProvider metadata ) throws IOException, OWSException { response.setContentType( "application/vnd.ogc.wms_xml" ); String userAgent = OGCFrontController.getContext().getUserAgent(); if ( userAgent != null && userAgent.toLowerCase().contains( "mozilla" ) ) { response.setContentType( "application/xml" ); } response.addHeader( "Content-Disposition", "inline; filename=\"capabilities.xml\"" ); try { XMLStreamWriter xmlWriter = response.getXMLWriter(); new Capabilities111XMLAdapter( identification, provider, metadata, getUrl, postUrl, service, controller ).export( xmlWriter ); } catch ( XMLStreamException e ) { throw new IOException( e ); } }
@Override public void serializeException( HttpResponseBuffer response, OWSException exception ) throws IOException, XMLStreamException { response.reset(); response.setCharacterEncoding( "UTF-8" ); response.setContentType( "application/xml" ); setExceptionStatusCode( response, exception ); serializeExceptionToXML( response.getXMLWriter(), exception ); }
@Override public void serializeException( HttpResponseBuffer response, OWSException exception ) throws IOException, XMLStreamException { response.reset(); response.setCharacterEncoding( "UTF-8" ); response.setContentType( "application/xml" ); setExceptionStatusCode( response, exception ); serializeExceptionToXML( response.getXMLWriter(), exception ); }
@Override public void serializeException( HttpResponseBuffer response, OWSException exception ) throws IOException, XMLStreamException { response.reset(); response.setCharacterEncoding( "UTF-8" ); response.setContentType( mimeType ); setExceptionStatusCode( response, exception ); serializeExceptionToXML( response.getXMLWriter(), exception ); }
@Override public void serializeException( HttpResponseBuffer response, OWSException exception ) throws IOException, XMLStreamException { response.reset(); response.setCharacterEncoding( "UTF-8" ); response.setContentType( "application/vnd.ogc.se_xml" ); setExceptionStatusCode( response, exception ); setStatusCode( response, exception ); serializeExceptionToXML( response.getXMLWriter(), exception ); }
@Override public void serializeException( HttpResponseBuffer response, OWSException exception ) throws IOException, XMLStreamException { response.reset(); response.setCharacterEncoding( "UTF-8" ); if ( detailSerializer != null ) { if ( exception != null && exception instanceof SOAPException ) { detailSerializer.setExceptionStatusCode( response, ( (SOAPException) exception ).getDetail() ); } else { detailSerializer.setExceptionStatusCode( response, exception ); } } else { response.setStatus( 200 ); } serializeExceptionToXML( response.getXMLWriter(), exception ); }