org.apache.cxf.message.Message.getContent()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(428)

本文整理了Java中org.apache.cxf.message.Message.getContent()方法的一些代码示例,展示了Message.getContent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getContent()方法的具体详情如下:
包路径:org.apache.cxf.message.Message
类名称:Message
方法名:getContent

Message.getContent介绍

[英]Retrieve the encapsulated content as a particular type. The content is available as a result type if the message is outbound. The content is available as a source type if message is inbound. If the content is not available as the specified type null is returned.
[中]以特定类型检索封装的内容。如果消息是出站的,则内容作为结果类型可用。如果消息是入站的,则该内容可作为源类型使用。如果内容不可用,则返回指定的类型null。

代码示例

代码示例来源:origin: org.apache.cxf/cxf-rt-transports-http

  1. /**
  2. * Send an outbound message, assumed to contain all the name-value
  3. * mappings of the corresponding input message (if any).
  4. *
  5. * @param message the message to be sent.
  6. */
  7. public void prepare(Message message) throws IOException {
  8. message.put(HTTP_RESPONSE, response);
  9. OutputStream os = message.getContent(OutputStream.class);
  10. if (os == null) {
  11. message.setContent(OutputStream.class,
  12. new WrappedOutputStream(message));
  13. }
  14. }

代码示例来源:origin: org.apache.cxf/cxf-rt-transports-http

  1. @Override
  2. public void handleFault(Message message) {
  3. Exception ex = message.getContent(Exception.class);
  4. if (ex instanceof AuthenticationException) {
  5. HttpServletResponse resp = (HttpServletResponse)message.getExchange()
  6. .getInMessage().get(AbstractHTTPDestination.HTTP_RESPONSE);
  7. resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
  8. resp.setHeader("WWW-Authenticate", authenticationType + " realm=\"" + realm + "\"");
  9. resp.setContentType("text/plain");
  10. try {
  11. resp.getOutputStream().write(ex.getMessage().getBytes());
  12. resp.getOutputStream().flush();
  13. message.getInterceptorChain().setFaultObserver(null); //avoid return soap fault
  14. message.getInterceptorChain().abort();
  15. } catch (IOException e) {
  16. // TODO
  17. }
  18. }
  19. }

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. public void setMessage(SOAPMessage message) {
  2. if (getWrappedMessage().getContent(Object.class) instanceof SOAPMessage) {
  3. getWrappedMessage().setContent(Object.class, message);
  4. } else {
  5. getWrappedMessage().setContent(SOAPMessage.class, message);
  6. }
  7. }

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. public Source getPayload() {
  2. Source source = null;
  3. Service.Mode mode = msgContext.getWrappedMessage().getExchange().get(Service.Mode.class);
  4. } else {
  5. Message message = msgContext.getWrappedMessage();
  6. source = message.getContent(Source.class);
  7. if (source == null) {
  8. SOAPMessage msg = message.getContent(SOAPMessage.class);
  9. XMLStreamReader reader = null;
  10. if (msg != null) {
  11. DocumentFragment doc = DOMUtils.getEmptyDocument().createDocumentFragment();
  12. W3CDOMStreamWriter writer = new W3CDOMStreamWriter(doc);
  13. reader = message.getContent(XMLStreamReader.class);
  14. message.setContent(XMLStreamReader.class, reader);
  15. message.setContent(Source.class, source);
  16. } else if (!(source instanceof DOMSource)) {
  17. W3CDOMStreamWriter writer = new W3CDOMStreamWriter();
  18. XMLStreamReader reader = message.getContent(XMLStreamReader.class);
  19. if (reader == null) {
  20. reader = StaxUtils.createXMLStreamReader(source);
  21. message.setContent(XMLStreamReader.class, reader);

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. public void handleMessage(Message message) throws Fault {
  2. W3CDOMStreamWriter domWriter = (W3CDOMStreamWriter)message.getContent(XMLStreamWriter.class);
  3. XMLStreamWriter origWriter = (XMLStreamWriter)message
  4. .get(LogicalHandlerOutInterceptor.ORIGINAL_WRITER);
  5. XMLStreamReader reader = (XMLStreamReader)message.get("LogicalHandlerInterceptor.INREADER");
  6. SOAPMessage origMessage = null;
  7. if (reader != null) {
  8. origMessage = message.getContent(SOAPMessage.class);
  9. message.setContent(XMLStreamReader.class, reader);
  10. message.removeContent(SOAPMessage.class);
  11. } else if (domWriter.getCurrentFragment() != null) {
  12. message.setContent(Source.class, source);
  13. message.setContent(XMLStreamReader.class,
  14. new W3CDOMStreamReader(domWriter.getCurrentFragment()));
  15. } else if (domWriter.getDocument().getDocumentElement() != null) {
  16. .getContent(XMLStreamReader.class));
  17. responseMsg.put(InterceptorChain.STARTING_AT_INTERCEPTOR_ID,
  18. LogicalHandlerInInterceptor.class.getName());
  19. observer.onMessage(responseMsg);
  20. reader = message.getContent(XMLStreamReader.class);
  21. message.removeContent(XMLStreamReader.class);
  22. if (reader != null) {
  23. throw new Fault(e);

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. public void handleMessage(Message message) throws Fault {
  2. if (binding.getHandlerChain().isEmpty()) {
  3. return;
  4. }
  5. HandlerChainInvoker invoker = getInvoker(message);
  6. if (invoker.getLogicalHandlers().isEmpty()) {
  7. return;
  8. }
  9. XMLStreamWriter origWriter = message.getContent(XMLStreamWriter.class);
  10. Node nd = message.getContent(Node.class);
  11. SOAPMessage m = message.getContent(SOAPMessage.class);
  12. Document document = null;
  13. if (m != null) {
  14. document = m.getSOAPPart();
  15. } else if (nd != null) {
  16. document = nd.getOwnerDocument();
  17. } else {
  18. document = DOMUtils.newDocument();
  19. message.setContent(Node.class, document);
  20. }
  21. W3CDOMStreamWriter writer = new W3CDOMStreamWriter(document.createDocumentFragment());
  22. // Replace stax writer with DomStreamWriter
  23. message.setContent(XMLStreamWriter.class, writer);
  24. message.put(ORIGINAL_WRITER, origWriter);
  25. message.getInterceptorChain().add(ending);
  26. }
  27. @Override

代码示例来源:origin: apache/cxf

  1. private org.apache.cxf.security.SecurityContext getInternalSecurityContext() {
  2. org.apache.cxf.security.SecurityContext sc = m.getContent(org.apache.cxf.security.SecurityContext.class);
  3. if (sc == null) {
  4. sc = m.get(org.apache.cxf.security.SecurityContext.class);
  5. }
  6. return sc;
  7. }
  8. }

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. } else if (DataSource.class.isAssignableFrom(type)) {
  2. MessageContentsList list = (MessageContentsList)message.getContent(List.class);
  3. DataSource ds = (DataSource)list.get(0);
  4. String ct = ds.getContentType();
  5. if (ct.toLowerCase().contains("multipart/related")) {
  6. Message msg = new MessageImpl();
  7. msg.setExchange(message.getExchange());
  8. msg.put(Message.CONTENT_TYPE, ct);
  9. try {
  10. msg.setContent(InputStream.class, ds.getInputStream());
  11. AttachmentDeserializer deser = new AttachmentDeserializer(msg);
  12. deser.initializeAttachments();
  13. } catch (IOException ex) {
  14. throw new Fault(ex);
  15. final InputStream in = msg.getContent(InputStream.class);
  16. final String ct2 = (String)msg.get(Message.CONTENT_TYPE);
  17. list.set(0, new DataSource() {
  18. OutputStream out = message.getContent(OutputStream.class);
  19. message.put(Message.CONTENT_TYPE, ct);
  20. try {
  21. InputStream in = ds.getInputStream();
  22. MessageContentsList list = (MessageContentsList)message.getContent(List.class);
  23. Source ds = (Source)list.get(0);
  24. if (!(ds instanceof DOMSource)) {

代码示例来源:origin: apache/servicemix

  1. public void handleMessage(Message message) throws Fault {
  2. try {
  3. message.getContent(OutputStream.class).close();
  4. } catch (IOException e) {
  5. throw new Fault(e);
  6. }
  7. }

代码示例来源:origin: org.apache.cxf/cxf-rt-transports-http

  1. @Override
  2. public void close(Message msg) throws IOException {
  3. super.close(msg);
  4. if (msg.getExchange() == null) {
  5. return;
  6. }
  7. Message m = msg.getExchange().getInMessage();
  8. if (m == null) {
  9. return;
  10. }
  11. InputStream is = m.getContent(InputStream.class);
  12. if (is != null) {
  13. try {
  14. is.close();
  15. m.removeContent(InputStream.class);
  16. } catch (IOException ioex) {
  17. //ignore
  18. }
  19. }
  20. }
  21. }

代码示例来源:origin: apache/cxf

  1. public void handleMessage(Message message) throws Fault {
  2. OutputStream out = message.getContent(OutputStream.class);
  3. if (out != null) {
  4. CountingOutputStream newOut = new CountingOutputStream(out);
  5. message.setContent(OutputStream.class, newOut);
  6. message.getExchange().put(CountingOutputStream.class, newOut);
  7. }
  8. }
  9. }

代码示例来源:origin: apache/cxf

  1. public void handleMessage(Message message) throws Fault {
  2. Document doc = (Document)message.get(WSDLGetInterceptor.DOCUMENT_HOLDER);
  3. if (doc == null) {
  4. return;
  5. }
  6. message.remove(WSDLGetInterceptor.DOCUMENT_HOLDER);
  7. XMLStreamWriter writer = message.getContent(XMLStreamWriter.class);
  8. if (writer == null) {
  9. return;
  10. }
  11. message.put(Message.CONTENT_TYPE, "text/xml");
  12. try {
  13. StaxUtils.writeDocument(doc, writer,
  14. !MessageUtils.getContextualBoolean(message,
  15. StaxOutInterceptor.FORCE_START_DOCUMENT,
  16. false),
  17. true);
  18. } catch (XMLStreamException e) {
  19. throw new Fault(e);
  20. }
  21. }
  22. }

代码示例来源:origin: org.mule.services/mule-service-soap

  1. private DispatchingRequest getDispatchingRequest(Message message) {
  2. Exchange exchange = message.getExchange();
  3. String action = (String) exchange.get(MULE_SOAP_ACTION);
  4. Map<String, String> headers = new HashMap<>();
  5. headers.put(SOAP_ACTION, action);
  6. // It's important that content type is bundled with the headers
  7. headers.put(CONTENT_TYPE, (String) message.get(CONTENT_TYPE));
  8. headers.putAll((Map) exchange.get(MULE_TRANSPORT_HEADERS_KEY));
  9. InputStream content = new ByteArrayInputStream(message.getContent(OutputStream.class).toString().getBytes());
  10. return new DispatchingRequest(content, (String) exchange.get(MULE_WSC_ADDRESS), headers);
  11. }
  12. }

代码示例来源:origin: org.apache.cxf/cxf-rt-transports-http

  1. inMessage.getExchange().put(Bus.class, bus);
  2. inMessage.put(Message.DECOUPLED_CHANNEL_MESSAGE, Boolean.TRUE);
  3. inMessage.put(Message.RESPONSE_CODE, HttpURLConnection.HTTP_OK);
  4. InputStream in = inMessage.getContent(InputStream.class);
  5. if (in != null) {
  6. CachedOutputStream cos = new CachedOutputStream();
  7. IOUtils.copy(in, cos);
  8. inMessage.setContent(InputStream.class, cos.getInputStream());

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. private void handleAbort(Message message, W3CDOMStreamWriter writer) {
  2. message.getInterceptorChain().abort();
  3. if (!message.getExchange().isOneWay()) {
  4. //server side inbound
  5. Endpoint e = message.getExchange().getEndpoint();
  6. Message responseMsg = new MessageImpl();
  7. responseMsg.setExchange(message.getExchange());
  8. responseMsg = e.getBinding().createMessage(responseMsg);
  9. message.getExchange().setOutMessage(responseMsg);
  10. XMLStreamReader reader = message.getContent(XMLStreamReader.class);
  11. if (reader == null && writer != null) {
  12. reader = StaxUtils.createXMLStreamReader(writer.getDocument());
  13. }
  14. InterceptorChain chain = OutgoingChainInterceptor
  15. .getOutInterceptorChain(message.getExchange());
  16. responseMsg.setInterceptorChain(chain);
  17. responseMsg.put("LogicalHandlerInterceptor.INREADER", reader);
  18. chain.doIntercept(responseMsg);
  19. }
  20. }

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. private void doFromSoapMessage(Message message, Object sm) {
  2. SOAPMessage m = (SOAPMessage)sm;
  3. MessageContentsList list = (MessageContentsList)message.getContent(List.class);
  4. if (list == null) {
  5. list = new MessageContentsList();
  6. message.setContent(List.class, list);
  7. }
  8. Object o = m;
  9. if (StreamSource.class.isAssignableFrom(type)) {
  10. try {
  11. try (CachedOutputStream out = new CachedOutputStream()) {
  12. XMLStreamWriter xsw = StaxUtils.createXMLStreamWriter(out);
  13. StaxUtils.copy(new DOMSource(m.getSOAPPart()), xsw);
  14. xsw.close();
  15. o = new StreamSource(out.getInputStream());
  16. }
  17. } catch (Exception e) {
  18. throw new Fault(e);
  19. }
  20. } else if (SAXSource.class.isAssignableFrom(type)) {
  21. o = new StaxSource(new W3CDOMStreamReader(m.getSOAPPart()));
  22. } else if (Source.class.isAssignableFrom(type)) {
  23. o = new DOMSource(m.getSOAPPart());
  24. }
  25. list.set(0, o);
  26. }

代码示例来源:origin: apache/cxf

  1. @Override
  2. public void handleMessage(final Message message) throws Fault {
  3. if (message.containsKey(WIRE_TAP_STARTED)) {
  4. return;
  5. }
  6. message.put(WIRE_TAP_STARTED, Boolean.TRUE);
  7. try {
  8. InputStream is = message.getContent(InputStream.class);
  9. if (is != null) {
  10. handleInputStream(message, is);
  11. } else {
  12. Reader reader = message.getContent(Reader.class);
  13. if (reader != null) {
  14. handleReader(message, reader);
  15. }
  16. }
  17. } catch (Exception e) {
  18. throw new Fault(e);
  19. }
  20. }

代码示例来源:origin: stackoverflow.com

  1. @Override
  2. public void handleFault(Message message) {
  3. FaultMode mode = message.get(FaultMode.class);
  4. Exception exception = message.getContent(Exception.class);
  5. if (exception != null && exception.getCause() != null) {
  6. if (mode != FaultMode.CHECKED_APPLICATION_FAULT) {
  7. if (exception.getCause() instanceof NotificationFailedException) {
  8. message.put(FaultMode.class, FaultMode.CHECKED_APPLICATION_FAULT);
  9. }
  10. }
  11. }
  12. }

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. Service.Mode mode = (Service.Mode)msgContext.getWrappedMessage()
  2. .getContextualProperty(Service.Mode.class.getName());
  3. SOAPMessage m = message.getContent(SOAPMessage.class);
  4. if (m != null && !MessageUtils.isOutbound(message)) {
  5. try {
  6. message.setContent(XMLStreamReader.class, r);
  7. } catch (Exception e) {
  8. throw new Fault(e);
  9. s = new DOMSource(msg.getSOAPPart());
  10. } catch (Exception e) {
  11. throw new Fault(e);
  12. } else if (message instanceof XMLMessage && message.getContent(DataSource.class) != null) {
  13. throw new Fault(
  14. new org.apache.cxf.common.i18n.Message(
  15. "GETPAYLOAD_OF_DATASOURCE_NOT_VALID_XMLHTTPBINDING",
  16. msgContext.getWrappedMessage().setContent(XMLStreamReader.class, reader);
  17. msgContext.getWrappedMessage().setContent(Source.class, s);

代码示例来源:origin: apache/cxf

  1. public void handleMessage(Message message) {
  2. AttachmentSerializer ser = message.getContent(AttachmentSerializer.class);
  3. if (ser != null) {
  4. try {
  5. String cte = (String)message.getContextualProperty(Message.CONTENT_TRANSFER_ENCODING);
  6. if (cte != null) {
  7. ser.setContentTransferEncoding(cte);
  8. }
  9. ser.writeAttachments();
  10. } catch (IOException e) {
  11. throw new Fault(new org.apache.cxf.common.i18n.Message("WRITE_ATTACHMENTS", BUNDLE), e);
  12. }
  13. }
  14. }

相关文章