You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2007/08/07 00:49:56 UTC
svn commit: r563321 - in
/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2: ./ hooks/
service/
Author: mszefler
Date: Mon Aug 6 15:49:54 2007
New Revision: 563321
URL: http://svn.apache.org/viewvc?view=rev&rev=563321
Log:
Merged to trunk@563315
Modified:
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java Mon Aug 6 15:49:54 2007
@@ -36,9 +36,9 @@
/**
* AXIS2 implementation of the {@link org.apache.ode.bpel.iapi.BindingContext}
* interface. Deals with the activation of endpoints.
- *
+ *
* @author Maciej Szefler - m s z e f l e r @ g m a i l . c o m
- *
+ *
*/
public class BindingContextImpl implements BindingContext {
private ODEServer _server;
@@ -51,7 +51,7 @@
public EndpointReference activateMyRoleEndpoint(QName processId, Endpoint myRoleEndpoint) {
try {
- ProcessConf pconf = _store.getProcessConfiguration(processId);
+ ProcessConf pconf = _store.getProcessConfiguration(processId);
Definition wsdl = pconf.getDefinitionForService(myRoleEndpoint.serviceName);
if (wsdl == null)
throw new ContextException("Unable to access WSDL definition to activate MyRole endpoint for service " + myRoleEndpoint.serviceName
@@ -72,9 +72,13 @@
Endpoint initialPartnerEndpoint) {
// NOTE: This implementation assumes that the initial value of the
// partner role determines the binding.
- return _server.createExternalService(_store
- .getProcessConfiguration(processId).getDefinitionForService(initialPartnerEndpoint.serviceName),
- initialPartnerEndpoint.serviceName, initialPartnerEndpoint.portName);
+ ProcessConf pconf = _store.getProcessConfiguration(processId);
+ Definition wsdl = pconf.getDefinitionForService(initialPartnerEndpoint.serviceName);
+ if (wsdl == null) {
+ throw new ContextException("Cannot find definition for service " + initialPartnerEndpoint.serviceName
+ + " in the context of process "+processId);
+ }
+ return _server.createExternalService(wsdl, initialPartnerEndpoint.serviceName, initialPartnerEndpoint.portName);
}
}
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java Mon Aug 6 15:49:54 2007
@@ -135,6 +135,10 @@
return format("Registered custom BPEL event listener: {0}", listenerCN);
}
+ public String msgMessageExchangeInterceptorRegistered(String interceptorCN) {
+ return format("Registered message exchange interceptor: {0}", interceptorCN);
+ }
+
public String msgOdeShutdownCompleted() {
return "Shutdown completed. ";
}
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Mon Aug 6 15:49:54 2007
@@ -61,7 +61,7 @@
/**
* Server class called by our Axis hooks to handle all ODE lifecycle management.
- *
+ *
* @author Matthieu Riou <mriou at apache dot org>
*/
public class ODEServer {
@@ -149,10 +149,11 @@
__log.debug("Initializing BPEL server.");
initBpelServer();
- // Register BPEL event listeners configured in axis2.properties
- // file.
+ // Register BPEL event listeners configured in axis2.properties file.
registerEventListeners();
+ registerMexInterceptors();
+
try {
_server.start();
} catch (Exception ex) {
@@ -207,7 +208,7 @@
/**
* Shutdown the service engine. This performs cleanup before the BPE is terminated. Once this method has been called, init()
* must be called before the transformation engine can be started again with a call to start().
- *
+ *
* @throws AxisFault
* if the engine is unable to shut down.
*/
@@ -263,7 +264,7 @@
if (_db != null)
try {
_db.shutdown();
-
+
} catch (Throwable ex) {
__log.debug("DB shutdown failed.", ex);
} finally {
@@ -272,7 +273,6 @@
if (_txMgr != null) {
__log.debug("shutting down transaction manager.");
- // TODO: we need to shutdown jotm if it is running.
_txMgr = null;
}
@@ -393,14 +393,14 @@
try {
_connector.start();
} catch (Exception e) {
- __log.error("Failed to initialize JCA connector.");
+ __log.error("Failed to initialize JCA connector.", e);
}
}
}
/**
* Initialize the DAO.
- *
+ *
* @throws ServletException
*/
protected void initDAO() throws ServletException {
@@ -411,7 +411,7 @@
String errmsg = __msgs.msgDAOInstantiationFailed(_odeConfig.getDAOConnectionFactory());
__log.error(errmsg, ex);
throw new ServletException(errmsg, ex);
-
+
}
}
@@ -473,11 +473,28 @@
__log.info(__msgs.msgBpelEventListenerRegistered(listenerCN));
} catch (Exception e) {
__log.warn("Couldn't register the event listener " + listenerCN + ", the class couldn't be "
- + "loaded properly.");
+ + "loaded properly: " + e);
}
}
}
+ }
+
+ private void registerMexInterceptors() {
+ // TODO: put back.
+// String listenersStr = _odeConfig.getMessageExchangeInterceptors();
+// if (listenersStr != null) {
+// for (StringTokenizer tokenizer = new StringTokenizer(listenersStr, ",;"); tokenizer.hasMoreTokens();) {
+// String interceptorCN = tokenizer.nextToken();
+// try {
+// _server.registerMessageExchangeInterceptor((MessageExchangeInterceptor) Class.forName(interceptorCN).newInstance());
+// __log.info(__msgs.msgMessageExchangeInterceptorRegistered(interceptorCN));
+// } catch (Exception e) {
+// __log.warn("Couldn't register the event listener " + interceptorCN + ", the class couldn't be "
+// + "loaded properly: " + e);
+// }
+// }
+// }
}
private class ProcessStoreListenerImpl implements ProcessStoreListener {
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java Mon Aug 6 15:49:54 2007
@@ -66,9 +66,9 @@
+" WSDL="+wsdlDefinition.getDocumentBaseURI()
+" BPEL="+pconf.getBpelDocument());
}
-
+
try {
- URI baseUri = pconf.getBaseURL().toURI().resolve(wsdlDefinition.getDocumentBaseURI());
+ URI baseUri = pconf.getBaseURI().resolve(wsdlDefinition.getDocumentBaseURI());
InputStream is = baseUri.toURL().openStream();
WSDL11ToAxisServiceBuilder serviceBuilder = new WSDL11ToAxisServiceBuilder(is, wsdlServiceName, portName);
serviceBuilder.setBaseUri(baseUri.toString());
@@ -95,7 +95,7 @@
}
return axisService;
} catch (Exception e) {
- throw new AxisFault(e);
+ throw AxisFault.makeFault(e);
}
}
@@ -182,5 +182,5 @@
}
}
-
+
}
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java Mon Aug 6 15:49:54 2007
@@ -25,6 +25,7 @@
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.receivers.AbstractMessageReceiver;
import org.apache.axis2.util.Utils;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.axis2.ODEService;
@@ -38,7 +39,7 @@
private ODEService _service;
- public final void receive(final MessageContext msgContext) throws AxisFault {
+ public final void invokeBusinessLogic(final MessageContext msgContext) throws AxisFault {
if (hasResponse(msgContext.getAxisOperation())) {
if (__log.isDebugEnabled())
__log.debug("Received request message for " + msgContext.getAxisService().getName() + "."
@@ -73,14 +74,14 @@
}
private boolean hasResponse(AxisOperation op) {
- switch (op.getAxisSpecifMEPConstant()) {
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_IN_OUT:
+ switch (op.getAxisSpecificMEPConstant()) {
+ case WSDLConstants.MEP_CONSTANT_IN_OUT:
return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_ONLY:
+ case WSDLConstants.MEP_CONSTANT_OUT_ONLY:
return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_OPTIONAL_IN:
+ case WSDLConstants.MEP_CONSTANT_OUT_OPTIONAL_IN:
return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_OUT_ONLY:
+ case WSDLConstants.MEP_CONSTANT_ROBUST_OUT_ONLY:
return true;
default:
return false;
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java Mon Aug 6 15:49:54 2007
@@ -89,7 +89,8 @@
WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
wsdlReader.setFeature("javax.wsdl.verbose", false);
- def = wsdlReader.readWSDL(rootpath + "/deploy.wsdl");
+ File wsdlFile = new File(rootpath + "/deploy.wsdl");
+ def = wsdlReader.readWSDL(wsdlFile.toURI().toString());
AxisService deployService = ODEAxisService.createService(
axisConfig, new QName("http://www.apache.org/ode/deployapi", "DeploymentService"),
"DeploymentPort", "DeploymentService", def, new DeploymentMessageReceiver());
@@ -104,7 +105,7 @@
class DeploymentMessageReceiver extends AbstractMessageReceiver {
- public void receive(MessageContext messageContext) throws AxisFault {
+ public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
String operation = messageContext.getAxisOperation().getName().getLocalPart();
SOAPFactory factory = getSOAPFactory(messageContext);
boolean unknown = false;
Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java Mon Aug 6 15:49:54 2007
@@ -19,6 +19,23 @@
package org.apache.ode.axis2.service;
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -31,6 +48,7 @@
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.receivers.AbstractMessageReceiver;
import org.apache.axis2.util.Utils;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.axis2.OdeFault;
@@ -45,21 +63,6 @@
import org.apache.xmlbeans.XmlObject;
import org.w3c.dom.Node;
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
/**
* Axis2 wrapper for process and instance management interfaces.
*/
@@ -80,7 +83,8 @@
WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
wsdlReader.setFeature("javax.wsdl.verbose", false);
- def = wsdlReader.readWSDL(rootpath + "/pmapi.wsdl");
+ File wsdlFile = new File(rootpath + "/pmapi.wsdl");
+ def = wsdlReader.readWSDL(wsdlFile.toURI().toString());
AxisService processService = ODEAxisService.createService(
axisConfig, new QName("http://www.apache.org/ode/pmapi", "ProcessManagementService"),
"ProcessManagementPort", "ProcessManagement", def, new ProcessMessageReceiver());
@@ -96,7 +100,7 @@
}
}
- private static void receive(MessageContext msgContext, Class mgmtClass,
+ private static void invokeBusinessLogic(MessageContext msgContext, Class mgmtClass,
Object mgmtObject, SOAPFactory soapFactory) throws AxisFault {
if (__log.isDebugEnabled())
__log.debug("Received mgmt message for " + msgContext.getAxisService().getName() +
@@ -211,25 +215,25 @@
}
private static boolean hasResponse(AxisOperation op) {
- switch(op.getAxisSpecifMEPConstant()) {
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_IN_OUT: return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_ONLY: return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_OPTIONAL_IN: return true;
- case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_OUT_ONLY: return true;
+ switch(op.getAxisSpecificMEPConstant()) {
+ case WSDLConstants.MEP_CONSTANT_IN_OUT: return true;
+ case WSDLConstants.MEP_CONSTANT_OUT_ONLY: return true;
+ case WSDLConstants.MEP_CONSTANT_OUT_OPTIONAL_IN: return true;
+ case WSDLConstants.MEP_CONSTANT_ROBUST_OUT_ONLY: return true;
default: return false;
}
}
class ProcessMessageReceiver extends AbstractMessageReceiver {
- public void receive(MessageContext messageContext) throws AxisFault {
- ManagementService.receive(messageContext, ProcessManagement.class,
+ public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
+ ManagementService.invokeBusinessLogic(messageContext, ProcessManagement.class,
_processMgmt, getSOAPFactory(messageContext));
}
}
class InstanceMessageReceiver extends AbstractMessageReceiver {
- public void receive(MessageContext messageContext) throws AxisFault {
- ManagementService.receive(messageContext, InstanceManagement.class,
+ public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
+ ManagementService.invokeBusinessLogic(messageContext, InstanceManagement.class,
_instanceMgmt, getSOAPFactory(messageContext));
}
}