diff options
Diffstat (limited to '')
6 files changed, 1398 insertions, 0 deletions
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> |