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 pr...@apache.org on 2007/06/17 14:11:57 UTC
svn commit: r548033 [7/11] - in /webservices/axis2/branches/java/jaxws21: ./
etc/ modules/adb-codegen/ modules/adb-codegen/src/org/apache/axis2/schema/
modules/adb-codegen/src/org/apache/axis2/schema/template/
modules/adb-codegen/src/org/apache/axis2/s...
Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java Sun Jun 17 05:11:16 2007
@@ -109,7 +109,9 @@
* Since we're on the server, and there apparently is no Binding object
* anywhere to be found...
*/
- ic.setHandlers(new HandlerResolverImpl(endpointDesc).getHandlerChain(endpointDesc.getPortInfo()));
+ if (ic.getHandlers() == null) {
+ ic.setHandlers(new HandlerResolverImpl(endpointDesc).getHandlerChain(endpointDesc.getPortInfo()));
+ }
if (!bindingTypesMatch(requestMsgCtx, endpointDesc.getServiceDescription())) {
Protocol protocol = requestMsgCtx.getMessage().getProtocol();
Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/endpoint/lifecycle/impl/EndpointLifecycleManagerImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/endpoint/lifecycle/impl/EndpointLifecycleManagerImpl.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/endpoint/lifecycle/impl/EndpointLifecycleManagerImpl.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/server/endpoint/lifecycle/impl/EndpointLifecycleManagerImpl.java Sun Jun 17 05:11:16 2007
@@ -35,6 +35,10 @@
import org.apache.axis2.jaxws.server.endpoint.injection.impl.ResourceInjectionException;
import org.apache.axis2.jaxws.server.endpoint.lifecycle.EndpointLifecycleException;
import org.apache.axis2.jaxws.server.endpoint.lifecycle.EndpointLifecycleManager;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.Constants;
+import org.apache.axis2.util.Loader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -109,7 +113,7 @@
return serviceimpl;
} else {
// create a new service impl class for that service
- serviceimpl = createServiceInstance(serviceImplClass);
+ serviceimpl = createServiceInstance(msgContext.getAxisService(), serviceImplClass);
this.endpointInstance = serviceimpl;
this.endpointClazz = serviceImplClass;
if (log.isDebugEnabled()) {
@@ -249,7 +253,7 @@
return false;
}
- private Object createServiceInstance(Class serviceImplClass) {
+ private Object createServiceInstance(AxisService service, Class serviceImplClass) {
if (log.isDebugEnabled()) {
log.debug("Creating new instance of service endpoint");
}
@@ -261,11 +265,31 @@
Object instance = null;
try {
+ // allow alternative definition of makeNewServiceObject
+ if (service != null && service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER) != null) {
+ ClassLoader classLoader = service.getClassLoader();
+
+ Parameter serviceObjectParam =
+ service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER);
+ Class serviceObjectMaker = Loader.loadClass(classLoader, ((String)
+ serviceObjectParam.getValue()).trim());
+
+ // Find static getServiceObject() method, call it if there
+ Method method = serviceObjectMaker.
+ getMethod("getServiceObject",
+ new Class[]{AxisService.class});
+ if (method != null) {
+ return method.invoke(serviceObjectMaker.newInstance(), new Object[]{service});
+ }
+ }
instance = serviceImplClass.newInstance();
} catch (IllegalAccessException e) {
throw ExceptionFactory.makeWebServiceException(Messages.getMessage(
"EndpointControllerErr6", serviceImplClass.getName()));
} catch (InstantiationException e) {
+ throw ExceptionFactory.makeWebServiceException(Messages.getMessage(
+ "EndpointControllerErr6", serviceImplClass.getName()));
+ } catch (Exception e) {
throw ExceptionFactory.makeWebServiceException(Messages.getMessage(
"EndpointControllerErr6", serviceImplClass.getName()));
}
Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java Sun Jun 17 05:11:16 2007
@@ -416,10 +416,29 @@
"Unable to getPort for port QName " + portName);
}
- JAXWSProxyHandler proxyHandler = new JAXWSProxyHandler(this, sei, endpointDesc, features);
-
- Class[] seiClazz = new Class[] { sei, org.apache.axis2.jaxws.spi.BindingProvider.class };
- Object proxyClass = Proxy.newProxyInstance(getClassLoader(sei), seiClazz, proxyHandler);
+ String[] interfacesNames =
+ new String [] {sei.getName(), org.apache.axis2.jaxws.spi.BindingProvider.class.getName()};
+
+ // As required by java.lang.reflect.Proxy, ensure that the interfaces
+ // for the proxy are loadable by the same class loader.
+ Class[] interfaces = null;
+ // First, let's try loading the interfaces with the SEI classLoader
+ ClassLoader classLoader = getClassLoader(sei);
+ try {
+ interfaces = loadClasses(classLoader, interfacesNames);
+ } catch (ClassNotFoundException e1) {
+ // Let's try with context classLoader now
+ classLoader = getContextClassLoader();
+ try {
+ interfaces = loadClasses(classLoader, interfacesNames);
+ } catch (ClassNotFoundException e2) {
+ // TODO: NLS
+ throw ExceptionFactory.makeWebServiceException("Unable to load proxy classes", e2);
+ }
+ }
+
+ JAXWSProxyHandler proxyHandler = new JAXWSProxyHandler(this, interfaces[0], endpointDesc, features);
+ Object proxyClass = Proxy.newProxyInstance(classLoader, interfaces, proxyHandler);
return sei.cast(proxyClass);
}
@@ -517,10 +536,29 @@
"Unable to getPort for epr " + axis2EPR);
}
- JAXWSProxyHandler proxyHandler = new JAXWSProxyHandler(this, sei, endpointDesc, axis2EPR, addressingNamespace, features);
+ String[] interfacesNames =
+ new String [] {sei.getName(), org.apache.axis2.jaxws.spi.BindingProvider.class.getName()};
+
+ // As required by java.lang.reflect.Proxy, ensure that the interfaces
+ // for the proxy are loadable by the same class loader.
+ Class[] interfaces = null;
+ // First, let's try loading the interfaces with the SEI classLoader
+ ClassLoader classLoader = getClassLoader(sei);
+ try {
+ interfaces = loadClasses(classLoader, interfacesNames);
+ } catch (ClassNotFoundException e1) {
+ // Let's try with context classLoader now
+ classLoader = getContextClassLoader();
+ try {
+ interfaces = loadClasses(classLoader, interfacesNames);
+ } catch (ClassNotFoundException e2) {
+ // TODO: NLS
+ throw ExceptionFactory.makeWebServiceException("Unable to load proxy classes", e2);
+ }
+ }
- Class[] seiClazz = new Class[] { sei, org.apache.axis2.jaxws.spi.BindingProvider.class };
- Object proxyClass = Proxy.newProxyInstance(getClassLoader(sei), seiClazz, proxyHandler);
+ JAXWSProxyHandler proxyHandler = new JAXWSProxyHandler(this, interfaces[0], endpointDesc, axis2EPR, addressingNamespace, features);
+ Object proxyClass = Proxy.newProxyInstance(classLoader, interfaces, proxyHandler);
return sei.cast(proxyClass);
}
@@ -601,6 +639,65 @@
return cl;
}
+
+ /** @return ClassLoader */
+ private static ClassLoader getContextClassLoader() {
+ // NOTE: This method must remain private because it uses AccessController
+ ClassLoader cl = null;
+ try {
+ cl = (ClassLoader)AccessController.doPrivileged(
+ new PrivilegedExceptionAction() {
+ public Object run() throws ClassNotFoundException {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ }
+ );
+ } catch (PrivilegedActionException e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Exception thrown from AccessController: " + e);
+ }
+ throw ExceptionFactory.makeWebServiceException(e.getException());
+ }
+
+ return cl;
+ }
+
+ /**
+ * Return the class for this name
+ *
+ * @return Class
+ */
+ private static Class forName(final String className, final boolean initialize,
+ final ClassLoader classLoader) throws ClassNotFoundException {
+ // NOTE: This method must remain protected because it uses AccessController
+ Class cl = null;
+ try {
+ cl = (Class)AccessController.doPrivileged(
+ new PrivilegedExceptionAction() {
+ public Object run() throws ClassNotFoundException {
+ return Class.forName(className, initialize, classLoader);
+ }
+ }
+ );
+ } catch (PrivilegedActionException e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Exception thrown from AccessController: " + e);
+ }
+ throw (ClassNotFoundException)e.getException();
+ }
+
+ return cl;
+ }
+
+ private static Class[] loadClasses(ClassLoader classLoader, String[] classNames)
+ throws ClassNotFoundException {
+ Class[] classes = new Class[classNames.length];
+ for (int i = 0; i < classNames.length; i++) {
+ classes[i] = forName(classNames[i], true, classLoader);
+ }
+ return classes;
+ }
+
}
/**
Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProviderTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProviderTests.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProviderTests.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProviderTests.java Sun Jun 17 05:11:16 2007
@@ -22,7 +22,6 @@
import javax.xml.soap.SOAPFault;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Dispatch;
-import javax.xml.ws.ProtocolException;
import javax.xml.ws.Service;
import javax.xml.ws.soap.SOAPFaultException;
Modified: webservices/axis2/branches/java/jaxws21/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl Sun Jun 17 05:11:16 2007
@@ -822,12 +822,12 @@
<!-- shouldn't be needed when no actual binding, but called by fault conversion code so must be left in for now -->
private static Object fromOM(org.apache.axiom.om.OMElement param, Class type,
- java.util.Map extraNamespaces) {
+ java.util.Map extraNamespaces) throws org.apache.axis2.AxisFault{
try {
org.jibx.runtime.impl.UnmarshallingContext ctx = getNewUnmarshalContext(param);
return ctx.unmarshalElement(type);
} catch (Exception e) {
- throw new RuntimeException(e);
+ throw new org.apache.axis2.AxisFault(e.getMessage());
}
}
</xsl:template>
Propchange: webservices/axis2/branches/java/jaxws21/modules/jws-api/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jun 17 05:11:16 2007
@@ -0,0 +1,2 @@
+target
+*.iml
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/conf/axis2.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/conf/axis2.xml?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/conf/axis2.xml (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/conf/axis2.xml Sun Jun 17 05:11:16 2007
@@ -47,6 +47,12 @@
<parameter name="password">axis2</parameter>
<!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+ <!--ServicesDirectory only works on the following cases-->
+ <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
+ <!---When creating URL Based configurator with URL âfile://â -->
+ <!--- War based configurator with expanded case , -->
+
+ <!--All the other scenarios it will be ignored.-->
<!--<parameter name="ServicesDirectory">service</parameter>-->
<!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
<!--<parameter name="ModulesDirectory">modules</parameter>-->
@@ -66,6 +72,9 @@
<!-- Following parameter will completely disable REST handling in Axis2-->
<parameter name="disableREST" locked="true">false</parameter>
+ <!-- Following parameter will set the host name for the epr-->
+ <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
+
<!-- If you have a front end host which exposes this webservice using a different public URL -->
<!-- use this parameter to override autodetected url -->
<!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
@@ -222,8 +231,8 @@
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
- <transportSender name="jms"
- class="org.apache.axis2.transport.jms.JMSSender"/>
+ <!--<transportSender name="jms"-->
+ <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
<!-- ================================================= -->
<!-- Mail Transport Sender -->
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/AxisFault.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/AxisFault.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/AxisFault.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/AxisFault.java Sun Jun 17 05:11:16 2007
@@ -26,7 +26,6 @@
import org.apache.axiom.soap.SOAPFaultRole;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPFaultSubCode;
-import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axis2.context.MessageContext;
import javax.xml.namespace.QName;
@@ -67,6 +66,8 @@
* role (discarded)
* </pre>
*/
+
+
public class AxisFault extends RemoteException {
private static final long serialVersionUID = -374933082062124907L;
@@ -91,7 +92,7 @@
private SOAPFaultDetail soapFaultDetail;
/**
- * If not null, the messageContext represents the fault as it
+ * If not null, this MessageContext represents the fault as it
* should be returned. This is used by higher-level layers
* that want to generate the message themselves so that
* processing may take place before they return control (e.g. JAX-WS.)
@@ -114,7 +115,9 @@
/**
- * @param message
+ * Constructor.
+ *
+ * @param message the human-readable text describing the fault
*/
public AxisFault(String message) {
this.message = message;
@@ -122,17 +125,26 @@
}
/**
- * These are the absolute minimum to construct a meaningful SOAPFault from user's information
+ * Constructor
*
* @param faultCode - fault code of the message as a QName
* @param faultReason - the reason for the fault. The language will be defaulted to 'en'
- * @param cause
+ * @param cause embedded fault which caused this one
*/
public AxisFault(QName faultCode, String faultReason, Throwable cause) {
this(faultReason, cause);
setFaultCode(faultCode);
}
+ /**
+ * Constructor
+ *
+ * @param faultCode a QName for the fault code
+ * @param faultReason the reason for the fault. The language will be defaulted to 'en'
+ * @param faultNode a URL identifying the SOAP node generating this fault, or null
+ * @param faultRole a URL identifying the SOAP role active when generating this fault, or null
+ * @param faultDetail arbitrary XML containing application-specific fault data
+ */
public AxisFault(QName faultCode, String faultReason, String faultNode, String faultRole,
OMElement faultDetail) {
this(faultReason, faultCode);
@@ -146,10 +158,11 @@
* in this class to get and set things.
* Any of the parameters can be null
*
- * @param soapFaultCode
- * @param soapFaultReason
- * @param soapFaultNode
- * @param soapFaultRole
+ * @param soapFaultCode the fault code
+ * @param soapFaultReason the fault reason
+ * @param soapFaultNode the SOAPFaultNode representing the source node for this fault
+ * @param soapFaultRole the SOAPFaultRole representing the source role for this fault
+ * @param soapFaultDetail the SOAPFaultDetail containing any application-specific info
*/
public AxisFault(SOAPFaultCode soapFaultCode, SOAPFaultReason soapFaultReason,
SOAPFaultNode soapFaultNode, SOAPFaultRole soapFaultRole,
@@ -192,6 +205,8 @@
// cause = new Exception(exceptionElement.getText());
// }
+ // TODO - Wha? Details can have multiple elements, why take the first child here?
+ // TODO - Review the API for details
// setting the first child element of the fault detail as this.detail
this.detail = soapFaultDetail.getFirstElement();
@@ -230,6 +245,8 @@
}
/**
+ * Constructor.
+ *
* @param messageText - this will appear as the Text in the Reason information item of SOAP Fault
* @param faultCode - this will appear as the Value in the Code information item of SOAP Fault
*/
@@ -239,8 +256,10 @@
}
/**
- * @param messageText - this will appear as the Text in the Reason information item of SOAP Fault
- * @param faultCode - this will appear as the Value in the Code information item of SOAP Fault
+ * Constructor
+ *
+ * @param messageText this will appear as the Text in the Reason information item of SOAP Fault
+ * @param faultCode this will appear as the Value in the Code information item of SOAP Fault
*/
public AxisFault(String messageText, QName faultCode) {
this(messageText);
@@ -248,8 +267,10 @@
}
/**
- * @param message
- * @param cause
+ * Constructor
+ *
+ * @param message this will appear as the Text in the Reason information item of SOAP Fault
+ * @param cause the embedded Throwable that caused this fault
*/
public AxisFault(String message, Throwable cause) {
super(message, cause);
@@ -285,7 +306,7 @@
* that contains the actual fault representation.
*
* @param message A string that's really only useful for logging.
- * @param faultMessageContext
+ * @param faultMessageContext A MessageContext which must contain SOAP fault info
*/
public AxisFault(String message, MessageContext faultMessageContext) {
this(message);
@@ -328,6 +349,8 @@
public String getReason() {
if (faultReasonList.size() >= 1) {
return ((FaultReason) faultReasonList.get(0)).getText();
+ } else if (soapFaultReason != null) {
+ return soapFaultReason.getText();
}
return null;
@@ -443,7 +466,7 @@
/**
* Set the entire detail element of the fault
*
- * @param detail
+ * @param detail an OMElement which MUST be
*/
public void setDetail(OMElement detail) {
this.detail = detail;
@@ -460,7 +483,9 @@
}
/**
- * Set the faulting node uri. SOAP1.2
+ * Set the faulting node uri. (SOAP1.2)
+ *
+ * @param nodeURI a String containing a URI indicating which SOAP Node faulted
*/
public void setNodeURI(String nodeURI) {
this.nodeURI = nodeURI;
@@ -540,8 +565,9 @@
}
/**
- * Set the (OPTIONAL) action value for the fault message
- * @param faultAction
+ * Set the (OPTIONAL) action value for the fault message
+ *
+ * @param faultAction a String containing an action URI for the fault
*/
public void setFaultAction(String faultAction) {
this.faultAction = faultAction;
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/Constants.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/Constants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/Constants.java Sun Jun 17 05:11:16 2007
@@ -194,7 +194,7 @@
public static final String TESTING_REPOSITORY = TESTING_PATH + "samples";
public static final char SERVICE_NAME_SPLIT_CHAR = ':';
public static final String SERVICE_GROUP_ID = "ServiceGroupId";
- public static final String RESPONSE_WRITTEN = "CONTENT_WRITTEN";
+ public static final String RESPONSE_WRITTEN = "RESPONSE_WRITTEN";
//To have a floag if the replyTo is not annon one
public static final String DIFFERENT_EPR = "DIFFERENT_EPR";
@@ -269,7 +269,6 @@
public static final String HTTP_METHOD_POST = "POST";
public static final String CONTENT_TYPE = "ContentType";
- public static final String CONTENT_TYPE_OF_FAULT = "ContentTypeOfFault";
public static final String CONFIG_CONTEXT_TIMOUT_INTERVAL = "ConfigContextTimeoutInterval";
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java Sun Jun 17 05:11:16 2007
@@ -58,7 +58,7 @@
* spec.
*
* @param messageContext
- * @see isReplyRedirected
+ * @see #isReplyRedirected(org.apache.axis2.context.MessageContext)
*/
public static boolean isFaultRedirected(MessageContext messageContext) {
EndpointReference faultTo = messageContext.getFaultTo();
@@ -88,6 +88,7 @@
// fault informatio to send the error. Try to send using replyTo, leave it to transport
boolean doNotSendFaultUsingFaultTo = false;
if (faultInfoForHeaders != null) {
+ // TODO: This should probably store a QName instead of a String.. currently we rely on prefix string matching!!
String problemHeaderName = (String) ((Map) faultInfoForHeaders)
.get(AddressingConstants.Final.FAULT_HEADER_PROB_HEADER_QNAME);
doNotSendFaultUsingFaultTo = (problemHeaderName != null && (AddressingConstants
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/OperationClient.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/OperationClient.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/OperationClient.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/OperationClient.java Sun Jun 17 05:11:16 2007
@@ -247,17 +247,28 @@
}
}
- protected void prepareMessageContext(ConfigurationContext cc, MessageContext mc)
+ /**
+ * prepareMessageContext gets a fresh new MessageContext ready to be sent.
+ * It sets up the necessary properties, transport information, etc.
+ *
+ * @param configurationContext the active ConfigurationContext
+ * @param mc the MessageContext to be configured
+ * @throws AxisFault if there is a problem
+ */
+ protected void prepareMessageContext(ConfigurationContext configurationContext,
+ MessageContext mc)
throws AxisFault {
// set options on the message context
if (mc.getSoapAction() == null || "".equals(mc.getSoapAction())) {
mc.setSoapAction(options.getAction());
}
- mc.setOptions(options);
+
+ mc.setOptions(new Options(options));
mc.setAxisMessage(axisOp.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE));
// do Target Resolution
- TargetResolver targetResolver = cc.getAxisConfiguration().getTargetResolverChain();
+ TargetResolver targetResolver =
+ configurationContext.getAxisConfiguration().getTargetResolverChain();
if (targetResolver != null) {
targetResolver.resolveTarget(mc);
}
@@ -267,7 +278,7 @@
if (senderTransport == null) {
EndpointReference toEPR = (options.getTo() != null) ? options
.getTo() : mc.getTo();
- senderTransport = ClientUtils.inferOutTransport(cc
+ senderTransport = ClientUtils.inferOutTransport(configurationContext
.getAxisConfiguration(), toEPR, mc);
}
mc.setTransportOut(senderTransport);
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/ServiceClient.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/ServiceClient.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/ServiceClient.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/ServiceClient.java Sun Jun 17 05:11:16 2007
@@ -733,9 +733,13 @@
}
public void cleanupTransport() throws AxisFault{
- MessageContext outMessageContext =
- getLastOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
- outMessageContext.getTransportOut().getSender().cleanup(outMessageContext);
+ if(getLastOperationContext()!=null){
+ MessageContext outMessageContext =
+ getLastOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+ if (outMessageContext!=null) {
+ outMessageContext.getTransportOut().getSender().cleanup(outMessageContext);
+ }
+ }
}
/**
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/async/Callback.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/async/Callback.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/async/Callback.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/client/async/Callback.java Sun Jun 17 05:11:16 2007
@@ -70,7 +70,8 @@
*
* @param complete
*/
- public synchronized void setComplete(boolean complete) {
+ public final synchronized void setComplete(boolean complete) {
this.complete = complete;
+ notify();
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/clustering/context/ContextManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/clustering/context/ContextManager.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/clustering/context/ContextManager.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/clustering/context/ContextManager.java Sun Jun 17 05:11:16 2007
@@ -51,9 +51,8 @@
/**
* @param context
* @return True - if the provided {@link AbstractContext} is clusterable
- * @throws ClusteringFault
*/
- boolean isContextClusterable(AbstractContext context) throws ClusteringFault;
+ boolean isContextClusterable(AbstractContext context);
/**
* Indicates whether a particular message has been ACKed by all members of a cluster
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/AbstractContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/AbstractContext.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/AbstractContext.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/AbstractContext.java Sun Jun 17 05:11:16 2007
@@ -19,9 +19,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.clustering.ClusterManager;
-import org.apache.axis2.clustering.context.ContextManager;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.axis2.i18n.Messages;
+import org.apache.axis2.clustering.context.Replicator;
import java.util.Collections;
import java.util.HashMap;
@@ -274,24 +272,7 @@
}
public void flush() throws AxisFault {
-
- ConfigurationContext configContext = getRootContext();
- if (configContext == null) {
- throw new AxisFault(Messages.getMessage("cannotFlushRootNull"));
- }
-
- AxisConfiguration axisConfiguration = configContext.getAxisConfiguration();
- ClusterManager clusterManager = axisConfiguration.getClusterManager();
-
- //Calling the ClusterManager probably to replicate the updated state of the context.
- if (clusterManager != null) {
- ContextManager contextManager = clusterManager.getContextManager();
- if (contextManager != null && contextManager.isContextClusterable(this)) {
- contextManager.updateContext(this);
- }
- }
-
- //Other logic needed for flushing the contexts
+ Replicator.replicate(this);
}
public abstract ConfigurationContext getRootContext();
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java Sun Jun 17 05:11:16 2007
@@ -40,7 +40,18 @@
import java.util.*;
/**
- * This contains all the configuration information for Axis2.
+ * <p>Axis2 states are held in two information models, called description hierarchy
+ * and context hierarchy. Description hierarchy hold deployment configuration
+ * and it's values does not change unless deployment configuration change occurs
+ * where Context hierarchy hold run time information. Both hierarchies consists
+ * four levels, Global, Service Group, Operation and Message. Please look at
+ * "Information Model" section of "Axis2 Architecture Guide" for more information.</p>
+ *
+ * <p>Configuration Context hold Global level run-time information. This allows
+ * same configurations to be used by two Axis2 instances and most Axis2 wide
+ * configurations can changed by setting name value pairs of the configurationContext.
+ * This hold all OperationContexts, ServiceGroups, Sessions, and ListenerManager.</p>
+
*/
public class ConfigurationContext extends AbstractContext {
@@ -529,8 +540,32 @@
if (listenerManager != null) {
listenerManager.stop();
}
+ cleanupTemp();
}
+ /**
+ * This include all the major changes we have done from 1.2
+ * release to 1.3 release. This will include API changes , class
+ * deprecating etc etc.
+ */
+ private void cleanupTemp(){
+ File tempFile = (File)axisConfiguration.getParameterValue(
+ Constants.Configuration.ARTIFACTS_TEMP_DIR);
+ if(tempFile==null){
+ tempFile = new File(System.getProperty("java.io.tmpdir"), "_axis2");
+ }
+ deleteTempFiles(tempFile);
+ }
+
+ private void deleteTempFiles(File dir) {
+ if (dir.isDirectory()) {
+ String[] children = dir.list();
+ for (int i=0; i<children.length; i++) {
+ deleteTempFiles(new File(dir, children[i]));
+ }
+ }
+ dir.delete();
+ }
public String getServiceContextPath() {
if (cachedServicePath == null) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/MessageContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/MessageContext.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/MessageContext.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/MessageContext.java Sun Jun 17 05:11:16 2007
@@ -44,6 +44,7 @@
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.Handler;
import org.apache.axis2.engine.Phase;
+import org.apache.axis2.engine.AxisError;
import org.apache.axis2.util.LoggingControl;
import org.apache.axis2.util.MetaDataEntry;
import org.apache.axis2.util.ObjectStateUtils;
@@ -71,7 +72,23 @@
import java.util.Map;
/**
- * MessageContext holds service specific state information.
+ * <p>Axis2 states are held in two information models, called description hierarchy
+ * and context hierarchy. Description hierarchy hold deployment configuration
+ * and it's values does not change unless deployment configuration change
+ * occurs where Context hierarchy hold run time information. Both hierarchies
+ * consists four levels, Global, Service Group, Operation and Message. Please
+ * look at "Information Model" section of "Axis2 Architecture Guide" for more
+ * information.</p>
+ * <p>MessageContext hold run time information about one Message invocation. It
+ * hold reference to OperationContext, ServiceGroupContext, and Configuration
+ * Context tied with current message. For an example if you need accesses to other
+ * messages of the current invocation, you can get to them via OperationContext.
+ * Addition to class attributes define in Message context, message context stores
+ * the information as name value pairs. Those name value pairs,and class attributes
+ * tweak the execution behavior of message context and some of them can be find in
+ * org.apache.axis2.Constants class. (TODO we should provide list of supported
+ * options). You may set them at any level of context hierarchy and they will
+ * affect invocations related to their child elements. </p>
*/
public class MessageContext extends AbstractContext implements Externalizable {
@@ -249,14 +266,9 @@
private ArrayList executionChain;
/**
- * @serial The chain of executed Handlers/Phases from inbound processing
+ * @serial The chain of executed Handlers/Phases from processing
*/
- private LinkedList inboundExecutedPhases;
-
- /**
- * @serial The chain of executed Handlers/Phases from outbound processing
- */
- private LinkedList outboundExecutedPhases;
+ private LinkedList executedPhases;
/**
* @serial Flag to indicate if we are doing REST
@@ -413,16 +425,10 @@
private transient ArrayList metaExecutionChain = null;
/**
- * The ordered list of metadata for inbound executed phases
- * used during re-constitution of the message context
- */
- private transient LinkedList metaInboundExecuted = null;
-
- /**
- * The ordered list of metadata for outbound executed phases
+ * The ordered list of metadata for executed phases
* used during re-constitution of the message context
*/
- private transient LinkedList metaOutboundExecuted = null;
+ private transient LinkedList metaExecuted = null;
/**
* Index into the executuion chain of the currently executing handler
@@ -478,16 +484,10 @@
private transient boolean reconcileAxisMessage = false;
/**
- * Indicates whether the inbound executed phase list
- * was reset before the restored list has been reconciled
- */
- private transient boolean inboundReset = false;
-
- /**
- * Indicates whether the outbound executed phase list
+ * Indicates whether the executed phase list
* was reset before the restored list has been reconciled
*/
- private transient boolean outboundReset = false;
+ private transient boolean executedPhasesReset = false;
//----------------------------------------------------------------
// end MetaData section
@@ -610,101 +610,51 @@
}
/**
- * Add a Phase to the collection of executed phases for the inbound path.
- * Phases will be inserted in a LIFO data structure.
- *
- * @param phase The phase to add to the list.
- */
- public void addInboundExecutedPhase(Handler phase) {
- if (inboundExecutedPhases == null) {
- inboundExecutedPhases = new LinkedList();
- }
- inboundExecutedPhases.addFirst(phase);
- }
-
- /**
- * Remove the first Phase in the collection of executed phases for the
- * inbound path.
- */
- public void removeFirstInboundExecutedPhase() {
- if (inboundExecutedPhases != null) {
- inboundExecutedPhases.removeFirst();
- }
- }
-
- /**
- * Get an iterator over the inbound executed phase list.
- *
- * @return An Iterator over the LIFO data structure.
- */
- public Iterator getInboundExecutedPhases() {
- if (LoggingControl.debugLoggingAllowed) {
- checkActivateWarning("getInboundExecutedPhases");
- }
- if (inboundExecutedPhases == null) {
- inboundExecutedPhases = new LinkedList();
- }
- return inboundExecutedPhases.iterator();
- }
-
- /**
- * Reset the list of executed inbound phases.
- * This is needed because the OutInAxisOperation currently invokes
- * receive() even when a fault occurs, and we will have already executed
- * the flowComplete on those before receiveFault() is called.
- */
- public void resetInboundExecutedPhases() {
- inboundReset = true;
- inboundExecutedPhases = new LinkedList();
- }
-
- /**
- * Add a Phase to the collection of executed phases for the outbound path.
+ * Add a Phase to the collection of executed phases for the path.
* Phases will be inserted in a LIFO data structure.
*
* @param phase The phase to add to the list.
*/
- public void addOutboundExecutedPhase(Handler phase) {
- if (outboundExecutedPhases == null) {
- outboundExecutedPhases = new LinkedList();
+ public void addExecutedPhase(Handler phase) {
+ if (executedPhases == null) {
+ executedPhases = new LinkedList();
}
- outboundExecutedPhases.addFirst(phase);
+ executedPhases.addFirst(phase);
}
/**
- * Remove the first Phase in the collection of executed phases for the
- * outbound path.
+ * Remove the first Phase in the collection of executed phases
*/
- public void removeFirstOutboundExecutedPhase() {
- if (outboundExecutedPhases != null) {
- outboundExecutedPhases.removeFirst();
+ public void removeFirstExecutedPhase() {
+ if (executedPhases != null) {
+ executedPhases.removeFirst();
}
}
/**
- * Get an iterator over the outbound executed phase list.
+ * Get an iterator over the executed phase list.
*
* @return An Iterator over the LIFO data structure.
*/
- public Iterator getOutboundExecutedPhases() {
+ public Iterator getExecutedPhases() {
if (LoggingControl.debugLoggingAllowed) {
- checkActivateWarning("getOutboundExecutedPhases");
+ checkActivateWarning("getExecutedPhases");
}
- if (outboundExecutedPhases == null) {
- outboundExecutedPhases = new LinkedList();
+ if (executedPhases == null) {
+ executedPhases = new LinkedList();
}
- return outboundExecutedPhases.iterator();
+ return executedPhases.iterator();
}
/**
- * Reset the list of executed outbound phases.
+ * Reset the list of executed phases.
* This is needed because the OutInAxisOperation currently invokes
* receive() even when a fault occurs, and we will have already executed
* the flowComplete on those before receiveFault() is called.
*/
- public void resetOutboundExecutedPhases() {
- outboundReset = true;
- outboundExecutedPhases = new LinkedList();
+ public void resetExecutedPhases() {
+ executedPhasesReset = true;
+ executedPhases = new LinkedList();
}
/**
@@ -874,7 +824,7 @@
* AxisConfiguration </li>
* </ol>
*
- * @param key
+ * @param key name of desired parameter
* @return Parameter <code>Parameter</code>
*/
public Parameter getParameter(String key) {
@@ -1016,6 +966,10 @@
}
/**
+ * Get any RelatesTos of a particular type associated with this MessageContext
+ * TODO: Shouldn't this return a List?
+ *
+ * @param type the relationship type
* @return Returns RelatesTo.
*/
public RelatesTo getRelatesTo(String type) {
@@ -1334,8 +1288,12 @@
this.setParent(operationContext);
if (operationContext != null) {
- if ((serviceContext != null) && (operationContext.getParent() == null)) {
- operationContext.setParent(serviceContext);
+ if (serviceContext == null) {
+ setServiceContext(operationContext.getServiceContext());
+ } else {
+ if (operationContext.getParent() != serviceContext) {
+ throw new AxisError("ServiceContext in OperationContext does not match !");
+ }
}
this.setAxisOperation(operationContext.getAxisOperation());
@@ -1401,8 +1359,8 @@
if (serviceContext != null) {
if ((operationContext != null)
- && (operationContext.getParent() != null)) {
- operationContext.setParent(context);
+ && (operationContext.getParent() != context)) {
+ throw new AxisError("ServiceContext and OperationContext.parent do not match!");
}
// setting configcontext using configuration context in service context
if (configurationContext == null) {
@@ -2399,7 +2357,7 @@
}
//---------------------------------------------------------
- // LinkedList inboundExecutedPhases
+ // LinkedList executedPhases
//---------------------------------------------------------
// The strategy is to save some metadata about each
// member of the list and the order of the list.
@@ -2421,217 +2379,98 @@
// UTF - description string
// boolean - empty flag
//---------------------------------------------------------
- String inExecListDesc = logCorrelationIDString + ".inboundExecutedPhases";
+ String execListDesc = logCorrelationIDString + ".executedPhases";
- int inExecListSize = 0;
+ int execListSize = 0;
- if (inboundExecutedPhases != null) {
- inExecListSize = inboundExecutedPhases.size();
+ if (executedPhases != null) {
+ execListSize = executedPhases.size();
}
- if (inExecListSize > 0) {
+ if (execListSize > 0) {
// start writing data to the output stream
- out.writeUTF(inExecListDesc);
+ out.writeUTF(execListDesc);
out.writeBoolean(ObjectStateUtils.ACTIVE_OBJECT);
- out.writeInt(inExecListSize);
+ out.writeInt(execListSize);
// put the metadata on each member of the list into a buffer
- int inExecNextIndex = 0;
+ int execNextIndex = 0;
- Iterator inIterator = inboundExecutedPhases.iterator();
+ Iterator iterator = executedPhases.iterator();
- while (inIterator.hasNext()) {
- Object inObj = inIterator.next();
- String inObjClass = inObj.getClass().getName();
+ while (iterator.hasNext()) {
+ Object obj = iterator.next();
+ String objClass = obj.getClass().getName();
// start the meta data entry for this object
- MetaDataEntry inMdEntry = new MetaDataEntry();
- inMdEntry.setClassName(inObjClass);
+ MetaDataEntry mdEntry = new MetaDataEntry();
+ mdEntry.setClassName(objClass);
// get the correct object-specific name
- String inQnameAsString;
+ String qnameAsString;
- if (inObj instanceof Phase) {
- Phase inPhaseObj = (Phase) inObj;
- inQnameAsString = inPhaseObj.getName();
+ if (obj instanceof Phase) {
+ Phase inPhaseObj = (Phase) obj;
+ qnameAsString = inPhaseObj.getName();
// add the list of handlers to the meta data
- setupPhaseList(inPhaseObj, inMdEntry);
- } else if (inObj instanceof Handler) {
- Handler inHandlerObj = (Handler) inObj;
- inQnameAsString = inHandlerObj.getName();
+ setupPhaseList(inPhaseObj, mdEntry);
+ } else if (obj instanceof Handler) {
+ Handler inHandlerObj = (Handler) obj;
+ qnameAsString = inHandlerObj.getName();
} else {
// TODO: will there be any other kinds of objects in the list
- inQnameAsString = "NULL";
+ qnameAsString = "NULL";
}
- inMdEntry.setQName(inQnameAsString);
-
+ mdEntry.setQName(qnameAsString);
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":writeExternal(): ***BEFORE Inbound Executed List OBJ WRITE*** inboundExecutedPhases entry class [" +
- inObjClass + "] qname [" + inQnameAsString + "]");
+ ":writeExternal(): ***BEFORE Executed List OBJ WRITE*** executedPhases entry class [" +
+ objClass + "] qname [" + qnameAsString + "]");
}
- ObjectStateUtils.writeObject(out, inMdEntry, logCorrelationIDString +
- ".inboundExecutedPhases:entry class [" + inObjClass + "] qname [" +
- inQnameAsString + "]");
+ ObjectStateUtils.writeObject(out, mdEntry, logCorrelationIDString +
+ ".executedPhases:entry class [" + objClass + "] qname [" +
+ qnameAsString + "]");
// update the index so that the index
// now indicates the next entry that
// will be attempted
- inExecNextIndex++;
+ execNextIndex++;
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString + ":writeExternal(): " +
- "***AFTER Inbound Executed List OBJ WRITE*** " +
- "inboundExecutedPhases entry class [" + inObjClass + "] " +
- "qname [" + inQnameAsString + "]");
+ "***AFTER Executed List OBJ WRITE*** " +
+ "executedPhases entry class [" + objClass + "] " +
+ "qname [" + qnameAsString + "]");
}
} // end while entries in execution chain
// done with the entries in the execution chain
// add the end-of-list marker
- MetaDataEntry inLastEntry = new MetaDataEntry();
- inLastEntry.setClassName(MetaDataEntry.END_OF_LIST);
+ MetaDataEntry lastEntry = new MetaDataEntry();
+ lastEntry.setClassName(MetaDataEntry.END_OF_LIST);
- ObjectStateUtils.writeObject(out, inLastEntry, logCorrelationIDString +
- ".inboundExecutedPhases: last entry ");
- inExecNextIndex++;
+ ObjectStateUtils.writeObject(out, lastEntry, logCorrelationIDString +
+ ".executedPhases: last entry ");
+ execNextIndex++;
- // inExecNextIndex also gives us the number of entries
+ // execNextIndex also gives us the number of entries
// that were actually saved as opposed to the
- // number of entries in the inboundExecutedPhases
- out.writeInt(inExecNextIndex);
+ // number of entries in the executedPhases
+ out.writeInt(execNextIndex);
} else {
// general case: handle "null" or "empty"
- out.writeUTF(inExecListDesc);
+ out.writeUTF(execListDesc);
out.writeBoolean(ObjectStateUtils.EMPTY_OBJECT);
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(
- logCorrelationIDString + ":writeExternal(): inboundExecutedPhases is NULL");
- }
- }
-
- //---------------------------------------------------------
- // LinkedList outboundExecutedPhases
- //---------------------------------------------------------
- // The strategy is to save some metadata about each
- // member of the list and the order of the list.
- // Then when the message context is re-constituted,
- // try to match up with phases and handlers on the
- // engine.
- //
- // Non-null list:
- // UTF - description string
- // boolean - active flag
- // int - expected number of entries in the list
- // objects - MetaDataEntry object per list entry
- // last entry will be empty MetaDataEntry
- // with MetaDataEntry.LAST_ENTRY marker
- // int - adjusted number of entries in the list
- // includes the last empty entry
- //
- // Empty list:
- // UTF - description string
- // boolean - empty flag
- //---------------------------------------------------------
- String outExecListDesc = logCorrelationIDString + ".outboundExecutedPhases";
-
- int outExecListSize = 0;
-
- if (outboundExecutedPhases != null) {
- outExecListSize = outboundExecutedPhases.size();
- }
-
- if (outExecListSize > 0) {
- // start writing data to the output stream
- out.writeUTF(outExecListDesc);
- out.writeBoolean(ObjectStateUtils.ACTIVE_OBJECT);
- out.writeInt(outExecListSize);
-
- // put the metadata on each member of the list into a buffer
-
- int outExecNextIndex = 0;
-
- Iterator outIterator = outboundExecutedPhases.iterator();
-
- while (outIterator.hasNext()) {
- Object outObj = outIterator.next();
- String outObjClass = outObj.getClass().getName();
- // start the meta data entry for this object
- MetaDataEntry outMdEntry = new MetaDataEntry();
- outMdEntry.setClassName(outObjClass);
-
- // get the correct object-specific name
- String outQnameAsString;
-
- if (outObj instanceof Phase) {
- Phase outPhaseObj = (Phase) outObj;
- outQnameAsString = outPhaseObj.getName();
-
- // add the list of handlers to the meta data
- setupPhaseList(outPhaseObj, outMdEntry);
- } else if (outObj instanceof Handler) {
- Handler outHandlerObj = (Handler) outObj;
- outQnameAsString = outHandlerObj.getName();
- } else {
- // TODO: will there be any other kinds of objects in the list
- outQnameAsString = "NULL";
- }
-
- outMdEntry.setQName(outQnameAsString);
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":writeExternal(): ***BEFORE Outbound Executed List OBJ WRITE*** outboundExecutedPhases entry class [" +
- outObjClass + "] qname [" + outQnameAsString + "]");
- }
-
- ObjectStateUtils.writeObject(out, outMdEntry, logCorrelationIDString +
- ".outboundExecutedPhases:entry class [" + outObjClass + "] qname [" +
- outQnameAsString + "]");
-
- // update the index so that the index
- // now indicates the next entry that
- // will be attempted
- outExecNextIndex++;
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":writeExternal(): ***AFTER Outbound Executed List OBJ WRITE*** outboundExecutedPhases entry class [" +
- outObjClass + "] qname [" + outQnameAsString + "]");
- }
-
- } // end while entries
-
- // done with the entries
- // add the end-of-list marker
- MetaDataEntry outLastEntry = new MetaDataEntry();
- outLastEntry.setClassName(MetaDataEntry.END_OF_LIST);
-
- ObjectStateUtils.writeObject(out, outLastEntry, logCorrelationIDString +
- ".outboundExecutedPhases: last entry ");
- outExecNextIndex++;
-
- // outExecNextIndex also gives us the number of entries
- // that were actually saved as opposed to the
- // number of entries in the outboundExecutedPhases
- out.writeInt(outExecNextIndex);
-
- } else {
- // general case: handle "null" or "empty"
-
- out.writeUTF(outExecListDesc);
- out.writeBoolean(ObjectStateUtils.EMPTY_OBJECT);
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":writeExternal(): outboundExecutedPhases is NULL");
+ logCorrelationIDString + ":writeExternal(): executedPhases is NULL");
}
}
@@ -3242,7 +3081,7 @@
}
//---------------------------------------------------------
- // LinkedList inboundExecutedPhases
+ // LinkedList executedPhases
//---------------------------------------------------------
// Restore the metadata about each member of the list
// and the order of the list.
@@ -3267,8 +3106,8 @@
// the local chain is not enabled until the
// list has been reconstituted
- inboundExecutedPhases = null;
- metaInboundExecuted = null;
+ executedPhases = null;
+ metaExecuted = null;
in.readUTF();
boolean gotInExecList = in.readBoolean();
@@ -3278,12 +3117,12 @@
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":readExternal(): inbound executed phases: expected number of entries [" +
+ ":readExternal(): executed phases: expected number of entries [" +
expectedNumberInExecList + "]");
}
// setup the list
- metaInboundExecuted = new LinkedList();
+ metaExecuted = new LinkedList();
// process the objects
boolean keepGoing = true;
@@ -3294,7 +3133,7 @@
// get the object
Object tmpObj = ObjectStateUtils
- .readObject(in, "MessageContext.metaInboundExecuted MetaDataEntry");
+ .readObject(in, "MessageContext.metaExecuted MetaDataEntry");
count++;
@@ -3313,7 +3152,7 @@
keepGoing = false;
} else {
// add the entry to the meta data list
- metaInboundExecuted.add(mdObj);
+ metaExecuted.add(mdObj);
tmpQNameAsStr = mdObj.getQNameAsString();
@@ -3339,125 +3178,15 @@
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":readExternal(): adjusted number of entries InboundExecutedPhases [" +
+ ":readExternal(): adjusted number of entries executedPhases [" +
adjustedNumberInExecList + "] ");
}
}
- if ((metaInboundExecuted == null) || (metaInboundExecuted.isEmpty())) {
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":readExternal(): meta data for InboundExecutedPhases list is NULL");
- }
- }
-
- //---------------------------------------------------------
- // LinkedList outboundExecutedPhases
- //---------------------------------------------------------
- // Restore the metadata about each member of the list
- // and the order of the list.
- // This metadata will be used to match up with phases
- // and handlers on the engine.
- //
- // Non-null list:
- // UTF - description string
- // boolean - active flag
- // int - expected number of entries in the list
- // not including the last entry marker
- // objects - MetaDataEntry object per list entry
- // last entry will be empty MetaDataEntry
- // with MetaDataEntry.LAST_ENTRY marker
- // int - adjusted number of entries in the list
- // includes the last empty entry
- //
- // Empty list:
- // UTF - description string
- // boolean - empty flag
- //---------------------------------------------------------
-
- // the local chain is not enabled until the
- // list has been reconstituted
- outboundExecutedPhases = null;
- metaOutboundExecuted = null;
-
- in.readUTF();
- boolean gotOutExecList = in.readBoolean();
-
- if (gotOutExecList == ObjectStateUtils.ACTIVE_OBJECT) {
- int expectedNumberOutExecList = in.readInt();
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":readExternal(): outbound executed phases: expected number of entries [" +
- expectedNumberOutExecList + "]");
- }
-
- // setup the list
- metaOutboundExecuted = new LinkedList();
-
- // process the objects
- boolean keepGoing = true;
- int count = 0;
-
- while (keepGoing) {
- // stop when we get to the end-of-list marker
-
- // get the object
- Object tmpObj = ObjectStateUtils
- .readObject(in, "MessageContext.metaOutboundExecuted MetaDataEntry");
-
- count++;
-
- MetaDataEntry mdObj = (MetaDataEntry) tmpObj;
-
- // get the class name, then add it to the list
- String tmpClassNameStr;
- String tmpQNameAsStr;
- String tmpHasList = "no list";
-
- if (mdObj != null) {
- tmpClassNameStr = mdObj.getClassName();
-
- if (tmpClassNameStr.equalsIgnoreCase(MetaDataEntry.END_OF_LIST)) {
- // this is the last entry
- keepGoing = false;
- } else {
- // add the entry to the meta data list
- metaOutboundExecuted.add(mdObj);
-
- tmpQNameAsStr = mdObj.getQNameAsString();
-
- if (!mdObj.isListEmpty()) {
- tmpHasList = "has list";
- }
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":readExternal(): OutboundExecutedPhases: meta data class [" +
- tmpClassNameStr + "] qname [" + tmpQNameAsStr + "] index [" +
- count + "] [" + tmpHasList + "]");
- }
- }
- } else {
- // some error occurred
- keepGoing = false;
- }
-
- } // end while keep going
-
- int adjustedNumberOutExecList = in.readInt();
-
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":readExternal(): adjusted number of entries OutboundExecutedPhases [" +
- adjustedNumberOutExecList + "] ");
- }
- }
-
- if ((metaOutboundExecuted == null) || (metaOutboundExecuted.isEmpty())) {
+ if ((metaExecuted == null) || (metaExecuted.isEmpty())) {
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":readExternal(): meta data for OutboundExecutedPhases list is NULL");
+ ":readExternal(): meta data for executedPhases list is NULL");
}
}
@@ -3934,39 +3663,23 @@
//-------------------------------------------------------
// reconcile the lists for the executed phases
//-------------------------------------------------------
- if (metaInboundExecuted != null) {
+ if (metaExecuted != null) {
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":activate(): reconciling the inbound executed chain...");
+ ":activate(): reconciling the executed chain...");
}
- if (!(inboundReset)) {
- inboundExecutedPhases =
- restoreExecutedList(inboundExecutedPhases, metaInboundExecuted);
+ if (!(executedPhasesReset)) {
+ executedPhases =
+ restoreExecutedList(executedPhases, metaExecuted);
}
}
- if (inboundExecutedPhases == null) {
- inboundExecutedPhases = new LinkedList();
+ if (executedPhases == null) {
+ executedPhases = new LinkedList();
}
- if (metaOutboundExecuted != null) {
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":activate(): reconciling the outbound executed chain...");
- }
-
- if (!(outboundReset)) {
- outboundExecutedPhases =
- restoreExecutedList(outboundExecutedPhases, metaOutboundExecuted);
- }
- }
-
- if (outboundExecutedPhases == null) {
- outboundExecutedPhases = new LinkedList();
- }
-
//-------------------------------------------------------
// finish up remaining links
//-------------------------------------------------------
@@ -4178,37 +3891,20 @@
//-------------------------------------------------------
// reconcile the lists for the executed phases
//-------------------------------------------------------
- if (metaInboundExecuted != null) {
- if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
- log.trace(logCorrelationIDString +
- ":activateWithOperationContext(): reconciling the inbound executed chain...");
- }
-
- if (!(inboundReset)) {
- inboundExecutedPhases =
- restoreExecutedList(inboundExecutedPhases, metaInboundExecuted);
- }
- }
-
- if (inboundExecutedPhases == null) {
- inboundExecutedPhases = new LinkedList();
- }
-
-
- if (metaOutboundExecuted != null) {
+ if (metaExecuted != null) {
if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
log.trace(logCorrelationIDString +
- ":activateWithOperationContext(): reconciling the outbound executed chain...");
+ ":activateWithOperationContext(): reconciling the executed chain...");
}
- if (!(outboundReset)) {
- outboundExecutedPhases =
- restoreExecutedList(outboundExecutedPhases, metaOutboundExecuted);
+ if (!(executedPhasesReset)) {
+ executedPhases =
+ restoreExecutedList(executedPhases, metaExecuted);
}
}
- if (outboundExecutedPhases == null) {
- outboundExecutedPhases = new LinkedList();
+ if (executedPhases == null) {
+ executedPhases = new LinkedList();
}
//-------------------------------------------------------
@@ -4448,14 +4144,9 @@
copy.setCurrentPhaseIndex(currentPhaseIndex);
//---------------------------------------------------------
- // LinkedList inboundExecutedPhases
- //---------------------------------------------------------
- copy.setInboundExecutedPhasesExplicit(inboundExecutedPhases);
-
- //---------------------------------------------------------
- // LinkedList outboundExecutedPhases
+ // LinkedList executedPhases
//---------------------------------------------------------
- copy.setOutboundExecutedPhasesExplicit(outboundExecutedPhases);
+ copy.setExecutedPhasesExplicit(executedPhases);
//---------------------------------------------------------
// options
@@ -4550,13 +4241,8 @@
isSOAP11 = t;
}
-
- public void setInboundExecutedPhasesExplicit(LinkedList inb) {
- inboundExecutedPhases = inb;
- }
-
- public void setOutboundExecutedPhasesExplicit(LinkedList outb) {
- outboundExecutedPhases = outb;
+ public void setExecutedPhasesExplicit(LinkedList inb) {
+ executedPhases = inb;
}
public void setSelfManagedDataMapExplicit(LinkedHashMap map) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/OperationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/OperationContext.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/OperationContext.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/context/OperationContext.java Sun Jun 17 05:11:16 2007
@@ -171,7 +171,7 @@
//----------------------------------------------------------------
/**
- * Simple constructor
+ * Simple constructor (needed for deserialization, shouldn't be used otherwise!)
*/
public OperationContext() {
super(null);
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java Sun Jun 17 05:11:16 2007
@@ -305,12 +305,11 @@
* Update the list of modules that is required to be engaged globally.
*/
protected void processModuleRefs(Iterator moduleRefs, AxisConfiguration config) {
- List globalModules = config.getGlobalModules();
while (moduleRefs.hasNext()) {
OMElement moduleref = (OMElement) moduleRefs.next();
OMAttribute moduleRefAttribute = moduleref.getAttribute(new QName(TAG_REFERENCE));
String refName = moduleRefAttribute.getAttributeValue();
- globalModules.add(refName);
+ axisConfig.addGlobalModuleRef(refName);
}
}
@@ -467,7 +466,7 @@
(TransportListener) receiverClass.newInstance();
transportIN.setReceiver(receiver);
} catch (NoClassDefFoundError e) {
- log.info(Messages.getMessage("classnotfound", trsClas.getAttributeValue()));
+ throw new DeploymentException(e);
} catch (ClassNotFoundException e) {
throw new DeploymentException(e);
} catch (IllegalAccessException e) {
@@ -529,6 +528,7 @@
axisConfig.addTransportOut(transportout);
} catch (NoClassDefFoundError e) {
log.debug(Messages.getMessage("errorinloadingts", clasName), e);
+ throw new DeploymentException(e);
} catch (ClassNotFoundException e) {
log.debug(Messages.getMessage("errorinloadingts", clasName), e);
throw new DeploymentException(e);
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java Sun Jun 17 05:11:16 2007
@@ -247,7 +247,10 @@
}
public InputStream getResourceAsStream(String name) {
- URL url =findResource(name);
+ URL url = findResource(name);
+ if(url == null) {
+ url = getResource(name);
+ }
if(url!=null){
try {
return url.openStream();
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java Sun Jun 17 05:11:16 2007
@@ -82,6 +82,7 @@
String TAG_HOT_UPDATE = "hotupdate";
String TAG_ANTI_JAR_LOCKING = "antiJARLocking";
String TAG_HOT_DEPLOYMENT = "hotdeployment";
+ String TAG_EXPOSE = "expose";
String TAG_EXTRACT_SERVICE_ARCHIVE = "extractServiceArchive";
String TAG_DISPATCH_ORDER = "dispatchOrder";
String TAG_DISPATCHER = "dispatcher";
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Sun Jun 17 05:11:16 2007
@@ -285,10 +285,16 @@
if (line.length() > 0) {
line = metainf + "/" + line;
try {
- AxisService service = reader.getAxisServiceFromWsdl(
+ List services = reader.getAxisServiceFromWsdl(
serviceClassLoader.getResourceAsStream(line),
serviceClassLoader, line);
- servicesMap.put(service.getName(), service);
+ if(services!=null){
+ for (int i = 0; i < services.size(); i++) {
+ AxisService axisService = (AxisService) services.get(i);
+ servicesMap.put(axisService.getName(), axisService);
+ }
+ }
+
} catch (Exception e) {
throw new DeploymentException(e);
}
@@ -548,10 +554,7 @@
* @throws org.apache.axis2.AxisFault : If smt goes wrong
*/
public void engageModules() throws AxisFault {
- for (Iterator iterator = axisConfig.getGlobalModules().iterator(); iterator.hasNext();) {
- String name = (String) iterator.next();
- axisConfig.engageModule(name);
- }
+ axisConfig.engageGlobalModules();
}
/**
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java Sun Jun 17 05:11:16 2007
@@ -503,7 +503,8 @@
* @param parent <code>ParameterInclude</code>
*/
protected void processParameters(Iterator parameters,
- ParameterInclude parameterInclude, ParameterInclude parent)
+ ParameterInclude parameterInclude,
+ ParameterInclude parent)
throws DeploymentException {
while (parameters.hasNext()) {
// this is to check whether some one has locked the parmeter at the
@@ -513,8 +514,7 @@
// setting parameterElement
parameter.setParameterElement(parameterElement);
// setting parameter Name
- OMAttribute paramName = parameterElement.getAttribute(new QName(
- ATTRIBUTE_NAME));
+ OMAttribute paramName = parameterElement.getAttribute(new QName(ATTRIBUTE_NAME));
if (paramName == null) {
throw new DeploymentException(Messages.getMessage(
DeploymentErrorMsgs.BAD_PARAMETER_ARGUMENT,
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Sun Jun 17 05:11:16 2007
@@ -120,6 +120,7 @@
messageReciverMap.put(
WSDL2Constants.MEP_URI_IN_ONLY,
messageReceiver);
+ messageReciverMap.put(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY,messageReceiver);
Class inoutMessageReceiver = Loader.loadClass(
"org.apache.axis2.rpc.receivers.RPCMessageReceiver");
MessageReceiver inOutmessageReceiver =
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java Sun Jun 17 05:11:16 2007
@@ -29,10 +29,8 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLDecoder;
-import java.net.URI;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.Enumeration;
public class RepositoryListener implements DeploymentConstants {
protected static final Log log = LogFactory.getLog(RepositoryListener.class);
@@ -250,7 +248,6 @@
if (isSourceControlDir(file)) {
continue;
}
- // TODO: Should this allow expanded directories like services/modules do?
if (!file.isDirectory() && extension.equals(
DeploymentFileData.getFileExtension(file.getName()))) {
addFileToDeploy(file,
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml?view=diff&rev=548033&r1=548032&r2=548033
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Sun Jun 17 05:11:16 2007
@@ -21,7 +21,13 @@
<parameter name="password" locked="false">axis2</parameter>
<!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
- <!--<parameter name="ServicesDirectory" locked="false">service</parameter>-->
+ <!--ServicesDirectory only works on the following cases-->
+ <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
+ <!---When creating URL Based configurator with URL âfile://â -->
+ <!--- War based configurator with expanded case , -->
+
+ <!--All the other scenarios it will be ignored.-->
+ <!--<parameter name="ServicesDirectory">service</parameter>-->
<!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
<!--<parameter name="ModulesDirectory" locked="false">modules</parameter>-->
@@ -36,6 +42,9 @@
<!-- Following parameter will completely disable REST handling in Axis2-->
<parameter name="disableREST" locked="true">false</parameter>
+ <!-- Following parameter will set the host name for the epr-->
+ <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
+
<!-- ================================================= -->
<!-- Message Receivers -->
<!-- ================================================= -->
@@ -118,8 +127,8 @@
<!-- Transport Outs -->
<!-- ================================================= -->
- <transportSender name="jms"
- class="org.apache.axis2.transport.jms.JMSSender"/>
+ <!--<transportSender name="jms"-->
+ <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
<transportSender name="tcp"
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
<transportSender name="local"
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org