Java源码示例:com.sun.xml.internal.ws.server.UnsupportedMediaException
示例1
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例2
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例3
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例4
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例5
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例6
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例7
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例8
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例9
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例10
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例11
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例12
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例13
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例14
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例15
public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
List<String> expectedContentTypes = getExpectedContentTypes();
if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
throw new UnsupportedMediaException(contentType, expectedContentTypes);
}
com.oracle.webservices.internal.api.message.ContentType pct = packet.getInternalContentType();
ContentTypeImpl cti = (pct != null && pct instanceof ContentTypeImpl) ?
(ContentTypeImpl)pct : new ContentTypeImpl(contentType);
String charset = cti.getCharSet();
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
packet.setMessage(streamDecoder.decode(in, charset, att, soapVersion));
}
示例16
public void decode(ReadableByteChannel in, String contentType, Packet packet) {
if (contentType == null) {
throw new UnsupportedMediaException();
}
preDecode(packet);
try {
if(isMultipartRelated(contentType))
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例17
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例18
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例19
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例20
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例21
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例22
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例23
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例24
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例25
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例26
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例27
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例28
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}
示例29
@Override
protected void decode(MimeMultipartParser mpp, Packet packet) throws IOException {
//TODO shouldn't we check for SOAP1.1/SOAP1.2 and throw
//TODO UnsupportedMediaException like StreamSOAPCodec
String charset = null;
String ct = mpp.getRootPart().getContentType();
if (ct != null) {
charset = new ContentTypeImpl(ct).getCharSet();
}
if (charset != null && !Charset.isSupported(charset)) {
throw new UnsupportedMediaException(charset);
}
if (charset != null) {
packet.invocationProperties.put(DECODED_MESSAGE_CHARSET, charset);
} else {
packet.invocationProperties.remove(DECODED_MESSAGE_CHARSET);
}
// we'd like to reuse those reader objects but unfortunately decoder may be reused
// before the decoded message is completely used.
XMLStreamReader mtomReader = new MtomXMLStreamReaderEx( mpp,
XMLStreamReaderFactory.create(null, mpp.getRootPart().asInputStream(), charset, true)
);
packet.setMessage(codec.decode(mtomReader, new MimeAttachmentSet(mpp)));
packet.setMtomFeature(mtomFeature);
packet.setContentType(mpp.getContentType());
}
示例30
public void decode(InputStream in, String contentType, Packet packet) throws IOException {
if (contentType == null) {
contentType = xmlMimeType;
}
packet.setContentType(new ContentTypeImpl(contentType));
preDecode(packet);
try {
if(isMultipartRelated(contentType))
// parse the multipart portion and then decide whether it's MTOM or SwA
super.decode(in, contentType, packet);
else if(isFastInfoset(contentType)) {
if (!ignoreContentNegotiationProperty && packet.contentNegotiation == ContentNegotiation.none)
throw noFastInfosetForDecoding();
useFastInfosetForEncoding = true;
fiSoapCodec.decode(in, contentType, packet);
} else
xmlSoapCodec.decode(in, contentType, packet);
} catch(RuntimeException we) {
if (we instanceof ExceptionHasMessage || we instanceof UnsupportedMediaException) {
throw we;
} else {
throw new MessageCreationException(version, we);
}
}
postDecode(packet);
}