AXIS2-5749: Merge r1735331 (unit test only) to the 1.6 branch.
diff --git a/modules/adb-tests/pom.xml b/modules/adb-tests/pom.xml
index 43a11ef..36722f4 100644
--- a/modules/adb-tests/pom.xml
+++ b/modules/adb-tests/pom.xml
@@ -105,6 +105,20 @@
<outputDirectory>${project.build.directory}/wsdl2code/AXIS2-5741</outputDirectory>
</configuration>
</execution>
+ <execution>
+ <id>wsdl2code-axis2-5749</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>wsdl2code</goal>
+ </goals>
+ <configuration>
+ <wsdlFile>src/test/wsdl/AXIS2-5749.wsdl</wsdlFile>
+ <packageName>org.apache.axis2.databinding.axis2_5749.service</packageName>
+ <generateServerSide>true</generateServerSide>
+ <generateServicesXml>true</generateServicesXml>
+ <outputDirectory>${project.build.directory}/wsdl2code/AXIS2-5749</outputDirectory>
+ </configuration>
+ </execution>
</executions>
<configuration>
<databindingName>adb</databindingName>
@@ -130,6 +144,14 @@
<stylesheet>src/test/xslt/AXIS2-5741.xsl</stylesheet>
<outputDir>${project.build.directory}/repo/AXIS2-5741/services/FiverxLinkService/META-INF</outputDir>
</transformationSet>
+ <transformationSet>
+ <dir>${project.build.directory}/wsdl2code/AXIS2-5749/resources</dir>
+ <includes>
+ <include>services.xml</include>
+ </includes>
+ <stylesheet>src/test/xslt/AXIS2-5749.xsl</stylesheet>
+ <outputDir>${project.build.directory}/repo/AXIS2-5749/services/ColorService/META-INF</outputDir>
+ </transformationSet>
</transformationSets>
</configuration>
</execution>
@@ -164,6 +186,18 @@
<packageName>org.apache.axis2.databinding.axis2_5741.client</packageName>
</configuration>
</execution>
+ <execution>
+ <id>wsimport-axis2-5749</id>
+ <goals>
+ <goal>wsimport-test</goal>
+ </goals>
+ <configuration>
+ <wsdlFiles>
+ <wsdlFile>${basedir}/src/test/wsdl/AXIS2-5749.wsdl</wsdlFile>
+ </wsdlFiles>
+ <packageName>org.apache.axis2.databinding.axis2_5749.client</packageName>
+ </configuration>
+ </execution>
</executions>
<dependencies>
<dependency>
@@ -186,6 +220,7 @@
<sources>
<source>${project.build.directory}/wsdl2code/mtom/src</source>
<source>${project.build.directory}/wsdl2code/AXIS2-5741/src</source>
+ <source>${project.build.directory}/wsdl2code/AXIS2-5749/src</source>
</sources>
</configuration>
</execution>
diff --git a/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/ServiceTest.java b/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/ServiceTest.java
new file mode 100644
index 0000000..316e389
--- /dev/null
+++ b/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/ServiceTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.databinding.axis2_5749;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import javax.xml.ws.BindingProvider;
+
+import org.apache.axiom.testutils.PortAllocator;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.databinding.axis2_5749.client.Color;
+import org.apache.axis2.databinding.axis2_5749.client.ColorService;
+import org.apache.axis2.databinding.axis2_5749.client.ColorService_Service;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.junit.Test;
+
+public class ServiceTest {
+ @Test
+ public void test() throws Exception {
+ int port = PortAllocator.allocatePort();
+ ConfigurationContext configurationContext =
+ ConfigurationContextFactory.createConfigurationContextFromFileSystem("target/repo/AXIS2-5749");
+ SimpleHTTPServer server = new SimpleHTTPServer(configurationContext, port);
+ server.start();
+ try {
+ ColorService client = new ColorService_Service().getColorServiceSOAP();
+ ((BindingProvider)client).getRequestContext().put(
+ BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
+ "http://localhost:" + port + "/axis2/services/ColorService");
+ Color color = new Color();
+ color.setIn("RED");
+ assertThat(client.test(color).getOut()).isEqualTo("Red is good!");
+ } finally {
+ server.stop();
+ }
+ }
+}
diff --git a/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/service/ColorServiceImpl.java b/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/service/ColorServiceImpl.java
new file mode 100644
index 0000000..6e736c3
--- /dev/null
+++ b/modules/adb-tests/src/test/java/org/apache/axis2/databinding/axis2_5749/service/ColorServiceImpl.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.databinding.axis2_5749.service;
+
+import com.ise_online.colorservice.Color;
+import com.ise_online.colorservice.ColorResponse;
+import com.ise_online.colorservice.In_type1;
+
+public class ColorServiceImpl extends ColorServiceSkeleton {
+ @Override
+ public ColorResponse test(Color color) {
+ ColorResponse response = new ColorResponse();
+ if (color.getIn() == In_type1.RED) {
+ response.setOut("Red is good!");
+ } else {
+ response.setOut("Don't like that color...");
+ }
+ return response;
+ }
+}
diff --git a/modules/adb-tests/src/test/wsdl/AXIS2-5749.wsdl b/modules/adb-tests/src/test/wsdl/AXIS2-5749.wsdl
new file mode 100644
index 0000000..719fdd2
--- /dev/null
+++ b/modules/adb-tests/src/test/wsdl/AXIS2-5749.wsdl
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="ColorService" targetNamespace="http://ise-online.com/ColorService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ise-online.com/ColorService/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+ <wsdl:types>
+ <xsd:schema targetNamespace="http://ise-online.com/ColorService/">
+ <xsd:element name="Color">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="in">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="RED"/>
+ <xsd:enumeration value="GREEN"/>
+ <xsd:enumeration value="BLUE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ColorResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="out" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="TestRequest">
+ <wsdl:part name="parameters" element="tns:Color">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="TestResponse">
+ <wsdl:part name="parameters" element="tns:ColorResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ColorService">
+ <wsdl:operation name="Test">
+ <wsdl:input message="tns:TestRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:TestResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ColorServiceSOAP" type="tns:ColorService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Test">
+ <soap:operation soapAction="http://ise-online.com/ColorService/Test"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ColorService">
+ <wsdl:port name="ColorServiceSOAP" binding="tns:ColorServiceSOAP">
+ <soap:address location="http://www.example.org/"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/modules/adb-tests/src/test/xslt/AXIS2-5749.xsl b/modules/adb-tests/src/test/xslt/AXIS2-5749.xsl
new file mode 100644
index 0000000..4fae41e
--- /dev/null
+++ b/modules/adb-tests/src/test/xslt/AXIS2-5749.xsl
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/serviceGroup/service[@name='ColorService']/parameter[@name='ServiceClass']/text()">
+ org.apache.axis2.databinding.axis2_5749.service.ColorServiceImpl
+ </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+</xsl:stylesheet>