diff options
9 files changed, 2445 insertions, 0 deletions
diff --git a/java/sca/itest/databindings/jaxb-top-down/pom.xml b/java/sca/itest/databindings/jaxb-top-down/pom.xml new file mode 100644 index 0000000000..aef3be7337 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/pom.xml @@ -0,0 +1,194 @@ +<?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. +--> + +<!-- $Rev$ $Date$ --> + +<project> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-databindings</artifactId> + <version>1.4-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + + <artifactId>itest-databindings-jaxb-top-down</artifactId> + <version>1.4-SNAPSHOT</version> + <packaging>jar</packaging> + <name>Apache Tuscany SCA Databinding Integration Tests - JAXB Top Down</name> + + <repositories> + <repository> + <snapshots> + <enabled>true</enabled> + </snapshots> + <id>java.net</id> + <name>java.net Maven 1.x Repository</name> + <url>http://download.java.net/maven/1</url> + <layout>legacy</layout> + </repository> + <repository> + <id>java.net2</id> + <name>java.net Maven 2.x Repository</name> + <url>http://download.java.net/maven/2</url> + </repository> + </repositories> + + <pluginRepositories> + <pluginRepository> + <id>java.net2</id> + <name>java.net Maven 2.x Repository</name> + <url>http://download.java.net/maven/2</url> + </pluginRepository> + </pluginRepositories> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node2-impl</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-jaxb</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-sdo</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-axiom</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-databindings-common</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <!-- dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>compile</scope> + </dependency--> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-interface-java-xml</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.1</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>com.sun.xml.ws</groupId> + <artifactId>jaxws-rt</artifactId> + <version>2.1.3</version> + </dependency> + <!-- Added by Simon Nash --> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + <version>3.1</version> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>1.2.12</version> + <scope>provided</scope> + </dependency> + <!-- End of addition --> + + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <argLine>-Djava.endorsed.dirs=target/endorsed</argLine> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy</id> + <phase>generate-sources</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>javax.xml.ws</groupId> + <artifactId>jaxws-api</artifactId> + <version>2.1</version> + <type>jar</type> + </artifactItem> + <artifactItem> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.1</version> + <type>jar</type> + </artifactItem> + </artifactItems> + <outputDirectory>${project.build.directory}/endorsed</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java new file mode 100644 index 0000000000..8c0fb24da9 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java @@ -0,0 +1,51 @@ +/* + * 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.itest.databindings.jaxb; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for PrimitivesService. + * + * @version $Rev$ $Date$ + */ +@Remotable +public interface PrimitivesService { + boolean negateBoolean(boolean flag); + boolean[] negateBooleanArray(boolean[] flags); + boolean[] identityBooleanArray(boolean[] flags); + byte negateByte(byte b); + byte[] negateByteArray(byte[] ba); + byte[] identityByteArray(byte[] ba); + short negateShort(short s); + short[] negateShortArray(short[] s); + short[] identityShortArray(short[] sa); + int negateInt(int s); + int[] negateIntArray(int[] s); + int[] identityIntArray(int[] ia); + long negateLong(long l); + long[] negateLongArray(long[] la); + long[] identityLongArray(long[] la); + float negateFloat(float f); + float[] negateFloatArray(float[] fa); + float[] identityFloatArray(float[] fa); + double negateDouble(double d); + double[] negateDoubleArray(double[] da); + double[] identityDoubleArray(double[] da); +} diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java new file mode 100644 index 0000000000..3a5a81bae4 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java @@ -0,0 +1,50 @@ +/* + * 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.itest.databindings.jaxb; + + +/** + * The interface for PrimitivesServiceClient. + * + * @version $Rev$ $Date$ + */ +public interface PrimitivesServiceClient { + boolean negateBooleanForward(boolean flag); + boolean[] negateBooleanArrayForward(boolean[] flags); + boolean passByValueBooleanArray(); + byte negateByteForward(byte b); + byte[] negateByteArrayForward(byte[] ba); + boolean passByValueByteArray(); + short negateShortForward(short s); + short[] negateShortArrayForward(short[] sa); + boolean passByValueShortArray(); + int negateIntForward(int i); + int[] negateIntArrayForward(int[] ia); + boolean passByValueIntArray(); + long negateLongForward(long l); + long[] negateLongArrayForward(long[] la); + boolean passByValueLongArray(); + float negateFloatForward(float f); + float[] negateFloatArrayForward(float[] fa); + boolean passByValueFloatArray(); + double negateDoubleForward(double d); + double[] negateDoubleArrayForward(double[] da); + boolean passByValueDoubleArray(); +} diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java new file mode 100644 index 0000000000..ef1a907b29 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java @@ -0,0 +1,139 @@ +/* + * 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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService; +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of PrimitivesServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + * + * @version $Rev$ $Date$ + */ +@Service(PrimitivesServiceClient.class) +public class PrimitivesServiceClientImpl { + + private PrimitivesService service; + + @Reference + public void setPrimitivesService(PrimitivesService service) { + this.service = service; + } + public boolean negateBooleanForward(boolean flag) { + return service.negateBoolean(flag); + } + + public boolean[] negateBooleanArrayForward(boolean[] flags) { + return service.negateBooleanArray(flags); + } + + public boolean passByValueBooleanArray() { + boolean[] req = new boolean[2]; + boolean[] resp = service.identityBooleanArray(req); + return req != resp; + } + + public byte negateByteForward(byte b) { + return service.negateByte(b); + } + + public byte[] negateByteArrayForward(byte[] ba) { + return service.negateByteArray(ba); + } + + public boolean passByValueByteArray() { + byte[] req = new byte[2]; + byte[] resp = service.identityByteArray(req); + return req != resp; + } + + public short negateShortForward(short s) { + return service.negateShort(s); + } + + public short[] negateShortArrayForward(short[] s) { + return service.negateShortArray(s); + } + + public boolean passByValueShortArray() { + short[] req = new short[2]; + short[] resp = service.identityShortArray(req); + return req != resp; + } + + public int negateIntForward(int i) { + return service.negateInt(i); + } + + public int[] negateIntArrayForward(int[] ia) { + return service.negateIntArray(ia); + } + + public boolean passByValueIntArray() { + int[] req = new int[2]; + int[] resp = service.identityIntArray(req); + return req != resp; + } + + public long negateLongForward(long l) { + return service.negateLong(l); + } + + public long[] negateLongArrayForward(long[] la) { + return service.negateLongArray(la); + } + + public boolean passByValueLongArray() { + long[] req = new long[2]; + long[] resp = service.identityLongArray(req); + return req != resp; + } + + public float negateFloatForward(float f) { + return service.negateFloat(f); + } + + public float[] negateFloatArrayForward(float[] fa) { + return service.negateFloatArray(fa); + } + + public boolean passByValueFloatArray() { + float[] req = new float[2]; + float[] resp = service.identityFloatArray(req); + return req != resp; + } + + public double negateDoubleForward(double d) { + return service.negateDouble(d); + } + + public double[] negateDoubleArrayForward(double[] da) { + return service.negateDoubleArray(da); + } + + public boolean passByValueDoubleArray() { + double[] req = new double[2]; + double[] resp = service.identityDoubleArray(req); + return req != resp; + } +} diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java new file mode 100644 index 0000000000..e60ae41767 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java @@ -0,0 +1,151 @@ +/* + * 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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of PrimitivesService. + * + * @version $Rev$ $Date$ + */ +@Service(interfaces={PrimitivesService.class}) +public class PrimitivesServiceImpl implements PrimitivesService { + + public boolean negateBoolean(boolean flag) { + return !flag; + } + + public boolean[] negateBooleanArray(boolean[] flags) { + boolean[] resp = new boolean[flags.length]; + + for(int i = 0; i < flags.length; ++i) { + resp[i] = !flags[i]; + } + return resp; + } + + public boolean[] identityBooleanArray(boolean[] flags) { + return flags; + } + + public byte negateByte(byte b) { + return (byte)-b; + } + + public byte[] negateByteArray(byte[] ba) { + byte[] resp = new byte[ba.length]; + + for(int i = 0; i < ba.length; ++i) { + resp[i] = (byte)-ba[i]; + } + return resp; + } + + public byte[] identityByteArray(byte[] ba) { + return ba; + } + + public short negateShort(short s) { + return (short)-s; + } + + public short[] negateShortArray(short[] s) { + short[] resp = new short[s.length]; + + for(int i = 0; i < s.length; ++i) { + resp[i] = (short)-s[i]; + } + return resp; + } + + public short[] identityShortArray(short[] sa) { + return sa; + } + + public int negateInt(int i) { + return -i; + } + + public int[] negateIntArray(int[] ia) { + int[] resp = new int[ia.length]; + + for(int i = 0; i < ia.length; ++i) { + resp[i] = -ia[i]; + } + return resp; + } + + public int[] identityIntArray(int[] ia) { + return ia; + } + + public long negateLong(long l) { + return -l; + } + + public long[] negateLongArray(long[] la) { + long[] resp = new long[la.length]; + + for(int i = 0; i < la.length; ++i) { + resp[i] = -la[i]; + } + return resp; + } + + public long[] identityLongArray(long[] la) { + return la; + } + + public float negateFloat(float f) { + return -f; + } + + public float[] negateFloatArray(float[] fa) { + float[] resp = new float[fa.length]; + + for(int i = 0; i < fa.length; ++i) { + resp[i] = -fa[i]; + } + return resp; + } + + public float[] identityFloatArray(float[] fa) { + return fa; + } + + public double negateDouble(double d) { + return -d; + } + + public double[] negateDoubleArray(double[] da) { + double[] resp = new double[da.length]; + + for(int i = 0; i < da.length; ++i) { + resp[i] = -da[i]; + } + return resp; + } + + public double[] identityDoubleArray(double[] da) { + return da; + } +} diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitives-service.wsdl b/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitives-service.wsdl new file mode 100644 index 0000000000..53d5407ad3 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitives-service.wsdl @@ -0,0 +1,927 @@ +<?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. +--> + +<!-- $Rev$ $Date$ --> + +<wsdl:definitions name="PrimitivesService" + targetNamespace="http://jaxb.databindings.itest.sca.tuscany.apache.org/" + xmlns:tns="http://jaxb.databindings.itest.sca.tuscany.apache.org/" + xmlns:soap11="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <wsdl:types> + <xs:schema targetNamespace="http://jaxb.dev.java.net/array" + version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:complexType final="#all" name="shortArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:short" /> + </xs:sequence> + </xs:complexType> + <xs:complexType final="#all" name="intArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:int" /> + </xs:sequence> + </xs:complexType> + <xs:complexType final="#all" name="floatArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:float" /> + </xs:sequence> + </xs:complexType> + <xs:complexType final="#all" name="doubleArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:double" /> + </xs:sequence> + </xs:complexType> + <xs:complexType final="#all" name="longArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:long" /> + </xs:sequence> + </xs:complexType> + <xs:complexType final="#all" name="booleanArray"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="item" nillable="true" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:schema> + <xs:schema attributeFormDefault="qualified" + elementFormDefault="unqualified" + targetNamespace="http://jaxb.databindings.itest.sca.tuscany.apache.org/" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="negateLongArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityByteArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + nillable="true" type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateDoubleArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityFloatArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateLong"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityIntArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateIntResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateLongArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateInt"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateFloatArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityDoubleArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateDouble"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityByteArray"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + nillable="true" type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateByte"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityLongArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateDoubleResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityFloatArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateFloat"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateShortArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateByteArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + nillable="true" type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateLongResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateShortArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateFloatArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateBoolean"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateShort"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateByteArray"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" + nillable="true" type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityBooleanArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityShortArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateBooleanResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateFloatResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:float" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityBooleanArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateBooleanArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateDoubleArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityDoubleArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:double" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateIntArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityIntArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateByteResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:byte" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateBooleanArrayResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="return" nillable="true" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateShortResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" + type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="negateIntArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:int" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityShortArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:short" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="identityLongArray"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" + name="arg0" nillable="true" type="xs:long" /> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:schema> + </wsdl:types> + + <wsdl:message name="negateLongArrayResponse"> + <wsdl:part name="negateLongArrayResponse" + element="tns:negateLongArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityByteArrayResponse"> + <wsdl:part name="identityByteArrayResponse" + element="tns:identityByteArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateDoubleArray"> + <wsdl:part name="negateDoubleArray" + element="tns:negateDoubleArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityFloatArray"> + <wsdl:part name="identityFloatArray" + element="tns:identityFloatArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateLong"> + <wsdl:part name="negateLong" element="tns:negateLong"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityIntArray"> + <wsdl:part name="identityIntArray" + element="tns:identityIntArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateIntResponse"> + <wsdl:part name="negateIntResponse" + element="tns:negateIntResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateLongArray"> + <wsdl:part name="negateLongArray" + element="tns:negateLongArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateInt"> + <wsdl:part name="negateInt" element="tns:negateInt"></wsdl:part> + </wsdl:message> + + <wsdl:message name="negateFloatArrayResponse"> + <wsdl:part name="negateFloatArrayResponse" + element="tns:negateFloatArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityDoubleArrayResponse"> + <wsdl:part name="identityDoubleArrayResponse" + element="tns:identityDoubleArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateDouble"> + <wsdl:part name="negateDouble" element="tns:negateDouble"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityByteArray"> + <wsdl:part name="identityByteArray" + element="tns:identityByteArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateByte"> + <wsdl:part name="negateByte" element="tns:negateByte"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityLongArrayResponse"> + <wsdl:part name="identityLongArrayResponse" + element="tns:identityLongArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateDoubleResponse"> + <wsdl:part name="negateDoubleResponse" + element="tns:negateDoubleResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityFloatArrayResponse"> + <wsdl:part name="identityFloatArrayResponse" + element="tns:identityFloatArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateFloat"> + <wsdl:part name="negateFloat" element="tns:negateFloat"> + </wsdl:part> + </wsdl:message> + + <wsdl:message name="negateShortArrayResponse"> + <wsdl:part name="negateShortArrayResponse" + element="tns:negateShortArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateByteArrayResponse"> + <wsdl:part name="negateByteArrayResponse" + element="tns:negateByteArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateLongResponse"> + <wsdl:part name="negateLongResponse" + element="tns:negateLongResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateShortArray"> + <wsdl:part name="negateShortArray" + element="tns:negateShortArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateFloatArray"> + <wsdl:part name="negateFloatArray" + element="tns:negateFloatArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateBoolean"> + <wsdl:part name="negateBoolean" element="tns:negateBoolean"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateShort"> + <wsdl:part name="negateShort" element="tns:negateShort"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateByteArray"> + <wsdl:part name="negateByteArray" + element="tns:negateByteArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityBooleanArray"> + <wsdl:part name="identityBooleanArray" + element="tns:identityBooleanArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityShortArrayResponse"> + <wsdl:part name="identityShortArrayResponse" + element="tns:identityShortArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateBooleanResponse"> + <wsdl:part name="negateBooleanResponse" + element="tns:negateBooleanResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateFloatResponse"> + <wsdl:part name="negateFloatResponse" + element="tns:negateFloatResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityBooleanArrayResponse"> + <wsdl:part name="identityBooleanArrayResponse" + element="tns:identityBooleanArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateBooleanArray"> + <wsdl:part name="negateBooleanArray" + element="tns:negateBooleanArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateDoubleArrayResponse"> + <wsdl:part name="negateDoubleArrayResponse" + element="tns:negateDoubleArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityDoubleArray"> + <wsdl:part name="identityDoubleArray" + element="tns:identityDoubleArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateIntArrayResponse"> + <wsdl:part name="negateIntArrayResponse" + element="tns:negateIntArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityIntArrayResponse"> + <wsdl:part name="identityIntArrayResponse" + element="tns:identityIntArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateByteResponse"> + <wsdl:part name="negateByteResponse" + element="tns:negateByteResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateBooleanArrayResponse"> + <wsdl:part name="negateBooleanArrayResponse" + element="tns:negateBooleanArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateShortResponse"> + <wsdl:part name="negateShortResponse" + element="tns:negateShortResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="negateIntArray"> + <wsdl:part name="negateIntArray" element="tns:negateIntArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityShortArray"> + <wsdl:part name="identityShortArray" + element="tns:identityShortArray"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="identityLongArray"> + <wsdl:part name="identityLongArray" + element="tns:identityLongArray"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="PrimitivesService"> + <wsdl:operation name="negateBoolean"> + <wsdl:input message="tns:negateBoolean"> + </wsdl:input> + <wsdl:output message="tns:negateBooleanResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateBooleanArray"> + <wsdl:input message="tns:negateBooleanArray"></wsdl:input> + <wsdl:output message="tns:negateBooleanArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityBooleanArray"> + <wsdl:input message="tns:identityBooleanArray"></wsdl:input> + <wsdl:output message="tns:identityBooleanArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateByte"> + <wsdl:input message="tns:negateByte"> + </wsdl:input> + <wsdl:output message="tns:negateByteResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateByteArray"> + <wsdl:input message="tns:negateByteArray"></wsdl:input> + <wsdl:output message="tns:negateByteArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityByteArray"> + <wsdl:input message="tns:identityByteArray"></wsdl:input> + <wsdl:output message="tns:identityByteArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateShort"> + <wsdl:input message="tns:negateShort"> + </wsdl:input> + <wsdl:output message="tns:negateShortResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateShortArray"> + <wsdl:input message="tns:negateShortArray"></wsdl:input> + <wsdl:output message="tns:negateShortArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityShortArray"> + <wsdl:input message="tns:identityShortArray"></wsdl:input> + <wsdl:output message="tns:identityShortArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateInt"> + <wsdl:input message="tns:negateInt"> + </wsdl:input> + <wsdl:output message="tns:negateIntResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateIntArray"> + <wsdl:input message="tns:negateIntArray"></wsdl:input> + <wsdl:output message="tns:negateIntArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityIntArray"> + <wsdl:input message="tns:identityIntArray"></wsdl:input> + <wsdl:output message="tns:identityIntArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateLong"> + <wsdl:input message="tns:negateLong"> + </wsdl:input> + <wsdl:output message="tns:negateLongResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateLongArray"> + <wsdl:input message="tns:negateLongArray"></wsdl:input> + <wsdl:output message="tns:negateLongArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityLongArray"> + <wsdl:input message="tns:identityLongArray"></wsdl:input> + <wsdl:output message="tns:identityLongArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateFloat"> + <wsdl:input message="tns:negateFloat"> + </wsdl:input> + <wsdl:output message="tns:negateFloatResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateFloatArray"> + <wsdl:input message="tns:negateFloatArray"></wsdl:input> + <wsdl:output message="tns:negateFloatArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityFloatArray"> + <wsdl:input message="tns:identityFloatArray"></wsdl:input> + <wsdl:output message="tns:identityFloatArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateDouble"> + <wsdl:input message="tns:negateDouble"> + </wsdl:input> + <wsdl:output message="tns:negateDoubleResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateDoubleArray"> + <wsdl:input message="tns:negateDoubleArray"></wsdl:input> + <wsdl:output message="tns:negateDoubleArrayResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityDoubleArray"> + <wsdl:input message="tns:identityDoubleArray"></wsdl:input> + <wsdl:output message="tns:identityDoubleArrayResponse"> + </wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="PrimitivesServiceBinding" + type="tns:PrimitivesService"> + <soap11:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="negateBoolean"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateBooleanArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityBooleanArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateByte"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateByteArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityByteArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateShort"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateShortArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityShortArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateInt"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateIntArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityIntArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateLong"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateLongArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityLongArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateFloat"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateFloatArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityFloatArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateDouble"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="negateDoubleArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="identityDoubleArray"> + <soap11:operation /> + <wsdl:input> + <soap11:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap11:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="PrimitivesServiceService"> + <wsdl:port name="PrimitivesServicePort" + binding="tns:PrimitivesServiceBinding"> + <soap11:address location="http://localhost:8085/ps-ep" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitivesservice.composite b/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitivesservice.composite new file mode 100644 index 0000000000..85ca6d0789 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/main/resources/wsdl/wrapped/primitivesservice.composite @@ -0,0 +1,80 @@ +<?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. +--> + +<!-- $Rev$ $Date$ --> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://jaxb.databindings.itest.sca.tuscany.apache.org/" + xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance" + name="PrimitivesService"> + + <!-- Clients to test the service --> + <!-- A PrimitivesServiceClient component that uses WS binding to invoke PrimitivesService. + The service component uses interface.wsdl on the service element. + This client component uses interface.wsdl on the reference element. --> + <component name="PrimitivesServiceClientW2WComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceClientImpl" /> + <reference name="primitivesService"> + <interface.wsdl interface="http://jaxb.databindings.itest.sca.tuscany.apache.org/#wsdl.interface(PrimitivesService)"/> + <binding.ws uri="http://localhost:8085/ps-ep-w"/> + </reference> + </component> + + <!-- A PrimitivesServiceClient component that uses WS binding to invoke PrimitivesService. + The service component uses interface.wsdl on the service element. + This client component uses interface.java on the reference element. --> + <component name="PrimitivesServiceClientJ2WComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceClientImpl" /> + <reference name="primitivesService"> + <interface.java interface="org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService"/> + <binding.ws uri="http://localhost:8085/ps-ep-w"/> + </reference> + </component> + + <!-- A PrimitivesServiceClient component that uses WS binding to invoke PrimitivesService. + The service component uses interface.java on the service element. + This client component uses interface.wsdl on the reference element. --> + <component name="PrimitivesServiceClientW2JComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceClientImpl" /> + <reference name="primitivesService"> + <interface.wsdl interface="http://jaxb.databindings.itest.sca.tuscany.apache.org/#wsdl.interface(PrimitivesService)"/> + <binding.ws uri="http://localhost:8085/ps-ep-j"/> + </reference> + </component> + + <!-- Components used to implement the services --> + <!-- A PrimitivesService component that uses interface.java --> + <component name="PrimitivesServiceJavaComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceImpl"/> + <service name="PrimitivesService"> + <interface.java interface="org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService"/> + <binding.ws uri="http://localhost:8085/ps-ep-j"/> + </service> + </component> + + <!-- A PrimitivesService component that uses interface.wsdl --> + <component name="PrimitivesServiceWSDLComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceImpl"/> + <service name="PrimitivesService"> + <interface.wsdl interface="http://jaxb.databindings.itest.sca.tuscany.apache.org/#wsdl.interface(PrimitivesService)"/> + <binding.ws uri="http://localhost:8085/ps-ep-w"/> + </service> + </component> +</composite> diff --git a/java/sca/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/PrimitivesDatabindingTestCase.java b/java/sca/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/PrimitivesDatabindingTestCase.java new file mode 100644 index 0000000000..228b01cc75 --- /dev/null +++ b/java/sca/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/PrimitivesDatabindingTestCase.java @@ -0,0 +1,852 @@ +/* + * 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.itest.databindings.jaxb.topdown; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesServiceClient; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @version $Rev$ $Date$ + */ +public class PrimitivesDatabindingTestCase { + + private static SCAClient domain; + private static SCANode2 node; + + /** + * Runs before each test method + */ + @BeforeClass + public static void setUp() throws Exception { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/wsdl/wrapped/primitivesservice.composite").toURL().toString(), + new SCAContribution("TestContribution", new File("src/main/resources/wsdl/wrapped").toURL().toString())); + node.start(); + domain = (SCAClient)node; + } + + /** + * Runs after each test method + */ + @AfterClass + public static void tearDown() { + node.stop(); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testW2WNegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testW2WNegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for boolean array. + */ + @Test + public void testW2WPassByValueBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueBooleanArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByte. + */ + @Test + public void testW2WNegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testW2WNegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for byte array. + */ + @Test + public void testW2WPassByValueByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueByteArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShort. + */ + @Test + public void testW2WNegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testW2WNegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for short array. + */ + @Test + public void testW2WPassByValueShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueShortArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateInt. + */ + @Test + public void testW2WNegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testW2WNegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for int array. + */ + @Test + public void testW2WPassByValueIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueIntArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLong. + */ + @Test + public void testW2WNegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testW2WNegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for long array. + */ + @Test + public void testW2WPassByValueLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueLongArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloat. + */ + @Test + public void testW2WNegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testW2WNegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for float array. + */ + @Test + public void testW2WPassByValueFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueFloatArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDouble. + */ + @Test + public void testW2WNegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testW2WNegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for double array. + */ + @Test + public void testW2WPassByValueDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueDoubleArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testJ2WNegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testJ2WNegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for boolean array. + */ + @Test + public void testJ2WPassByValueBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueBooleanArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByte. + */ + @Test + public void testJ2WNegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testJ2WNegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for byte array. + */ + @Test + public void testJ2WPassByValueByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueByteArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShort. + */ + @Test + public void testJ2WNegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testJ2WNegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for short array. + */ + @Test + public void testJ2WPassByValueShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueShortArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateInt. + */ + @Test + public void testJ2WNegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testJ2WNegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for int array. + */ + @Test + public void testJ2WPassByValueIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueIntArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLong. + */ + @Test + public void testJ2WNegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testJ2WNegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for long array. + */ + @Test + public void testJ2WPassByValueLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueLongArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloat. + */ + @Test + public void testJ2WNegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testJ2WNegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for float array. + */ + @Test + public void testJ2WPassByValueFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueFloatArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDouble. + */ + @Test + public void testJ2WNegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testJ2WNegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for double array. + */ + @Test + public void testJ2WPassByValueDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientJ2WComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueDoubleArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testW2JNegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testW2JNegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for boolean array. + */ + @Test + public void testW2JPassByValueBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueBooleanArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByte. + */ + @Test + public void testW2JNegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testW2JNegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for byte array. + */ + @Test + public void testW2JPassByValueByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueByteArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShort. + */ + @Test + public void testW2JNegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testW2JNegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for short array. + */ + @Test + public void testW2JPassByValueShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueShortArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateInt. + */ + @Test + public void testW2JNegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testW2JNegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for int array. + */ + @Test + public void testW2JPassByValueIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueIntArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLong. + */ + @Test + public void testW2JNegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testW2JNegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for long array. + */ + @Test + public void testW2JPassByValueLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueLongArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloat. + */ + @Test + public void testW2JNegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testW2JNegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for float array. + */ + @Test + public void testW2JPassByValueFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueFloatArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDouble. + */ + @Test + public void testW2JNegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testW2JNegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for double array. + */ + @Test + public void testW2JPassByValueDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientW2JComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueDoubleArray()); + } + + private void performTestNegateBoolean(PrimitivesServiceClient primitivesServiceClient) { + Assert.assertTrue(primitivesServiceClient.negateBooleanForward(false)); + Assert.assertFalse(primitivesServiceClient.negateBooleanForward(true)); + } + + private void performTestNegateBooleanArray(PrimitivesServiceClient primitivesServiceClient) { + boolean flags[] = new boolean[2]; + flags[0] = false; + flags[1] = true; + boolean[] respFlags = primitivesServiceClient.negateBooleanArrayForward(flags); + Assert.assertEquals(flags.length, respFlags.length); + for(int i = 0; i < flags.length; ++i) { + Assert.assertEquals(!flags[i], respFlags[i]); + } + } + + private void performTestNegateByte(PrimitivesServiceClient primitivesServiceClient) { + byte[] ba = new byte[3]; + ba[0] = -1; + ba[1] = 0; + ba[2] = 1; + + for(int i = 0; i < ba.length; ++i) { + Assert.assertEquals((byte)-ba[i], primitivesServiceClient.negateByteForward(ba[i])); + } + } + + private void performTestNegateByteArray(PrimitivesServiceClient primitivesServiceClient) { + byte[] ba = new byte[3]; + ba[0] = -1; + ba[1] = 0; + ba[2] = 1; + + byte[] r = primitivesServiceClient.negateByteArrayForward(ba); + Assert.assertEquals(ba.length, r.length); + for(int i = 0; i < ba.length; ++i) { + Assert.assertEquals((byte)-ba[i], r[i]); + } + } + + private void performTestNegateShort(PrimitivesServiceClient primitivesServiceClient) { + short[] s = new short[3]; + s[0] = -1; + s[1] = 0; + s[2] = 1; + + for(int i = 0; i < s.length; ++i) { + Assert.assertEquals((short)-s[i], primitivesServiceClient.negateShortForward(s[i])); + } + } + + private void performTestNegateShortArray(PrimitivesServiceClient primitivesServiceClient) { + short[] s = new short[3]; + s[0] = -1; + s[1] = 0; + s[2] = 1; + + short[] r = primitivesServiceClient.negateShortArrayForward(s); + Assert.assertEquals(s.length, r.length); + for(int i = 0; i < s.length; ++i) { + Assert.assertEquals((short)-s[i], r[i]); + } + } + + private void performTestNegateInt(PrimitivesServiceClient primitivesServiceClient) { + int[] ia = new int[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], primitivesServiceClient.negateIntForward(ia[i])); + } + } + + private void performTestNegateIntArray(PrimitivesServiceClient primitivesServiceClient) { + int[] ia = new int[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + int[] r = primitivesServiceClient.negateIntArrayForward(ia); + Assert.assertEquals(ia.length, r.length); + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], r[i]); + } + } + + private void performTestNegateLong(PrimitivesServiceClient primitivesServiceClient) { + long[] la = new long[3]; + la[0] = -1; + la[1] = 0; + la[2] = 1; + + for(int i = 0; i < la.length; ++i) { + Assert.assertEquals(-la[i], primitivesServiceClient.negateLongForward(la[i])); + } + } + + private void performTestNegateLongArray(PrimitivesServiceClient primitivesServiceClient) { + long[] la = new long[3]; + la[0] = -1; + la[1] = 0; + la[2] = 1; + + long[] r = primitivesServiceClient.negateLongArrayForward(la); + Assert.assertEquals(la.length, r.length); + for(int i = 0; i < la.length; ++i) { + Assert.assertEquals(-la[i], r[i]); + } + } + + private void performTestNegateFloat(PrimitivesServiceClient primitivesServiceClient) { + float[] fa = new float[3]; + fa[0] = -1; + fa[1] = 0; + fa[2] = 1; + + for(int i = 0; i < fa.length; ++i) { + Assert.assertEquals(-fa[i], primitivesServiceClient.negateFloatForward(fa[i])); + } + } + + private void performTestNegateFloatArray(PrimitivesServiceClient primitivesServiceClient) { + float[] ia = new float[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + float[] r = primitivesServiceClient.negateFloatArrayForward(ia); + Assert.assertEquals(ia.length, r.length); + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], r[i]); + } + } + + private void performTestNegateDouble(PrimitivesServiceClient primitivesServiceClient) { + double[] da = new double[3]; + da[0] = -1; + da[1] = 0; + da[2] = 1; + + for(int i = 0; i < da.length; ++i) { + Assert.assertEquals(-da[i], primitivesServiceClient.negateDoubleForward(da[i])); + } + } + + private void performTestNegateDoubleArray(PrimitivesServiceClient primitivesServiceClient) { + double[] da = new double[3]; + da[0] = -1; + da[1] = 0; + da[2] = 1; + + double[] r = primitivesServiceClient.negateDoubleArrayForward(da); + Assert.assertEquals(da.length, r.length); + for(int i = 0; i < da.length; ++i) { + Assert.assertEquals(-da[i], r[i]); + } + } +} diff --git a/java/sca/itest/databindings/pom.xml b/java/sca/itest/databindings/pom.xml index 4100c130aa..e607d4a6a5 100644 --- a/java/sca/itest/databindings/pom.xml +++ b/java/sca/itest/databindings/pom.xml @@ -41,6 +41,7 @@ <module>sdogen</module> <module>jaxbgen</module> <module>jaxb-bottom-up</module> + <module>jaxb-top-down</module> <module>interop</module> </modules> </project> |