You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ve...@apache.org on 2010/01/24 10:56:39 UTC
svn commit: r902543 - in /webservices/axis2/scratch/java/veithen: ./
AXIS2-4611/ AXIS2-4611/jaxws-aar-deployer/
AXIS2-4611/jaxws-aar-deployer/src/ AXIS2-4611/jaxws-aar-deployer/src/main/
AXIS2-4611/jaxws-aar-deployer/src/main/java/ AXIS2-4611/jaxws-aar...
Author: veithen
Date: Sun Jan 24 09:56:38 2010
New Revision: 902543
URL: http://svn.apache.org/viewvc?rev=902543&view=rev
Log:
Added a proof-of-concept for AXIS2-4611 to my scratch area.
Added:
webservices/axis2/scratch/java/veithen/
webservices/axis2/scratch/java/veithen/AXIS2-4611/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml (with props)
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java (with props)
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml (with props)
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java (with props)
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService.wsdl
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService_schema1.xsd
webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml (with props)
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml Sun Jan 24 09:56:38 2010
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-parent</artifactId>
+ <version>SNAPSHOT</version>
+ </parent>
+ <artifactId>axis2-jaxws-aar-deployer</artifactId>
+ <name>Apache Axis2 - JAXWS AAR Deployer (PoC)</name>
+ <description>Proof of concept of a deployer capable of deploying JAX-WS services from an AAR file.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-jaxws</artifactId>
+ <version>${version}</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>legal-files</id>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache.axis2:axis2-resource-bundle:${pom.version}</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java Sun Jan 24 09:56:38 2010
@@ -0,0 +1,290 @@
+/*
+ * 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.axis2.jaxws.deployer;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.deployment.Deployer;
+import org.apache.axis2.deployment.DeploymentEngine;
+import org.apache.axis2.deployment.DeploymentErrorMsgs;
+import org.apache.axis2.deployment.DeploymentException;
+import org.apache.axis2.deployment.repository.util.ArchiveReader;
+import org.apache.axis2.deployment.repository.util.DeploymentFileData;
+import org.apache.axis2.deployment.util.Utils;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.AxisServiceGroup;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.i18n.Messages;
+import org.apache.axis2.jaxws.description.DescriptionFactory;
+import org.apache.axis2.jaxws.server.JAXWSMessageReceiver;
+import org.apache.axis2.util.Loader;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class JAXWSAARDeployer implements Deployer {
+ private static final Log log = LogFactory.getLog(JAXWSAARDeployer.class);
+ private AxisConfiguration axisConfig;
+ private ConfigurationContext configCtx;
+ private String directory;
+
+ //To initialize the deployer
+ public void init(ConfigurationContext configCtx) {
+ this.configCtx = configCtx;
+ this.axisConfig = this.configCtx.getAxisConfiguration();
+ }
+
+ protected HashMap<String,AxisService> deployClasses(URL location,
+ ClassLoader classLoader, List<String> classList)
+ throws ClassNotFoundException, InstantiationException,
+ IllegalAccessException, AxisFault {
+ HashMap<String,AxisService> services = new HashMap<String,AxisService>();
+ // Get the hierarchical path of the service
+ String serviceHierarchy = Utils.getServiceHierarchy(location.getPath(),
+ this.directory);
+ for (String className : classList) {
+ Class<?> pojoClass;
+ try {
+ pojoClass = Loader.loadClass(classLoader, className);
+ } catch (Exception e) {
+ continue;
+ }
+ WebService wsAnnotation = pojoClass.getAnnotation(WebService.class);
+ WebServiceProvider wspAnnotation = null;
+ if (wsAnnotation == null) {
+ wspAnnotation = pojoClass
+ .getAnnotation(WebServiceProvider.class);
+ }
+
+ // Create an Axis Service only if the class is not an interface and
+ // it has either
+ // @WebService annotation or @WebServiceProvider annotation.
+ if ((wsAnnotation != null || wspAnnotation != null)
+ && !pojoClass.isInterface()) {
+ AxisService axisService;
+ axisService = createAxisService(classLoader, className,
+ location);
+ if (axisService != null) {
+ log.info("Deploying JAXWS annotated class " + className
+ + " as a service - " + serviceHierarchy
+ + axisService.getName());
+ services.put(axisService.getName(), axisService);
+ }
+ }
+ }
+ return services;
+ }
+
+ protected AxisService createAxisService(ClassLoader classLoader,
+ String className, URL serviceLocation)
+ throws ClassNotFoundException, InstantiationException,
+ IllegalAccessException, AxisFault {
+ Class<?> pojoClass = Loader.loadClass(classLoader, className);
+ AxisService axisService;
+ try {
+ axisService = DescriptionFactory.createAxisService(pojoClass,
+ configCtx);
+ } catch (Throwable t) {
+ log.info("Exception creating Axis Service : " + t.getCause(), t);
+ return null;
+ }
+ if (axisService != null) {
+ Iterator<AxisOperation> operations = axisService.getOperations();
+ while (operations.hasNext()) {
+ AxisOperation axisOperation = operations.next();
+ if (axisOperation.getMessageReceiver() == null) {
+ axisOperation
+ .setMessageReceiver(new JAXWSMessageReceiver());
+ }
+ }
+ axisService.setElementFormDefault(false);
+ axisService.setFileName(serviceLocation);
+ axisService.setClassLoader(classLoader);
+ axisService.addParameter(new Parameter(
+ org.apache.axis2.jaxws.spi.Constants.CACHE_CLASSLOADER,
+ classLoader));
+ }
+ return axisService;
+ }
+
+ //Will process the file and add that to axisConfig
+
+ public void deploy(DeploymentFileData deploymentFileData) throws DeploymentException {
+ boolean isDirectory = deploymentFileData.getFile().isDirectory();
+ ArchiveReader archiveReader;
+ StringWriter errorWriter = new StringWriter();
+ archiveReader = new ArchiveReader();
+ String serviceStatus = "";
+ try {
+ deploymentFileData.setClassLoader(isDirectory,
+ axisConfig.getServiceClassLoader(),
+ (File)axisConfig.getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR),
+ axisConfig.isChildFirstClassLoading());
+// HashMap<String,AxisService> wsdlservice = archiveReader.processWSDLs(deploymentFileData);
+// if (wsdlservice != null && wsdlservice.size() > 0) {
+// for (AxisService service : wsdlservice.values()) {
+// Iterator<AxisOperation> operations = service.getOperations();
+// while (operations.hasNext()) {
+// AxisOperation axisOperation = operations.next();
+// axisConfig.getPhasesInfo().setOperationPhases(axisOperation);
+// }
+// }
+// }
+ HashMap<String,AxisService> wsdlservice;
+ ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(deploymentFileData.getClassLoader());
+ wsdlservice = deployClasses(deploymentFileData.getFile().toURL(), deploymentFileData.getClassLoader(), Utils.getListOfClasses(deploymentFileData));
+ } finally {
+ Thread.currentThread().setContextClassLoader(threadClassLoader);
+ }
+ AxisServiceGroup serviceGroup = new AxisServiceGroup(axisConfig);
+ serviceGroup.setServiceGroupClassLoader(deploymentFileData.getClassLoader());
+ ArrayList<AxisService> serviceList = archiveReader.processServiceGroup(
+ deploymentFileData.getAbsolutePath(), deploymentFileData,
+ serviceGroup, isDirectory, wsdlservice,
+ configCtx);
+ URL location = deploymentFileData.getFile().toURL();
+
+ // Add the hierarchical path to the service group
+ if (location != null) {
+ String serviceHierarchy = Utils.getServiceHierarchy(location.getPath(),
+ this.directory);
+ if (!"".equals(serviceHierarchy)) {
+ serviceGroup.setServiceGroupName(serviceHierarchy
+ + serviceGroup.getServiceGroupName());
+ for (AxisService axisService : serviceList) {
+ axisService.setName(serviceHierarchy + axisService.getName());
+ }
+ }
+ }
+ DeploymentEngine.addServiceGroup(serviceGroup,
+ serviceList,
+ location,
+ deploymentFileData,
+ axisConfig);
+
+ } catch (DeploymentException de) {
+ de.printStackTrace();
+ log.error(Messages.getMessage(DeploymentErrorMsgs.INVALID_SERVICE,
+ deploymentFileData.getName(),
+ de.getMessage()),
+ de);
+ PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+ de.printStackTrace(error_ptintWriter);
+ serviceStatus = "Error:\n" + errorWriter.toString();
+
+ throw de;
+
+ } catch (AxisFault axisFault) {
+ log.error(Messages.getMessage(DeploymentErrorMsgs.INVALID_SERVICE,
+ deploymentFileData.getName(),
+ axisFault.getMessage()),
+ axisFault);
+ PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+ axisFault.printStackTrace(error_ptintWriter);
+ serviceStatus = "Error:\n" + errorWriter.toString();
+
+ throw new DeploymentException(axisFault);
+
+ } catch (Exception e) {
+ if (log.isInfoEnabled()) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ e.printStackTrace(pw);
+ log.info(Messages.getMessage(
+ DeploymentErrorMsgs.INVALID_SERVICE,
+ deploymentFileData.getName(),
+ sw.getBuffer().toString()));
+ }
+ PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+ e.printStackTrace(error_ptintWriter);
+ serviceStatus = "Error:\n" + errorWriter.toString();
+
+ throw new DeploymentException(e);
+
+ } catch (Throwable t) {
+ if (log.isInfoEnabled()) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ t.printStackTrace(pw);
+ log.info(Messages.getMessage(
+ DeploymentErrorMsgs.INVALID_SERVICE,
+ deploymentFileData.getName(),
+ sw.getBuffer().toString()));
+ }
+ PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+ t.printStackTrace(error_ptintWriter);
+ serviceStatus = "Error:\n" + errorWriter.toString();
+
+ throw new DeploymentException(new Exception(t));
+
+ } finally {
+ if (serviceStatus.startsWith("Error:")) {
+ axisConfig.getFaultyServices().put(deploymentFileData.getFile().getAbsolutePath(),
+ serviceStatus);
+ }
+ }
+ }
+
+ public void setDirectory(String directory) {
+ this.directory = directory;
+ }
+
+ public void setExtension(String extension) {
+ }
+
+ public void unDeploy(String fileName) throws DeploymentException {
+ try {
+ //find the hierarchical part of the service group name
+ String serviceHierarchy = Utils.getServiceHierarchy(fileName, this.directory);
+ fileName = Utils.getShortFileName(fileName);
+ fileName = DeploymentEngine.getAxisServiceName(fileName);
+ fileName = serviceHierarchy + fileName;
+ AxisServiceGroup serviceGroup = axisConfig.removeServiceGroup(fileName);
+ if (serviceGroup != null) {
+ configCtx.removeServiceGroupContext(serviceGroup);
+ log.info(Messages.getMessage(DeploymentErrorMsgs.SERVICE_REMOVED,
+ fileName));
+ } else {
+ axisConfig.removeFaultyService(fileName);
+ }
+ } catch (AxisFault axisFault) {
+ //May be a faulty service
+ axisConfig.removeFaultyService(fileName);
+
+ throw new DeploymentException(axisFault);
+ }
+ }
+}
Propchange: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-aar-deployer/src/main/java/org/apache/axis2/jaxws/deployer/JAXWSAARDeployer.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml Sun Jan 24 09:56:38 2010
@@ -0,0 +1,111 @@
+<!--
+ ~ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.axis2.samples</groupId>
+ <artifactId>jaxws-calculator-aar</artifactId>
+ <packaging>aar</packaging>
+ <version>SNAPSHOT</version>
+ <name>JAXWS Calculator Service (AAR packaging)</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxws-maven-plugin</artifactId>
+ <version>1.12</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>wsimport</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <wsdlDirectory>src/main/resources/META-INF</wsdlDirectory>
+ <wsdlFiles>
+ <wsdlFile>CalculatorService.wsdl</wsdlFile>
+ </wsdlFiles>
+ <wsdlLocation>META-INF/CalculatorService.wsdl</wsdlLocation>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.xml.ws</groupId>
+ <artifactId>jaxws-tools</artifactId>
+ <version>2.1.7</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-aar-maven-plugin</artifactId>
+ <version>1.5.1</version>
+ <extensions>true</extensions>
+ <configuration>
+ <includeDependencies>false</includeDependencies>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.xml.ws</groupId>
+ <artifactId>jaxws-rt</artifactId>
+ <version>2.1.7</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <repositories>
+ <repository>
+ <id>apache-m2</id>
+ <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ <repository>
+ <id>apache-snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
+ </repository>
+ <repository>
+ <id>maven2</id>
+ <url>http://repo1.maven.org/maven2/</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache-m2</id>
+ <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>apache-snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>maven2</id>
+ <url>http://repo1.maven.org/maven2/</url>
+ </pluginRepository>
+ </pluginRepositories>
+</project>
Propchange: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java Sun Jan 24 09:56:38 2010
@@ -0,0 +1,37 @@
+/*
+* 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.axis2.jaxws.calculator.impl;
+
+import javax.jws.WebService;
+import javax.xml.ws.soap.Addressing;
+
+import org.apache.axis2.jaxws.calculator.Calculator;
+
+@Addressing
+@WebService(endpointInterface = "org.apache.axis2.jaxws.calculator.Calculator",
+ serviceName = "CalculatorService",
+ portName = "CalculatorServicePort",
+ targetNamespace = "http://calculator.jaxws.axis2.apache.org",
+ wsdlLocation = "META-INF/CalculatorService.wsdl")
+public class CalculatorImpl implements Calculator {
+ public int add(int value1, int value2) {
+ System.out.println("value1: " + value1 + " value2: " + value2);
+ return value1 + value2;
+ }
+}
\ No newline at end of file
Propchange: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService.wsdl?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService.wsdl (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService.wsdl Sun Jan 24 09:56:38 2010
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<definitions targetNamespace="http://calculator.jaxws.axis2.apache.org" name="CalculatorService"
+ xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://calculator.jaxws.axis2.apache.org"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+ <types>
+ <xsd:schema>
+ <xsd:import namespace="http://calculator.jaxws.axis2.apache.org"
+ schemaLocation="CalculatorService_schema1.xsd"/>
+ </xsd:schema>
+ </types>
+ <message name="add">
+ <part name="parameters" element="tns:add"/>
+ </message>
+ <message name="addResponse">
+ <part name="parameters" element="tns:addResponse"/>
+ </message>
+ <portType name="Calculator">
+ <operation name="add">
+ <input wsaw:Action="http://calculator.jaxws.axis2.apache.org/add" message="tns:add"/>
+ <output wsaw:Action="http://calculator.jaxws.axis2.apache.org/addResponse" message="tns:addResponse"/>
+ </operation>
+ </portType>
+ <binding name="CalculatorServicePortBinding" type="tns:Calculator">
+ <wsaw:UsingAddressing/>
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+ <operation name="add">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="CalculatorService">
+ <port name="CalculatorServicePort" binding="tns:CalculatorServicePortBinding">
+ <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
+ </port>
+ </service>
+</definitions>
+
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService_schema1.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService_schema1.xsd?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService_schema1.xsd (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/CalculatorService_schema1.xsd Sun Jan 24 09:56:38 2010
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://calculator.jaxws.axis2.apache.org"
+ xmlns:tns="http://calculator.jaxws.axis2.apache.org" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="add" type="tns:add"/>
+
+ <xs:element name="addResponse" type="tns:addResponse"/>
+
+ <xs:complexType name="add">
+ <xs:sequence>
+ <xs:element name="value1" type="xs:int" form="qualified"/>
+ <xs:element name="value2" type="xs:int" form="qualified"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="addResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:int" form="qualified"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
Added: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml?rev=902543&view=auto
==============================================================================
--- webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml (added)
+++ webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml Sun Jan 24 09:56:38 2010
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<service name="CalculatorService.CalculatorServicePort">
+ <description>Calculator service</description>
+ <messageReceivers>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
+ </messageReceivers>
+ <parameter name="ServiceClass">org.apache.axis2.jaxws.calculator.impl.CalculatorImpl</parameter>
+</service>
Propchange: webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/resources/META-INF/services.xml
------------------------------------------------------------------------------
svn:eol-style = native