You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2006/02/26 06:32:40 UTC
svn commit: r381059 - in /webservices/axis2/trunk/java/modules:
addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
core/src/org/apache/axis2/engine/InstanceDispatcher.java
Author: chinthaka
Date: Sat Feb 25 21:32:35 2006
New Revision: 381059
URL: http://svn.apache.org/viewcvs?rev=381059&view=rev
Log:
moving sgcId extraction from the addressing in handler to instance dipatcher, the correct place.
Modified:
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/InstanceDispatcher.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=381059&r1=381058&r2=381059&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 Sat Feb 25 21:32:35 2006
@@ -23,11 +23,9 @@
import org.apache.axis2.addressing.RelatesTo;
import org.apache.axis2.client.Options;
import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.ServiceGroupContext;
import org.apache.axis2.i18n.Messages;
import org.apache.ws.commons.om.OMAbstractFactory;
import org.apache.ws.commons.om.OMAttribute;
-import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.soap.SOAP12Constants;
import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPFaultReason;
@@ -69,9 +67,6 @@
logger.debug("No Headers present corresponding to " + addressingVersion);
}
- // extract service group context, if available
- extractServiceGroupContextId(header, msgContext);
-
} catch (AddressingException e) {
logger.info("Exception occurred in Addressing Module");
throw new AxisFault(e);
@@ -137,21 +132,6 @@
}
protected abstract void extractToEprReferenceParameters(EndpointReference toEPR, SOAPHeader header);
-
- private void extractServiceGroupContextId(SOAPHeader header, MessageContext msgContext) throws AxisFault {
- OMElement serviceGroupId = header.getFirstChildWithName(new QName(Constants.AXIS2_NAMESPACE_URI,
- Constants.SERVICE_GROUP_ID, Constants.AXIS2_NAMESPACE_PREFIX));
- if (serviceGroupId != null) {
- String groupId = serviceGroupId.getText();
- ServiceGroupContext serviceGroupContext = msgContext.getConfigurationContext().
- getServiceGroupContext(groupId, msgContext);
- if (serviceGroupContext == null) {
-// handleNoServiceGroupContextIDCase(msgContext);
- throw new AxisFault("Invalid Service Group Id." + groupId);
- }
- msgContext.setServiceGroupContextId(serviceGroupId.getText());
- }
- }
private void handleNoServiceGroupContextIDCase(MessageContext msgContext) {
SOAPFactory soapFac = msgContext.isSOAP11() ? OMAbstractFactory.getSOAP11Factory() : OMAbstractFactory.getSOAP12Factory();
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/InstanceDispatcher.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/InstanceDispatcher.java?rev=381059&r1=381058&r2=381059&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/InstanceDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/InstanceDispatcher.java Sat Feb 25 21:32:35 2006
@@ -19,10 +19,18 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
-import org.apache.axis2.context.*;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.context.SessionContext;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.handlers.AbstractHandler;
+import org.apache.ws.commons.om.OMElement;
+import org.apache.ws.commons.soap.SOAPHeader;
+
+import javax.xml.namespace.QName;
/**
* By the time the control comes to this handler, the dispatching must have happened
@@ -51,6 +59,10 @@
return;
}
+
+ // try to extract sgcId from the message
+ extractServiceGroupContextId(msgContext);
+
//trying to get service context from Session context
fillContextsFromSessionContext(msgContext);
@@ -128,6 +140,25 @@
msgContext.setServiceContext(serviceContext);
}
}
+ }
+
+ private void extractServiceGroupContextId(MessageContext msgContext) throws AxisFault {
+ SOAPHeader soapHeader = msgContext.getEnvelope().getHeader();
+ if (soapHeader != null) {
+ OMElement serviceGroupId = soapHeader.getFirstChildWithName(new QName(Constants.AXIS2_NAMESPACE_URI,
+ Constants.SERVICE_GROUP_ID, Constants.AXIS2_NAMESPACE_PREFIX));
+ if (serviceGroupId != null) {
+ String groupId = serviceGroupId.getText();
+ ServiceGroupContext serviceGroupContext = msgContext.getConfigurationContext().
+ getServiceGroupContext(groupId, msgContext);
+ if (serviceGroupContext == null) {
+// handleNoServiceGroupContextIDCase(msgContext);
+ throw new AxisFault("Invalid Service Group Id." + groupId);
+ }
+ msgContext.setServiceGroupContextId(serviceGroupId.getText());
+ }
+ }
+
}
}