Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 66858 invoked from network); 2 Mar 2006 16:11:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Mar 2006 16:11:42 -0000 Received: (qmail 58345 invoked by uid 500); 2 Mar 2006 16:12:28 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 58139 invoked by uid 500); 2 Mar 2006 16:12:27 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 58123 invoked by uid 500); 2 Mar 2006 16:12:27 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 58119 invoked by uid 99); 2 Mar 2006 16:12:27 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Mar 2006 08:12:27 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 02 Mar 2006 08:12:26 -0800 Received: (qmail 66521 invoked by uid 65534); 2 Mar 2006 16:11:19 -0000 Message-ID: <20060302161119.66519.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r382431 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/ core/src/org/apache/axis2/addressing/ Date: Thu, 02 Mar 2006 16:11:18 -0000 To: axis2-cvs@ws.apache.org From: chinthaka@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: chinthaka Date: Thu Mar 2 08:11:17 2006 New Revision: 382431 URL: http://svn.apache.org/viewcvs?rev=382431&view=rev Log: Improving addressing in handler making ProblemHeaderQName part of the fault detail Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/AddressingConstants.java Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java?rev=382431&r1=382430&r2=382431&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java (original) +++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java Thu Mar 2 08:11:17 2006 @@ -129,9 +129,7 @@ faultInformation.put(Final.FAULT_HEADER_PROB_HEADER_QNAME, "wsa:" + addressingHeaderName); faultInformation.put(Final.WSA_FAULT_ACTION, Final.WSA_FAULT_ACTION); - if (messageContext.isSOAP11()) { - throw new AxisFault("A header representing a Message Addressing Property is not valid and the message cannot be processed", addressingNSObject.getPrefix() + ":" + Final.FAULT_INVALID_HEADER); - } else { + if (!messageContext.isSOAP11()) { SOAPFactory soapFac = OMAbstractFactory.getSOAP12Factory(); SOAPFaultCode soapFaultCode = soapFac.createSOAPFaultCode(); SOAPFaultValue soapFaultValue = soapFac.createSOAPFaultValue(soapFaultCode); @@ -140,8 +138,9 @@ SOAPFaultValue soapFaultSubcodeValue = soapFac.createSOAPFaultValue(soapFaultSubCode); soapFaultSubcodeValue.setText(addressingNSObject.getPrefix() + ":" + Final.FAULT_INVALID_HEADER); messageContext.setProperty(SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME, soapFaultCode); - throw new AxisFault("A header representing a Message Addressing Property is not valid and the message cannot be processed", addressingNSObject.getPrefix() + ":" + Final.FAULT_INVALID_HEADER); } + throw new AxisFault("A header representing a Message Addressing Property is not valid and the message cannot be processed", addressingNSObject.getPrefix() + ":" + Final.FAULT_INVALID_HEADER); + } else { alreadyFoundAddressingHeaders.put(addressingHeaderName, addressingHeaderName); } Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java?rev=382431&r1=382430&r2=382431&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java (original) +++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java Thu Mar 2 08:11:17 2006 @@ -31,6 +31,7 @@ import org.apache.ws.commons.om.OMNamespace; import org.apache.ws.commons.soap.SOAPEnvelope; import org.apache.ws.commons.soap.SOAPFactory; +import org.apache.ws.commons.soap.SOAPFault; import org.apache.ws.commons.soap.SOAPHeader; import org.apache.ws.commons.soap.SOAPHeaderBlock; import org.apache.wsdl.WSDLConstants; @@ -152,9 +153,18 @@ if (faultInfo != null) { String faultyHeaderQName = (String) faultInfo.get(Final.FAULT_HEADER_PROB_HEADER_QNAME); if (faultyHeaderQName != null && !"".equals(faultyHeaderQName)) { + // add to header SOAPHeaderBlock faultDetail = envelope.getHeader().addHeaderBlock(Final.FAULT_HEADER_DETAIL, addressingNamespaceObject); OMElement probHeaderQName = OMAbstractFactory.getOMFactory().createOMElement(Final.FAULT_HEADER_PROB_HEADER_QNAME, addressingNamespaceObject, faultDetail); probHeaderQName.setText(faultyHeaderQName); + + // add to header + SOAPFault fault = envelope.getBody().getFault(); + if (fault != null && fault.getDetail() != null) { + OMElement probHeaderQName2 = OMAbstractFactory.getOMFactory().createOMElement(Final.FAULT_HEADER_PROB_HEADER_QNAME, addressingNamespaceObject, fault.getDetail()); + probHeaderQName2.setText(faultyHeaderQName); + } + } } Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/AddressingConstants.java URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/AddressingConstants.java?rev=382431&r1=382430&r2=382431&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/AddressingConstants.java (original) +++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/AddressingConstants.java Thu Mar 2 08:11:17 2006 @@ -66,6 +66,7 @@ // fault information public static final String FAULT_HEADER_PROB_HEADER_QNAME = "ProblemHeaderQName"; + public static final String FAULT_HEADER_PROB_HEADER = "ProblemHeader"; public static final String FAULT_HEADER_DETAIL = "FaultDetail"; public static final String FAULT_INVALID_HEADER = "InvalidAddressingHeader";