You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2007/04/18 00:08:07 UTC
svn commit: r529787 -
/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/
Author: antelder
Date: Tue Apr 17 15:08:05 2007
New Revision: 529787
URL: http://svn.apache.org/viewvc?view=rev&rev=529787
Log:
Axis2 binding, more code tidy up
Modified:
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceBinding.java
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java?view=diff&rev=529787&r1=529786&r2=529787
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java Tue Apr 17 15:08:05 2007
@@ -41,11 +41,11 @@
public Axis2AsyncTargetInvoker(ServiceClient serviceClient,
QName wsdlOperationName,
Options options,
- SOAPFactory soapFactory, WorkContext workContext) {
- super(serviceClient, wsdlOperationName, options, soapFactory, workContext);
+ SOAPFactory soapFactory) {
+ super(serviceClient, wsdlOperationName, options, soapFactory);
}
- public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence, WorkContext workContext) throws InvocationTargetException {
throw new InvocationTargetException(new InvocationRuntimeException("Operation not supported"));
}
@@ -53,7 +53,7 @@
throws InvocationTargetException {
try {
Object[] args = (Object[]) payload;
- OperationClient operationClient = createOperationClient(args);
+ OperationClient operationClient = createOperationClient(args, null);
callbackInvoker.setCallbackRoutingChain(callbackRoutingChain);
Axis2ReferenceCallback callback = new Axis2ReferenceCallback(callbackInvoker);
operationClient.setCallback(callback);
@@ -76,17 +76,6 @@
} catch (AxisFault e) {
throw new InvocationTargetException(e);
}
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
-// Object resp = invokeTarget(msg.getBody(), msg.getCallbackRoutingChain()); // TODO: getCallbackRoutingChain no longer exists
- Object resp = invokeTarget(msg.getBody(), null);
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
}
public void setCallbackTargetInvoker(Axis2ReferenceCallbackTargetInvoker callbackInvoker) {
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java?view=diff&rev=529787&r1=529786&r2=529787
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java Tue Apr 17 15:08:05 2007
@@ -22,37 +22,33 @@
import javax.xml.namespace.QName;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.client.OperationClient;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
public class Axis2OneWayTargetInvoker extends Axis2TargetInvoker {
- protected static final OMElement RESPONSE = null;
-
public Axis2OneWayTargetInvoker(ServiceClient serviceClient,
QName wsdlOperationName,
Options options,
- SOAPFactory soapFactory, WorkContext workContext) {
+ SOAPFactory soapFactory) {
- super(serviceClient, wsdlOperationName, options, soapFactory, workContext);
+ super(serviceClient, wsdlOperationName, options, soapFactory);
}
- public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence, WorkContext workContext) throws InvocationTargetException {
try {
Object[] args = (Object[]) payload;
- OperationClient operationClient = createOperationClient(args);
+ OperationClient operationClient = createOperationClient(args, workContext);
operationClient.execute(false);
// REVIEW it seems ok to return null
- return RESPONSE;
+ return null;
+
} catch (AxisFault e) {
throw new InvocationTargetException(e);
} catch (Throwable t) {
@@ -60,13 +56,4 @@
}
}
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody(), NONE);
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
}
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceBinding.java?view=diff&rev=529787&r1=529786&r2=529787
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceBinding.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceBinding.java Tue Apr 17 15:08:05 2007
@@ -156,11 +156,11 @@
Axis2TargetInvoker invoker;
if (hasCallback) {
- invoker = new Axis2AsyncTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory, workContext);
+ invoker = new Axis2AsyncTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory);
} else if (isOneWay) {
- invoker = new Axis2OneWayTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory, workContext);
+ invoker = new Axis2OneWayTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory);
} else {
- invoker = new Axis2TargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory, workContext);
+ invoker = new Axis2TargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory);
}
return invoker;
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java?view=diff&rev=529787&r1=529786&r2=529787
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java Tue Apr 17 15:08:05 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.binding.axis2;
+import java.lang.reflect.InvocationTargetException;
+
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.AxisFault;
@@ -25,6 +27,7 @@
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver;
import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.spi.wire.InvocationRuntimeException;
public class Axis2ServiceInOutSyncMessageReceiver extends AbstractInOutSyncMessageReceiver {
@@ -32,15 +35,14 @@
private Axis2ServiceBinding axis2Service;
+ public Axis2ServiceInOutSyncMessageReceiver() {
+ }
+
public Axis2ServiceInOutSyncMessageReceiver(Axis2ServiceBinding service, Operation operation) {
this.axis2Service = service;
this.operation = operation;
}
- public Axis2ServiceInOutSyncMessageReceiver() {
-
- }
-
@Override
public void invokeBusinessLogic(MessageContext inMC, MessageContext outMC) throws AxisFault {
try {
@@ -58,13 +60,13 @@
outMC.setEnvelope(soapEnvelope);
outMC.getOperationContext().setProperty(Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
-// } catch (InvocationTargetException e) {
-// e.printStackTrace();
-// Throwable t = e.getCause();
-// if (t instanceof Exception) {
-// throw AxisFault.makeFault((Exception)t);
-// }
-// throw new InvocationRuntimeException(e);
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
+ Throwable t = e.getCause();
+ if (t instanceof Exception) {
+ throw AxisFault.makeFault((Exception)t);
+ }
+ throw new InvocationRuntimeException(e);
} catch (Exception e) {
e.printStackTrace();
throw AxisFault.makeFault(e);
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java?view=diff&rev=529787&r1=529786&r2=529787
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java Tue Apr 17 15:08:05 2007
@@ -39,61 +39,46 @@
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.extension.TargetInvokerExtension;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
/**
* Axis2TargetInvoker uses an Axis2 OperationClient to invoke a remote web service
*/
public class Axis2TargetInvoker extends TargetInvokerExtension {
+ private ServiceClient serviceClient;
private QName wsdlOperationName;
-
private Options options;
-
private SOAPFactory soapFactory;
- private ServiceClient serviceClient;
-
- private WorkContext workContext;
-
public static final QName CONVERSATION_ID_REFPARM_QN = new QName(Constants.SCA10_NS,"conversationID");
- public Axis2TargetInvoker(ServiceClient serviceClient, QName wsdlOperationName, Options options,
- SOAPFactory soapFactory, WorkContext workContext) {
+ public Axis2TargetInvoker(ServiceClient serviceClient, QName wsdlOperationName, Options options, SOAPFactory soapFactory) {
+ this.serviceClient = serviceClient;
this.wsdlOperationName = wsdlOperationName;
this.options = options;
this.soapFactory = soapFactory;
- this.serviceClient = serviceClient;
- this.workContext = workContext;
}
- /**
- * Invoke a WS operation
- *
- * @param payload
- * @param sequence
- * @return
- * @throws InvocationTargetException
- */
- public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
+
+ public Object invokeTarget(final Object payload, final short sequence, WorkContext workContext) throws InvocationTargetException {
try {
+
Object[] args = (Object[]) payload;
- OperationClient operationClient = createOperationClient(args);
+ OperationClient operationClient = createOperationClient(args, workContext);
operationClient.execute(true);
MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+
return responseMC.getEnvelope().getBody().getFirstElement();
} catch (AxisFault e) {
throw new InvocationTargetException(e);
}
-
}
@SuppressWarnings("deprecation")
- protected OperationClient createOperationClient(Object[] args) throws AxisFault {
+ protected OperationClient createOperationClient(Object[] args, WorkContext workContext) throws AxisFault {
SOAPEnvelope env = soapFactory.getDefaultEnvelope();
if (args != null && args.length > 0) {
SOAPBody body = env.getBody();
@@ -108,10 +93,10 @@
}
MessageContext requestMC = new MessageContext();
requestMC.setEnvelope(env);
+
// Axis2 operationClients can not be shared so create a new one for each request
OperationClient operationClient = serviceClient.createClient(wsdlOperationName);
-
-
+
if(workContext != null){
String conversationId = (String) workContext.getIdentifier(Scope.CONVERSATION);
if(conversationId != null && conversationId.length()!=0){
@@ -126,49 +111,12 @@
OMElement el= fromEPR.toOM(AddressingConstants.Final.WSA_NAMESPACE,AddressingConstants.WSA_FROM,AddressingConstants.WSA_DEFAULT_PREFIX);
sh.addChild(el);
}
-
}
-
operationClient.setOptions(options);
operationClient.addMessageContext(requestMC);
- return operationClient;
- }
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody(), NONE);
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public Axis2TargetInvoker clone() throws CloneNotSupportedException {
- try {
- return (Axis2TargetInvoker) super.clone();
- } catch (CloneNotSupportedException e) {
- // will not happen
- return null;
- }
- }
-
- public boolean isCacheable() {
- return true;
- }
-
- public void setCacheable(boolean cacheable) {
-
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
- public Object invokeTarget(Object payload, short sequence, WorkContext workContext) throws InvocationTargetException {
- // TODO Auto-generated method stub
- return null;
+ return operationClient;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org