summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:07:28 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:07:28 +0000
commit07b7dfd1a70ba222b899d9813f8c449dbf3b785f (patch)
treeecfc876747e6cfedee0a8533d87c19ac78a2dbd0 /branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding
parent6fadbc9cd1fcf03d0b3630f772d91df149b70428 (diff)
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835124 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding')
-rw-r--r--branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java142
-rw-r--r--branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java72
-rw-r--r--branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java272
-rw-r--r--branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java226
-rw-r--r--branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java79
5 files changed, 0 insertions, 791 deletions
diff --git a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java b/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java
deleted file mode 100644
index 1760cbddad..0000000000
--- a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.invocation.Interceptor;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.osoa.sca.ServiceUnavailableException;
-
-
-/**
- * A wrapper for the Axis2BindingInvoker that ensures that the url of the target
- * service is correct by looking it up in the service registry if it is not provided
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCABindingInvoker implements Interceptor {
-
- private final static Logger logger = Logger.getLogger(Axis2SCABindingInvoker.class.getName());
-
- private int retryCount = 100;
- private int retryInterval = 5000; //ms
- private Invoker axis2Invoker;
- private Axis2SCAReferenceBindingProvider provider;
-
- public Axis2SCABindingInvoker(Axis2SCAReferenceBindingProvider provider, Invoker axis2Invoker) {
- this.axis2Invoker = axis2Invoker;
- this.provider = provider;
- }
-
- public void setNext(Invoker next) {
- }
-
- public Invoker getNext() {
- return null;
- }
-
- /**
- * Fix up the URL for the message. The "to" EndPoint comes from the wire
- * target and needs to b replaced with the endpoint from the registry.
- * The default URL for an Endpoint URI where there is no
- * target component or service information, as in the case of a
- * wire crossing a node boundary, is "/"
- */
- public Message invoke(Message msg) {
-
- // make sure that the epr of the target service is set in the TO
- // field of the message
- EndpointReference to = msg.getTo();
-
- // check to see if we either don't have an endpoint set or if the uri
- // is dynamic or the target service is marked as unresolved
- if ((to == null) || (to.getURI().equals("/") || (to.getContract() == null) || (to.getContract().isUnresolved()))) {
-
- EndpointReference eprTo = provider.getServiceEndpoint();
-
- if (eprTo == null) {
- throw new ServiceUnavailableException("Endpoint for service: " + provider.getSCABinding().getURI()
- + " can't be found for component: "
- + provider.getComponent().getName()
- + " reference: "
- + provider.getComponentReference().getName());
- }
- msg.setTo(eprTo);
- }
-
- // make sure that the epr of the callback service (if there is one) is set
- // in the callbackReference field of the message.
- EndpointReference callbackEPR = msg.getFrom().getReferenceParameters().getCallbackReference();
-
- if ((callbackEPR == null) || (callbackEPR.getURI().equals("/"))) {
-
- callbackEPR = provider.getCallbackEndpoint();
-
- if (callbackEPR != null) {
- msg.getFrom().getReferenceParameters().setCallbackReference(callbackEPR);
- }
- }
-
- // do the axis2 stuff
- Message returnMessage = null;
-
- // for (int i =0; i < retryCount; i++){
-
- returnMessage = axis2Invoker.invoke(msg);
- /*
- if ( AxisFault.class.isInstance(returnMessage.getBody())){
-
- AxisFault axisFault = returnMessage.getBody();
-
- if (axisFault.getCause().getClass() == ConnectException.class) {
- logger.log(Level.INFO, "Trying to send message to " +
- msg.getTo().getURI());
-
- // try and get the service endpoint again just in case
- // it's moved
- EndpointReference serviceEPR = provider.refreshServiceEndpoint();
-
- if (serviceEPR == null) {
- throw new ServiceUnavailableException("Endpoint for service: " + provider.getSCABinding().getURI()
- + " can't be found for component: "
- + provider.getComponent().getName()
- + " reference: "
- + provider.getComponentReference().getName());
- }
- msg.setTo(serviceEPR);
- } else {
- break;
- }
-
- } else {
- break;
- }
-
- try {
- Thread.sleep(retryInterval);
- } catch(InterruptedException ex) {
- }
- }
- */
- return returnMessage;
- }
-}
diff --git a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java b/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java
deleted file mode 100644
index ce185bd329..0000000000
--- a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import org.apache.tuscany.sca.binding.sca.DistributedSCABinding;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.node.SCANode;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * The factory for the Axis2 based implementation of the distributed sca binding
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCABindingProviderFactory implements BindingProviderFactory<DistributedSCABinding> {
-
- private MessageFactory messageFactory;
- private ServletHost servletHost;
- private NodeFactory nodeFactory = null;
-
- public Axis2SCABindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- this.servletHost = servletHosts.getServletHosts().get(0);
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- this.messageFactory = modelFactories.getFactory(MessageFactory.class);
- nodeFactory = modelFactories.getFactory(NodeFactory.class);
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding) {
- return new Axis2SCAReferenceBindingProvider(nodeFactory, component, reference, binding, servletHost, messageFactory);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- DistributedSCABinding binding) {
- return new Axis2SCAServiceBindingProvider(nodeFactory, component, service, binding, servletHost, messageFactory);
- }
-
- public Class<DistributedSCABinding> getModelType() {
- return DistributedSCABinding.class;
- }
-
-}
diff --git a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java b/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
deleted file mode 100644
index c390bdcfab..0000000000
--- a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import java.net.URI;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.sca.DistributedSCABinding;
-import org.apache.tuscany.sca.binding.ws.DefaultWebServiceBindingFactory;
-import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ReferenceBindingProvider;
-import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl;
-import org.apache.tuscany.sca.domain.SCADomainEventService;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.wsdl.java2wsdl.Java2WSDLHelper;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * The reference binding provider for the remote sca binding implementation. Relies on the
- * binding-ws-axis implementation for sending messages to remote services to this provider
- * just uses the ws-axis provider.
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCAReferenceBindingProvider implements ReferenceBindingProvider {
-
- private final static Logger logger = Logger.getLogger(Axis2SCAReferenceBindingProvider.class.getName());
-
- private NodeFactory nodeFactory;
- private RuntimeComponent component;
- private RuntimeComponentReference reference;
- private SCABinding binding;
- private Axis2ReferenceBindingProvider axisReferenceBindingProvider;
- private WebServiceBinding wsBinding;
-
- private EndpointReference serviceEPR = null;
- private EndpointReference callbackEPR = null;
-
- public Axis2SCAReferenceBindingProvider(NodeFactory nodeFactory,
- RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory) {
- this.nodeFactory = nodeFactory;
- this.component = component;
- this.reference = reference;
- this.binding = binding.getSCABinding();
- wsBinding = (new DefaultWebServiceBindingFactory()).createWebServiceBinding();
-
- // Turn the java interface contract into a wsdl interface contract
- InterfaceContract contract = reference.getInterfaceContract();
- if ((contract instanceof JavaInterfaceContract)) {
- contract = Java2WSDLHelper.createWSDLInterfaceContract((JavaInterfaceContract)contract);
- }
-
- // Set to use the Axiom data binding
- contract.getInterface().resetDataBinding(OMElement.class.getName());
-
- wsBinding.setBindingInterfaceContract(contract);
- wsBinding.setName(this.binding.getName());
-
- axisReferenceBindingProvider = new Axis2ReferenceBindingProvider(component,
- reference,
- wsBinding,
- servletHost,
- messageFactory);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return wsBinding.getBindingInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public Invoker createInvoker(Operation operation) {
- return new Axis2SCABindingInvoker(this, axisReferenceBindingProvider.createInvoker(operation));
- }
-
- /**
- * Uses the distributed domain service discovery feature to locate remote
- * service endpoints
- *
- * @return An EPR for the target service that this reference refers to
- */
- public EndpointReference getServiceEndpoint(){
-
- String endpointURL = null;
-
- if (binding.getURI() != null) {
- // check if the binding URI is already resolved if it is use is if not
- try {
- URI uri = new URI(binding.getURI());
- if (uri.isAbsolute()) {
- endpointURL = binding.getURI();
- }
- } catch(Exception ex) {
- // do nothing
- }
-
- if ( endpointURL == null) {
- SCADomainEventService domainProxy = (SCADomainEventService)nodeFactory.getNode().getDomain();
-
- try {
- endpointURL = domainProxy.findServiceEndpoint(nodeFactory.getNode().getDomain().getURI(),
- binding.getURI(),
- binding.getClass().getName());
- } catch (Exception ex) {
- logger.log(Level.WARNING,
- "Unable to find service service: " +
- nodeFactory.getNode().getDomain().getURI() + " " +
- nodeFactory.getNode().getURI() + " " +
- binding.getURI() + " " +
- binding.getClass().getName());
- }
-
- if (endpointURL.equals(domainProxy.SERVICE_NOT_REGISTERED)){
- throw new IllegalStateException("Can't resolve reference as no SCA binding URI is available while trying to find target service. Component: "+
- component.getName() +
- " and reference: " +
- reference.getName() );
- }
- }
- }
-
- binding.setURI(endpointURL);
-
- serviceEPR = new EndpointReferenceImpl(binding.getURI());
-
-
-/*
- if ( serviceEPR == null && nodeFactory.getNode() != null ){
- // try to resolve the service endpoint with the registry
- SCADomainEventService domainProxy = (SCADomainEventService)nodeFactory.getNode().getDomain();
-
- if (domainProxy != null){
-
- // The binding URI might be null in the case where this reference is completely
- // dynamic, for example, in the case of callbacks
- String bindingURIString = binding.getURI();
- if (bindingURIString != null) {
- String serviceURL = null;
- URI bindingURI = null;
-
- // first time through here assume that the binding URI is correct
- try {
- bindingURI = new URI(bindingURIString);
- if (bindingURI.isAbsolute()){
- serviceURL = bindingURIString;
- }
- } catch(Exception ex) {
-
- }
-
- if ( serviceURL == null) {
- try {
- serviceURL = domainProxy.findServiceEndpoint(nodeFactory.getNode().getDomain().getURI(),
- bindingURI.getPath(),
- binding.getClass().getName());
- } catch (Exception ex) {
- logger.log(Level.WARNING,
- "Unable to find service service: " +
- nodeFactory.getNode().getDomain().getURI() + " " +
- nodeFactory.getNode().getURI() + " " +
- binding.getURI() + " " +
- binding.getClass().getName());
- }
- }
-
- if ( (serviceURL != null ) &&
- (!serviceURL.equals(""))){
- serviceEPR = new EndpointReferenceImpl(serviceURL);
- }
- }
- } else {
- throw new IllegalStateException("No domain service available while trying to find component: "+
- component.getName() +
- " and service: " +
- reference.getName());
- }
- }
-*/
-
- return serviceEPR;
- }
-
- /**
- * Go back to the distributed domain to go and get the service endpoint
- *
- * @return An EPR for the target service that this reference refers to
- */
- public EndpointReference refreshServiceEndpoint(){
- serviceEPR= null;
- return getServiceEndpoint();
- }
-
- /**
- * Retrieves the uri of the callback service (that this reference has created)
- * returns null if there is no callback service for the sca binding
- *
- * @return the callback endpoint
- */
- public EndpointReference getCallbackEndpoint(){
- if (callbackEPR == null) {
- if (reference.getCallbackService() != null) {
- for (Binding callbackBinding : reference.getCallbackService().getBindings()) {
- if (callbackBinding instanceof SCABinding) {
- callbackEPR = new EndpointReferenceImpl(reference.getName() + "/" + callbackBinding.getName());
- continue;
- }
- }
- }
- }
- return callbackEPR;
- }
-
-
- public SCABinding getSCABinding () {
- return binding;
- }
-
- public RuntimeComponent getComponent () {
- return component;
- }
-
- public RuntimeComponentReference getComponentReference () {
- return reference;
- }
-
- public void start() {
- // Try and resolve the service endpoint just in case it is available now
- // getServiceEndpoint();
- axisReferenceBindingProvider.start();
- }
-
- public void stop() {
- axisReferenceBindingProvider.stop();
- }
-
-}
diff --git a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java b/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java
deleted file mode 100644
index 83e8c02938..0000000000
--- a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import java.util.logging.Logger;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.sca.DistributedSCABinding;
-import org.apache.tuscany.sca.binding.ws.DefaultWebServiceBindingFactory;
-import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.wsdl.java2wsdl.Java2WSDLHelper;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * The service binding provider for the remote sca binding implementation. Relies on the
- * binding-ws-axis implementation for providing a remote message endpoint for this service
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCAServiceBindingProvider implements ServiceBindingProvider {
-
- private final static Logger logger = Logger.getLogger(Axis2SCAServiceBindingProvider.class.getName());
-
- private NodeFactory nodeFactory;
- private SCABinding binding;
- private Axis2ServiceProvider axisProvider;
- private WebServiceBinding wsBinding;
-
- private boolean started = false;
-
-
- public Axis2SCAServiceBindingProvider(NodeFactory nodeFactory,
- RuntimeComponent component,
- RuntimeComponentService service,
- DistributedSCABinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory) {
- this.nodeFactory = nodeFactory;
- this.binding = binding.getSCABinding();
- wsBinding = (new DefaultWebServiceBindingFactory()).createWebServiceBinding();
-
- // Turn the java interface contract into a wsdl interface contract
- InterfaceContract contract = service.getInterfaceContract();
- if ((contract instanceof JavaInterfaceContract)) {
- contract = Java2WSDLHelper.createWSDLInterfaceContract((JavaInterfaceContract)contract);
- }
-
- // Set to use the Axiom data binding
- contract.getInterface().resetDataBinding(OMElement.class.getName());
-
- wsBinding.setBindingInterfaceContract(contract);
- wsBinding.setName(this.binding.getName());
- wsBinding.setURI(this.binding.getURI());
-
- axisProvider = new Axis2SCAServiceProvider(component,
- service,
- this.binding,
- wsBinding,
- servletHost,
- messageFactory);
-
- this.binding.setURI(wsBinding.getURI());
-
-/*
- if ((nodeFactory != null) && (nodeFactory.getNode() != null)){
-
- SCADomainEventService domainProxy = (SCADomainEventService)nodeFactory.getNode().getDomain();
-
- if (domainProxy != null) {
-
- // work out what the component service name is that will be registered
- // it should be the path element of the binding uri
- String componentServiceName = this.binding.getURI();
-
- try {
- URI servicePath = new URI(this.binding.getURI());
- componentServiceName = servicePath.getPath();
-
- // strip any leading slash
- if (componentServiceName.charAt(0) == '/'){
- componentServiceName = componentServiceName.substring(1, componentServiceName.length());
- }
- } catch(Exception ex) {
- // do nothing, the binding uri string will be used
- }
-
- // work out what the endpoint address is that the component service name will be registered
- // against. Be default this is the url calculated by the web services binding but
- // we have to adjust that to:
- // 1. correct the host and port in the case that this is a web app as the container controls the port
- // 2. correct the host name in the case that it's localhost
- String componentServiceUrlString = wsBinding.getURI();
- URI componentServiceUrl = URI.create(componentServiceUrlString);
-
- String newHost = componentServiceUrl.getHost();
- int newPort = componentServiceUrl.getPort();
-
- // TODO - could do with a change to the ServletHost API so that we can just ask the servlet
- // host if it is controlling the URL
- if (servletHost.getClass().getName().equals("WebbAppServletHost")){
- // the service URL will likely be completely different to that
- // calculated by the ws binding so replace it with the node url
- // The node url will have been set via init parameters in the web app
- URL nodeUrl;
- try {
- URI tmpURI = new URI(nodeFactory.getNode().getURI());
- nodeUrl = tmpURI.toURL();
- } catch (Exception ex) {
- throw new IllegalStateException("Node running inside a webapp and node was not created with a valid node url");
- }
-
- if (nodeUrl != null){
- newHost = nodeUrl.getHost();
- newPort = nodeUrl.getPort();
- } else {
- throw new IllegalStateException("Node running inside a webapp and node was not created with a valid node url");
- }
- }
-
- // no good registering localhost as a host name when nodes are spread across
- // machines
- if ( newHost == null || newHost.equals("localhost")){
- try {
- newHost = InetAddress.getLocalHost().getHostName();
- } catch(UnknownHostException ex) {
- throw new IllegalStateException("Got unknown host while trying to get the local host name in order to regsiter service with the domain");
- }
- }
- if (newPort == -1) {
- newPort = 8080;
- }
-
- // replace the old with the new
- try {
- componentServiceUrl = new URI(componentServiceUrl.getScheme() == null? "http" : componentServiceUrl.getScheme(),
- componentServiceUrl.getUserInfo(),
- newHost, newPort,
- componentServiceUrl.getPath(),
- componentServiceUrl.getQuery(),
- componentServiceUrl.getFragment());
- componentServiceUrlString = componentServiceUrl.toString();
- } catch (URISyntaxException e) {
- throw new IllegalStateException(e);
- }
-
- try {
- domainProxy.registerServiceEndpoint(nodeFactory.getNode().getDomain().getURI(),
- nodeFactory.getNode().getURI(),
- componentServiceName,
- SCABinding.class.getName(),
- componentServiceUrlString);
- } catch(Exception ex) {
- logger.log(Level.WARNING,
- "Unable to register service: " +
- nodeFactory.getNode().getDomain().getURI() + " " +
- nodeFactory.getNode().getURI() + " " +
- componentServiceName + " " +
- SCABinding.class.getName() + " " +
- componentServiceUrlString);
- }
- }
- } else {
- throw new IllegalStateException("No domain available for component: "+
- component.getName() +
- " and service: " +
- service.getName());
- }
-*/
-
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return wsBinding.getBindingInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- if (started) {
- return;
- } else {
- started = true;
- }
-
- axisProvider.start();
- }
-
- public void stop() {
- if (!started) {
- return;
- } else {
- started = false;
- }
-
- axisProvider.stop();
- }
-
-}
diff --git a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java b/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java
deleted file mode 100644
index fd7b2cdb29..0000000000
--- a/branches/sca-java-1.1/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * A specialization of the Axis2BindingProvider that just switches in the SCABinding model
- * element when it is required. The SCABinding is required as the service binding provider
- * finds the service wire based in the binding
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCAServiceProvider extends Axis2ServiceProvider {
-
- private SCABinding binding;
-
- /**
- * Switch in the fake ws binding
- *
- * @param component
- * @param service
- * @param binding
- * @param wsBinding
- * @param servletHost
- * @param messageFactory
- */
- public Axis2SCAServiceProvider(RuntimeComponent component,
- RuntimeComponentService service,
- SCABinding binding,
- WebServiceBinding wsBinding,
- ServletHost servletHost,
- MessageFactory messageFactory) {
-
- super(component,
- service,
- wsBinding,
- servletHost,
- messageFactory);
-
- this.binding = binding;
- }
-
- /**
- * Return the sca binding as wires will be registered against this rather
- * than against the wsBinding that the Axis2SCAServiceProvider is
- * expecting
- *
- * @return the binding
- */
- @Override
- protected Binding getBinding(){
- return binding;
- }
-}