use of org.n52.svalbard.encode.OperationResponseEncoderKey in project arctic-sea by 52North.
the class Soap12XmlStreamWriter method writeBodyContent.
/**
* Encode and write the {@link OwsServiceResponse} to stream
*
* @param bodyResponse The service internal response to encode and write
*
* @throws XMLStreamException If an error occurs when writing to {@link OutputStream}
* @throws EncodingException If an encoding error occurs
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
protected void writeBodyContent(OwsServiceResponse bodyResponse) throws XMLStreamException, EncodingException {
Encoder<Object, OwsServiceResponse> encoder = getEncoder(new OperationResponseEncoderKey(new OwsOperationKey(bodyResponse), MediaTypes.APPLICATION_XML));
if (encoder instanceof StreamingEncoder<?, ?>) {
EncodingContext ctx = getContext().with(XmlBeansEncodingFlags.DOCUMENT).without(XmlBeansEncodingFlags.PROPERTY_TYPE).without(XmlBeansEncodingFlags.TYPE).with(StreamingEncoderFlags.EMBEDDED, true);
((StreamingEncoder) encoder).encode(bodyResponse, getOutputStream(), ctx);
} else {
String soapBodyContent = ((XmlObject) encoder.encode(bodyResponse)).xmlText(getXmlOptions());
rawText(stripXmlDeclaration(soapBodyContent));
}
}
use of org.n52.svalbard.encode.OperationResponseEncoderKey in project arctic-sea by 52North.
the class DescribeSensorResponseEncoderTest method should_return_correct_encoder_keys.
@Test
public void should_return_correct_encoder_keys() {
Set<EncoderKey> returnedKeySet = new DescribeSensorResponseEncoder().getKeys();
assertThat(returnedKeySet.size(), is(3));
assertThat(returnedKeySet, hasItem(new XmlEncoderKey(SwesConstants.NS_SWES_20, DescribeSensorResponse.class)));
assertThat(returnedKeySet, hasItem(new OperationResponseEncoderKey(SosConstants.SOS, Sos2Constants.SERVICEVERSION, SosConstants.Operations.DescribeSensor, MediaTypes.TEXT_XML)));
assertThat(returnedKeySet, hasItem(new OperationResponseEncoderKey(SosConstants.SOS, Sos2Constants.SERVICEVERSION, SosConstants.Operations.DescribeSensor, MediaTypes.APPLICATION_XML)));
}
Aggregations