Author: midon
Date: Tue Jul  8 14:52:23 2008
New Revision: 674977

URL: http://svn.apache.org/viewvc?rev=674977&view=rev
Log:
do not assume anymore that an output message has only one part. Headers came 
into play.

Modified:
    
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java

Modified: 
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java?rev=674977&r1=674976&r2=674977&view=diff
==============================================================================
--- 
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
 (original)
+++ 
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
 Tue Jul  8 14:52:23 2008
@@ -315,6 +315,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
@@ -380,9 +381,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) {
@@ -398,7 +397,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();


Reply via email to