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();