Author: scheu Date: Wed Feb 27 15:50:39 2008 New Revision: 631775 URL: http://svn.apache.org/viewvc?rev=631775&view=rev Log: WSCOMMONS-303 Contributor:Rich Scheuerle Changed some Axis2 code to make use of the new SOAPEnvelope.hasFault() method.
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java webservices/axis2/trunk/java/modules/jaxws/test-resources/log4j.properties webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedDispatcher.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedOperationDispatcher.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedServiceDispatcher.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/HttpCoreNIOSender.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java (original) +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java Wed Feb 27 15:50:39 2008 @@ -174,8 +174,7 @@ // SOAPEnvelope, then all the data will be available to the provider. Otherwise, it // will be missing the <Reason> element corresponding to the <faultstring> element. // The SOAPFaultProviderTests will check for this failure. - SOAPBody soapBody = soapEnv.getBody(); - if (soapBody.hasFault()) { + if (soapEnv.hasFault()) { soapEnv.toString(); } Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java (original) +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java Wed Feb 27 15:50:39 2008 @@ -80,11 +80,7 @@ * @return true if the SOAPEnvelope contains a SOAPFault */ public static boolean isFault(SOAPEnvelope envelope) { - SOAPBody body = envelope.getBody(); - if (body != null) { - return (body.hasFault() || body.getFault() != null); - } - return false; + return envelope.hasFault(); } Modified: webservices/axis2/trunk/java/modules/jaxws/test-resources/log4j.properties URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test-resources/log4j.properties?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/test-resources/log4j.properties (original) +++ webservices/axis2/trunk/java/modules/jaxws/test-resources/log4j.properties Wed Feb 27 15:50:39 2008 @@ -19,7 +19,7 @@ # Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategory=DEBUG, CONSOLE -#log4j.rootCategory=INFO, CONSOLE, LOGFILE +#log4j.rootCategory=DEBUG, CONSOLE, LOGFILE #log4j.rootCategory=DEBUG, LOGFILE log4j.rootCategory=ERROR, CONSOLE Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java Wed Feb 27 15:50:39 2008 @@ -4033,7 +4033,7 @@ public boolean isFault() { try { - return getEnvelope().getBody().hasFault(); + return getEnvelope().hasFault(); } catch (Exception e) { // TODO: What should we be doing here? No envelope certainly seems bad.... return false; Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java Wed Feb 27 15:50:39 2008 @@ -363,7 +363,7 @@ if (responseMessageContext.getReplyTo() != null) { sc.setTargetEPR(responseMessageContext.getReplyTo()); } - if (resenvelope.getBody().hasFault()||responseMessageContext.isProcessingFault()) { + if (resenvelope.hasFault()||responseMessageContext.isProcessingFault()) { if (options.isExceptionToBeThrownOnSOAPFault()) { // does the SOAPFault has a detail element for Excpetion throw Utils.getInboundFaultFromMessageContext(responseMessageContext); @@ -441,8 +441,9 @@ // call the callback if (response != null) { SOAPEnvelope resenvelope = response.getEnvelope(); - SOAPBody body = resenvelope.getBody(); - if (body.hasFault()) { + + if (resenvelope.hasFault()) { + SOAPBody body = resenvelope.getBody(); // If a fault was found, create an AxisFault with a MessageContext so that // other programming models can deserialize the fault to an alternative form. AxisFault fault = new AxisFault(body.getFault(), response); Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java Wed Feb 27 15:50:39 2008 @@ -85,7 +85,7 @@ responseMessageContext.setEnvelope(envelope); } if (envelope != null) { - if (envelope.getBody().hasFault()|| responseMessageContext.isProcessingFault()) { + if (envelope.hasFault()|| responseMessageContext.isProcessingFault()) { //receiving a fault AxisEngine.receive(responseMessageContext); throw Utils.getInboundFaultFromMessageContext(responseMessageContext); Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedDispatcher.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedDispatcher.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedDispatcher.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedDispatcher.java Wed Feb 27 15:50:39 2008 @@ -52,15 +52,17 @@ public AxisOperation findOperation(AxisService service, MessageContext messageContext) throws AxisFault { - OMElement bodyFirstChild = messageContext.getEnvelope().getBody().getFirstElement(); + String localName = messageContext.getEnvelope().getSOAPBodyFirstElementLocalName(); AxisOperation axisOperation = null; - if (bodyFirstChild != null){ - axisOperation = service.getOperationByMessageElementQName(bodyFirstChild.getQName()); + if (localName != null){ + OMNamespace ns = messageContext.getEnvelope().getSOAPBodyFirstElementNS(); + QName qName = new QName(ns.getNamespaceURI(), localName); + axisOperation = service.getOperationByMessageElementQName(qName); // this is required for services uses the RPC message receiver if (axisOperation == null){ - QName operationName = new QName(bodyFirstChild.getLocalName()); + QName operationName = new QName(localName); axisOperation = service.getOperation(operationName); } @@ -75,10 +77,10 @@ public AxisService findService(MessageContext messageContext) throws AxisFault { String serviceName; - OMElement bodyFirstChild = messageContext.getEnvelope().getBody().getFirstElement(); + String localPart = messageContext.getEnvelope().getSOAPBodyFirstElementLocalName(); - if (bodyFirstChild != null) { - OMNamespace ns = bodyFirstChild.getNamespace(); + if (localPart != null) { + OMNamespace ns = messageContext.getEnvelope().getSOAPBodyFirstElementNS(); if (ns != null) { String filePart = ns.getNamespaceURI(); Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedOperationDispatcher.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedOperationDispatcher.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedOperationDispatcher.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedOperationDispatcher.java Wed Feb 27 15:50:39 2008 @@ -20,6 +20,7 @@ package org.apache.axis2.dispatchers; import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMNamespace; import org.apache.axis2.AxisFault; import org.apache.axis2.context.MessageContext; import org.apache.axis2.description.AxisOperation; @@ -38,23 +39,24 @@ public AxisOperation findOperation(AxisService service, MessageContext messageContext) throws AxisFault { - OMElement bodyFirstChild = messageContext.getEnvelope().getBody().getFirstElement(); - if (bodyFirstChild == null) { + String localPart = messageContext.getEnvelope().getSOAPBodyFirstElementLocalName(); + if (localPart == null) { return null; } if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) { log.debug(messageContext.getLogIDString() + " Checking for Operation using SOAP message body's first child's local name : " - + bodyFirstChild.getLocalName()); + + localPart); } - AxisOperation axisOperation = service.getOperation(new QName(bodyFirstChild.getLocalName())); + AxisOperation axisOperation = service.getOperation(new QName(localPart)); if (axisOperation == null) { - axisOperation = service.getOperationByMessageElementQName(bodyFirstChild.getQName()); - } - - if (axisOperation == null) { - axisOperation = service.getOperation(bodyFirstChild.getQName()); + OMNamespace ns = messageContext.getEnvelope().getSOAPBodyFirstElementNS(); + QName qName = new QName(ns.getNamespaceURI(), localPart); + axisOperation = service.getOperationByMessageElementQName(qName); + if (axisOperation == null) { + axisOperation = service.getOperation(qName); + } } return axisOperation; } Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedServiceDispatcher.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedServiceDispatcher.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedServiceDispatcher.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/dispatchers/SOAPMessageBodyBasedServiceDispatcher.java Wed Feb 27 15:50:39 2008 @@ -38,10 +38,10 @@ public AxisService findService(MessageContext messageContext) throws AxisFault { String serviceName = null; - OMElement bodyFirstChild = messageContext.getEnvelope().getBody().getFirstElement(); + String localPart = messageContext.getEnvelope().getSOAPBodyFirstElementLocalName(); - if (bodyFirstChild != null) { - OMNamespace ns = bodyFirstChild.getNamespace(); + if (localPart != null) { + OMNamespace ns = messageContext.getEnvelope().getSOAPBodyFirstElementNS(); if (ns != null) { String filePart = ns.getNamespaceURI(); Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/HttpCoreNIOSender.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/HttpCoreNIOSender.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/HttpCoreNIOSender.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/HttpCoreNIOSender.java Wed Feb 27 15:50:39 2008 @@ -307,7 +307,7 @@ messageFormatter.getContentType(msgContext, format, msgContext.getSoapAction())); // return http 500 when a SOAP fault is returned - if (msgContext.getEnvelope().getBody().hasFault()) { + if (msgContext.getEnvelope().hasFault()) { response.setStatusCode(HttpStatus.SC_INTERNAL_SERVER_ERROR); } Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java?rev=631775&r1=631774&r2=631775&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java Wed Feb 27 15:50:39 2008 @@ -108,7 +108,7 @@ opContext.addMessageContext(msgContext); } - if (envelope.getBody().hasFault()) { + if (envelope.hasFault()) { AxisFault axisFault = Utils.getInboundFaultFromMessageContext(msgContext); callback.onError(axisFault); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]