| Commit in servicemix/base/src/main/java/org/servicemix/components/http on MAIN | |||
| HttpInOnlyBinding.java | +7 | -14 | 1.1 -> 1.2 |
| HttpInOutBinding.java | +9 | -14 | 1.4 -> 1.5 |
| HttpMarshaler.java | +8 | -5 | 1.2 -> 1.3 |
| +24 | -33 | ||
minor refactorings to give the Marshaler the entire available context
servicemix/base/src/main/java/org/servicemix/components/http
diff -u -r1.1 -r1.2 --- HttpInOnlyBinding.java 18 Aug 2005 18:28:25 -0000 1.1 +++ HttpInOnlyBinding.java 19 Aug 2005 10:36:30 -0000 1.2 @@ -18,26 +18,19 @@
package org.servicemix.components.http;
-import org.servicemix.components.util.ComponentSupport; -import org.servicemix.jbi.jaxp.SourceTransformer; -
import javax.jbi.JBIException;
-import javax.jbi.messaging.ExchangeStatus; -import javax.jbi.messaging.InOut;
import javax.jbi.messaging.MessageExchangeFactory; import javax.jbi.messaging.NormalizedMessage; import javax.jbi.messaging.InOnly; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
-import javax.xml.transform.TransformerException;
import java.io.IOException;
-import java.io.PrintWriter;
/** * A HTTP Binding Component which performs an [EMAIL PROTECTED] InOnly} exchange with JBI and returns the response. *
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class HttpInOnlyBinding extends HttpBindingSupport {
@@ -45,17 +38,17 @@
JBIException {
//response.setContentType("application/soap+xml");
MessageExchangeFactory factory = getExchangeFactory();
- InOnly messageExchange = factory.createInOnlyExchange(); - NormalizedMessage inMessage = messageExchange.createMessage();
+ InOnly exchange = factory.createInOnlyExchange(); + NormalizedMessage inMessage = exchange.createMessage();
try {
HttpMarshaler marshaler = getMarshaler();
- marshaler.toNMS(inMessage, request); - messageExchange.setInMessage(inMessage); - done(messageExchange);
+ marshaler.toNMS(exchange, inMessage, request); + exchange.setInMessage(inMessage); + done(exchange);
response.setStatus(HttpServletResponse.SC_OK);
}
catch (IOException e) {
- fail(messageExchange, e);
+ fail(exchange, e);
outputException(response, e);
}
}
servicemix/base/src/main/java/org/servicemix/components/http
diff -u -r1.4 -r1.5 --- HttpInOutBinding.java 18 Aug 2005 18:28:25 -0000 1.4 +++ HttpInOutBinding.java 19 Aug 2005 10:36:30 -0000 1.5 @@ -18,11 +18,7 @@
package org.servicemix.components.http;
-import org.servicemix.components.util.ComponentSupport; -import org.servicemix.jbi.jaxp.SourceTransformer; -
import javax.jbi.JBIException;
-import javax.jbi.messaging.ExchangeStatus;
import javax.jbi.messaging.InOut; import javax.jbi.messaging.MessageExchangeFactory; import javax.jbi.messaging.NormalizedMessage;
@@ -31,12 +27,11 @@
import javax.servlet.http.HttpServletResponse; import javax.xml.transform.TransformerException; import java.io.IOException;
-import java.io.PrintWriter;
/** * A HTTP Binding Component which performs an [EMAIL PROTECTED] InOut} exchange with JBI and returns the response. *
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class HttpInOutBinding extends HttpBindingSupport {
@@ -44,22 +39,22 @@
JBIException {
//response.setContentType("application/soap+xml");
MessageExchangeFactory factory = getExchangeFactory();
- InOut messageExchange = factory.createInOutExchange(); - NormalizedMessage inMessage = messageExchange.createMessage();
+ InOut exchange = factory.createInOutExchange(); + NormalizedMessage inMessage = exchange.createMessage();
try {
- getMarshaler().toNMS(inMessage, request); - messageExchange.setInMessage(inMessage); - boolean result = getDeliveryChannel().sendSync(messageExchange);
+ getMarshaler().toNMS(exchange, inMessage, request); + exchange.setInMessage(inMessage); + boolean result = getDeliveryChannel().sendSync(exchange);
if (result) {
- getMarshaler().toResponse(messageExchange.getOutMessage(), response);
+ getMarshaler().toResponse(exchange, exchange.getOutMessage(), response);
}
}
catch (IOException e) {
- fail(messageExchange, e);
+ fail(exchange, e);
outputException(response, e);
}
catch (TransformerException e) {
- fail(messageExchange, e);
+ fail(exchange, e);
outputException(response, e);
}
}
servicemix/base/src/main/java/org/servicemix/components/http
diff -u -r1.2 -r1.3 --- HttpMarshaler.java 17 Aug 2005 10:34:25 -0000 1.2 +++ HttpMarshaler.java 19 Aug 2005 10:36:30 -0000 1.3 @@ -17,9 +17,10 @@
**/ package org.servicemix.components.http;
-import org.servicemix.jbi.jaxp.SourceTransformer;
import org.servicemix.components.util.MarshalerSupport;
+import javax.jbi.messaging.InOut; +import javax.jbi.messaging.MessageExchange;
import javax.jbi.messaging.MessagingException; import javax.jbi.messaging.NormalizedMessage; import javax.servlet.http.HttpServletRequest;
@@ -34,17 +35,19 @@
/** * A class which marshalls a HTTP request to a NMS message *
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class HttpMarshaler extends MarshalerSupport {
- public void toNMS(NormalizedMessage inMessage, HttpServletRequest request) throws IOException, MessagingException {
+ public void toNMS(MessageExchange exchange, NormalizedMessage inMessage, HttpServletRequest request) throws IOException, MessagingException {
addNmsProperties(inMessage, request);
inMessage.setContent(new StreamSource(request.getInputStream()));
}
- public void toResponse(NormalizedMessage message, HttpServletResponse response) throws IOException, TransformerException {
- addHttpHeaders(response, message);
+ public void toResponse(InOut exchange, NormalizedMessage message, HttpServletResponse response) throws IOException, TransformerException {
+ if (message != null) {
+ addHttpHeaders(response, message);
+ }
response.setContentType("application/soap+xml");
getTransformer().toResult(message.getContent(), new StreamResult(response.getOutputStream()));
