diff options
Diffstat (limited to 'branches/sca-java-1.2/modules/binding-sca-axis2/src/main')
6 files changed, 0 insertions, 832 deletions
diff --git a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java deleted file mode 100644 index b067fae901..0000000000 --- a/branches/sca-java-1.2/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.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java deleted file mode 100644 index 6ced6de979..0000000000 --- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java +++ /dev/null @@ -1,78 +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.List; -import java.util.Map; - -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.policy.util.PolicyHandlerDefinitionsLoader; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -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; - private Map<ClassLoader, List<PolicyHandlerTuple>> policyHandlerClassnames = 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); - policyHandlerClassnames = PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames(); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding) { - return new Axis2SCAReferenceBindingProvider(nodeFactory, component, reference, binding, servletHost, messageFactory, policyHandlerClassnames); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - return new Axis2SCAServiceBindingProvider(nodeFactory, component, service, binding, servletHost, messageFactory, policyHandlerClassnames); - } - - public Class<DistributedSCABinding> getModelType() { - return DistributedSCABinding.class; - } -} diff --git a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java deleted file mode 100644 index fd9061b852..0000000000 --- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java +++ /dev/null @@ -1,277 +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.List; -import java.util.Map; -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.policy.util.PolicyHandlerTuple; -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, - Map<ClassLoader, List<PolicyHandlerTuple>> policyHandlerClassnames) { - 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, - policyHandlerClassnames); - } - - 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.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java deleted file mode 100644 index d51f3caaec..0000000000 --- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java +++ /dev/null @@ -1,231 +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.List; -import java.util.Map; -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.policy.util.PolicyHandlerTuple; -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, - Map<ClassLoader, List<PolicyHandlerTuple>> policyHandlerClassnames) { - 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, - policyHandlerClassnames); - - 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.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java deleted file mode 100644 index 076648c78b..0000000000 --- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java +++ /dev/null @@ -1,85 +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.List; -import java.util.Map; - -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.policy.util.PolicyHandlerTuple; -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, - Map<ClassLoader, List<PolicyHandlerTuple>> policyHandlerClassnames) { - - super(component, - service, - wsBinding, - servletHost, - messageFactory, - policyHandlerClassnames); - - 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; - } -} diff --git a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 1b369cde06..0000000000 --- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.sca.axis2.impl.Axis2SCABindingProviderFactory;model=org.apache.tuscany.sca.binding.sca.DistributedSCABinding
|