/* */ {
/* 558 */ Map outHeaders = new HashMap();
/* 559 */ Iterator itHeaderElements = soapHeader.getChildElements();
/* 560 */ while (itHeaderElements.hasNext())
/* */ {
/* 562 */ SOAPContentElement soapHeaderElement = (SOAPHeaderElementImpl)itHeaderElements.next();
/* 563 */ Name elName = soapHeaderElement.getElementName();
/* 564 */ QName xmlName = new QName(elName.getURI(), elName.getLocalName());
/* */
/* 566 */ UnboundHeader unboundHeader = (UnboundHeader)unboundHeaders.get(xmlName);
/* 567 */ if (unboundHeader != null)
/* */ {
/* 569 */ soapHeaderElement.setParamMetaData(unboundHeader.toParameterMetaData(opMetaData));
/* */
/* 572 */ Object value = soapHeaderElement.getObjectValue();
/* 573 */ unboundHeader.setHeaderValue(value);
/* 574 */ outHeaders.put(xmlName, unboundHeader);
/* */ }
/* */ }
/* 577 */ unboundHeaders.clear();
/* 578 */ unboundHeaders.putAll(outHeaders);
/* */ }
/* */
/* 581 */ Style style = opMetaData.getStyle();
/* 582 */ soapElement = soapBody;
/* 583 */ if (style == Style.RPC)
/* */ {
/* 585 */ if (soapBodyElement == null)
/* 586 */ throw new WSException("Cannot unbind response message with empty soap body");
/* 587 */ soapElement = soapBodyElement;
/* */ }
/* */
/* 590 */ ParameterMetaData retMetaData = opMetaData.getReturnParameter();
/* 591 */ if (retMetaData != null)
/* */ {
/* 593 */ if (retMetaData.isSwA())
/* */ {
/* 595 */ AttachmentPart part = getAttachmentFromMessage(retMetaData, resMessage);
/* 596 */ epInv.setReturnValue(part);
/* */
/* 599 */ if ((part.getDataHandler() != null) && ((msgContext instanceof MessageContextJAXWS)))
/* */ {
/* 601 */ DataHandler dataHandler = part.getDataHandler();
/* 602 */ Map attachments = (Map)msgContext.get("javax.xml.ws.binding.attachments.inbound");
/* 603 */ attachments.put(part.getContentId(), dataHandler);
/* */ }
/* */ }
/* */ else
/* */ {
/* 608 */ SOAPContentElement value = getParameterFromMessage(retMetaData, soapElement, false);
/* 609 */ epInv.setReturnValue(value);
/* */ }
/* */ }
/* */
/* 613 */ for (ParameterMetaData paramMetaData : opMetaData.getOutputParameters())
/* */ {
/* 615 */ QName xmlName = paramMetaData.getXmlName();
/* 616 */ if (paramMetaData.isSwA())
/* */ {
/* 618 */ AttachmentPart part = getAttachmentFromMessage(paramMetaData, resMessage);
/* 619 */ epInv.setResponseParamValue(xmlName, part);
/* */
/* 622 */ if ((part.getDataHandler() != null) && ((msgContext instanceof MessageContextJAXWS)))
/* */ {
/* 624 */ DataHandler dataHandler = part.getDataHandler();
/* 625 */ Map attachments = (Map)msgContext.get("javax.xml.ws.binding.attachments.inbound");
/* 626 */ attachments.put(part.getContentId(), dataHandler);
/* */ }
/* */ }
/* */ else
/* */ {
/* 631 */ SOAPElement element = paramMetaData.isInHeader() ? soapHeader : soapElement;
/* 632 */ SOAPContentElement value = getParameterFromMessage(paramMetaData, element, false);
/* 633 */ epInv.setResponseParamValue(xmlName, value);
/* */ }
/* */ }
/* */ }
/* */ catch (Exception e)