Author: midon
Date: Tue Jul 8 16:05:07 2008
New Revision: 675023
URL: http://svn.apache.org/viewvc?rev=675023&view=rev
Log:
do not assume anymore that an output message has only one part. Headers came
into play.
Modified:
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
Modified:
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java?rev=675023&r1=675022&r2=675023&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
(original)
+++
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
Tue Jul 8 16:05:07 2008
@@ -342,6 +342,7 @@
if (log.isDebugEnabled()) log.debug(errmsg);
odeMex.replyWithFailure(MessageExchange.FailureType.OTHER, errmsg,
HttpClientHelper.prepareDetailsElement(method));
} else {
+ // a fault must have only one part
Part partDef = (Part)
faultDef.getMessage().getParts().values().iterator().next();
// build the element to be sent back
@@ -413,9 +414,7 @@
// only text/xml is supported in the response body
try {
Element bodyElement =
DOMUtils.parse(bodyAsStream).getDocumentElement();
- // we expect a single part per output message
- // see
org.apache.ode.axis2.httpbinding.HttpBindingValidator call in constructor
- Part part = (Part)
outputMessage.getParts().values().iterator().next();
+ Part part =
outputMessage.getPart(outputContent.getPart());
Element partElement =
httpMethodConverter.createPartElement(part, bodyElement);
odeResponse.setPart(part.getName(), partElement);
} catch (Exception e) {
@@ -432,7 +431,7 @@
try {
if (log.isInfoEnabled())
- log.info("Response:\n" +
DOMUtils.domToString(odeResponse.getMessage()));
+ log.info("Response:\n" + (odeResponse.getMessage()
!= null ? DOMUtils.domToString(odeResponse.getMessage()) : "empty"));
odeMex.reply(odeResponse);
} catch (Exception ex) {
String errmsg = "Unable to process response: " +
ex.getMessage();