├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main └── groovy │ └── no │ └── nils │ └── wsdl2java │ ├── ObjectFactoryMerger.groovy │ ├── Wsdl2JavaPlugin.groovy │ ├── Wsdl2JavaPluginExtension.groovy │ └── Wsdl2JavaTask.groovy └── test ├── groovy └── no │ └── nils │ └── wsdl2java │ ├── ObjectFactoryMergerTest.groovy │ ├── Wsdl2JavaPluginFunctionalTest.groovy │ └── Wsdl2JavaPluginTest.groovy └── resources ├── objectfactorymerger ├── autodesktopservice │ ├── ObjectFactory.java │ └── ObjectFactory_sorted.java └── dokumentutil │ ├── ObjectFactory.java │ └── ObjectFactory_sorted.java ├── test-project-kotlin ├── build.gradle.kts ├── settings.gradle.kts └── src │ ├── main │ ├── java │ │ └── no │ │ │ └── nils │ │ │ └── consumers │ │ │ └── StockQuoteConsumer.kt │ └── resources │ │ ├── custom │ │ ├── currencyconvertor.wsdl │ │ ├── glogalweather.wsdl │ │ └── stockqoute.wsdl │ │ └── xsd │ │ └── CustomersAndOrders.xsd │ └── test │ └── java │ └── no │ └── nils │ └── consumers │ └── StockQuoteConsumerTest.kt └── test-project ├── build.gradle ├── settings.gradle └── src ├── main ├── java │ └── no │ │ └── nils │ │ └── consumers │ │ └── StockQuoteConsumer.java └── resources │ ├── wsdl │ ├── currencyconvertor.wsdl │ ├── glogalweather.wsdl │ └── stockqoute.wsdl │ └── xsd │ └── CustomersAndOrders.xsd └── test └── java └── no └── nils └── consumers └── StockQuoteConsumerTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.war 8 | *.ear 9 | 10 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 11 | hs_err_pid* 12 | 13 | build 14 | */build 15 | .gradle 16 | *~ 17 | 18 | .idea 19 | *.iws 20 | *.ipr 21 | *.iml 22 | repo/ 23 | consumer/generated* 24 | out 25 | .DS_Store 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Nils Larsgård, nilsmagnus@gmail.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Deprecation notice 2 | 3 | This plugin is no longer maintained by its creator since I dont have any interest in using this plugin anymore and find no pleasure in maintaining it for free/fun. Please fork it and use it as you like. The plugin is not published to any relevant plugin-portals. 4 | 5 | wsdl2java gradle plugin 6 | ========= 7 | 8 | [![Known Vulnerabilities](https://snyk.io/test/github/nilsmagnus/wsdl2java/badge.svg?targetFile=build.gradle)](https://snyk.io/test/github/nilsmagnus/wsdl2java?targetFile=build.gradle) 9 | [![Build Status](https://cloud.drone.io/api/badges/nilsmagnus/wsdl2java/status.svg)](https://cloud.drone.io/nilsmagnus/wsdl2java) 10 | [ ![Download](https://api.bintray.com/packages/nilsmagnus/maven/wsdl2java/images/download.svg?version=0.12) ](https://bintray.com/nilsmagnus/maven/wsdl2java/0.12/link) 11 | 12 | Gradle plugin for generating java from wsdl, using cxf under the hood and the same options as the maven wsdl-2-java plugin from apache-cxf. 13 | 14 | The plugin binaries are downloadable from bintray: https://bintray.com/nilsmagnus/maven/wsdl2java/ 15 | 16 | ### Issues 17 | If you have any issues with the plugin, please file an issue at github, https://github.com/nilsmagnus/wsdl2java/issues 18 | 19 | ### Contribution 20 | Contributions are welcome as long as they are sane. 21 | 22 | #### Contributors 23 | - Nils Larsgård , https://github.com/nilsmagnus 24 | - Mats Faugli, https://github.com/fowlie 25 | - Thorben Schiller, https://github.com/thorbolo 26 | - Stefan Kloe, https://github.com/Pentadrago 27 | - Mattias Rundgren, https://github.com/matrun 28 | - Steffen Döring, https://github.com/s-doering 29 | - Jesper Skov, https://github.com/jskovjyskebankdk 30 | - Manuel Sanches Ortiz, https://github.com/manuelsanchezortiz 31 | - Ruben Gees, https://github.com/rubengees 32 | - Stefan Krause-Kjær, https://github.com/KrauseStefan 33 | 34 | ### CXF 35 | This plugin uses the apache-cxf tools to do the actual work. 36 | 37 | ### Tasks 38 | 39 | | Name | Description | Dependecy | 40 | | ---- | ----------- | --------- | 41 | | wsdl2java | Generate java source from wsdl-files | CompileJava/CompileKotlin depends on wsdl2java | 42 | | ~~xsd2java~~ | ~~Generate java source from xsd-files~~ Removed in version 0.8 | ~~CompileJava depends on xsd2java~~ | 43 | 44 | ## Usage 45 | 46 | To use this plugin, you must 47 | - modify your buildscript to have dependencies to the plugin 48 | - apply the plugin 49 | - set the properties of the plugin 50 | 51 | ### Applying the plugin 52 | 53 | Groovy: 54 | 55 | ```groovy 56 | buildscript{ 57 | repositories{ 58 | jcenter() 59 | mavenCentral() 60 | } 61 | dependencies { 62 | classpath 'no.nils:wsdl2java:0.12' 63 | } 64 | } 65 | 66 | apply plugin: 'no.nils.wsdl2java' 67 | ``` 68 | 69 | Kotlin: 70 | 71 | ```kotlin 72 | plugins { 73 | id("java") 74 | id("no.nils.wsdl2java") version "0.12" 75 | } 76 | ``` 77 | 78 | ### Plugin options 79 | 80 | | Option | Default value | Description | 81 | | ------ | ------------- | ----------- | 82 | | wsdlDir | src/main/resources | Define the wsdl files directory to support incremental build. This means that the task will be up-to-date if nothing in this directory has changed. | 83 | | wsdlsToGenerate | empty | This is the main input to the plugin that defines the wsdls to process. It is a list of arguments where each argument is a list of arguments to process a wsdl-file. The Wsdl-file with full path is the last argument. The array can be supplied with the same options as described for the maven-cxf plugin(http://cxf.apache.org/docs/wsdl-to-java.html). | 84 | | locale | Locale.getDefault() | The locale for the generated sources – especially the JavaDoc. This might be necessary to prevent differing sources due to several development environments. | 85 | | encoding | platform default encoding | Set the encoding name for generated sources, such as EUC-JP or UTF-8. | 86 | | stabilizeAndMergeObjectFactory| false | If multiple WSDLs target the same package, merge their `ObjectFactory` classes. | 87 | | cxfVersion | "+" | Controls the CXF version used to generate code. | 88 | | cxfPluginVersion | "+" | Controls the CXF XJC-plugins version used to generate code. | 89 | 90 | Example setting of options: 91 | 92 | Groovy: 93 | 94 | ```groovy 95 | wsdl2java { 96 | wsdlDir = file("src/main/resources/myWsdlFiles") // define to support incremental build 97 | wsdlsToGenerate = [ // 2d-array of wsdls and cxf-parameters 98 | ['src/main/resources/wsdl/firstwsdl.wsdl'], 99 | ['-xjc','-b','bindingfile.xml','src/main/resources/wsdl/secondwsdl.wsdl'] 100 | ] 101 | locale = Locale.GERMANY 102 | cxfVersion = "2.5.1" 103 | cxfPluginVersion = "2.4.0" 104 | } 105 | ``` 106 | 107 | Kotlin: 108 | 109 | ```kotlin 110 | extra["cxfVersion"] = "3.3.2" 111 | extra["cxfPluginVersion"] = "3.2.2" 112 | 113 | wsdl2java { 114 | wsdlDir = file("$projectDir/src/main/wsdl") 115 | wsdlsToGenerate = listOf( 116 | listOf("$wsdlDir/firstwsdl.wsdl"), 117 | listOf("-xjc", "-b", "bindingfile.xml", "$wsdlDir/secondwsdl.wsdl") 118 | ) 119 | } 120 | ``` 121 | 122 | ### Options for xsd2java (deprecated, separate plugin coming soon) 123 | 124 | This will not work for version 0.8+! 125 | 126 | | Option | Default value | Description | 127 | | ------ | ------------- | ----------- | 128 | | generatedXsdDir | "generatedsources/src/main/java" | Destination directory for generated sources | 129 | | xsdsToGenerate | null | 2-d array consisting of 2 or 3 values in each array: 1. xsd-file(input), 2. package for the generated sources, 3. (optional) a map containing additional options for the xjc task | 130 | | encoding | platform default encoding | Set the encoding name for generated sources, such as EUC-JP or UTF-8. | 131 | 132 | Example setting of options: 133 | 134 | ```groovy 135 | xsd2java { 136 | encoding = 'utf-8' 137 | xsdsToGenerate = [ 138 | ["src/main/resources/xsd/CustomersAndOrders.xsd", 'no.nils.xsd2java.sample', [header: false] /* optional map */] 139 | ] 140 | generatedXsdDir = file("generatedsources/xsd2java") 141 | } 142 | ``` 143 | 144 | ## Complete example usage 145 | This is a an example of a working build.gradle for a java project. You can also take a look at the test resources, which contain two working projects. 146 | 147 | ```groovy 148 | buildscript { 149 | repositories { 150 | jcenter() 151 | mavenCentral() 152 | } 153 | dependencies { 154 | classpath 'no.nils:wsdl2java:0.12' 155 | } 156 | } 157 | 158 | apply plugin: 'java' 159 | apply plugin: 'no.nils.wsdl2java' 160 | 161 | repositories { 162 | mavenCentral() 163 | } 164 | 165 | dependencies { 166 | testCompile 'junit:junit:+' 167 | } 168 | 169 | wsdl2java { 170 | wsdlsToGenerate = [ 171 | ['-p', 'com.acme.mypackage', '-autoNameResolution', "$projectDir/src/main/resources/wsdl/stockqoute.wsdl"] 172 | ] 173 | wsdlDir = file("$projectDir/src/main/resources/wsdl") 174 | locale = Locale.FRANCE 175 | cxfVersion = "2.5.1" 176 | cxfPluginVersion = "2.4.0" 177 | } 178 | ``` 179 | 180 | ### Java 9+ support 181 | 182 | This plugin automatically adds the necessary dependencies to work on Java 9+ when detected. 183 | 184 | As of now, these dependencies are added: 185 | 186 | ```groovy 187 | implementation "javax.xml.bind:jaxb-api:2.3.1", 188 | implementation "javax.xml.ws:jaxws-api:2.3.1", 189 | implementation "org.glassfish.jaxb:jaxb-runtime:2.3.2", 190 | implementation "org.glassfish.main.javaee-api:javax.jws:3.1.2.2", 191 | implementation "com.sun.xml.messaging.saaj:saaj-impl:1.5.1" 192 | ``` 193 | 194 | ## Enable basic extension support for xjc 195 | 196 | Apache CXF supports [extension for xjc](http://confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins), e.g. for creating a hashCode, equals and toString method in the classes generated by xjc. 197 | To use those extensions some more dependencies are necessary. 198 | 199 | ```groovy 200 | dependencies() { 201 | compile 'org.jvnet.jaxb2_commons:jaxb2-basics-runtime:0.11.0' 202 | 203 | // enable extension support for wsdl2java 204 | wsdl2java 'org.jvnet.jaxb2_commons:jaxb2-basics-runtime:0.11.0' 205 | wsdl2java 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' 206 | } 207 | 208 | wsdl2java{ 209 | wsdlsToGenerate = [ 210 | ['-xjc-Xequals', '-xjc-XhashCode', 'src/main/resources/com/example/api/interface.wsdl'] 211 | ] 212 | } 213 | ``` 214 | 215 | This example creates the hashCode and the equals method. 216 | 217 | ### A notice on multi-module projects 218 | 219 | Instead of referring to absolute paths in your build-file, try using $projectDir as a prefix to your files and directories. As shown in the "Complete example usage". 220 | 221 | 222 | # Releasing 223 | 224 | * set version to final in build.gradle & commit 225 | 226 | * build artifact and upload 227 | 228 | export BINTRAY_USER= 229 | export BINTRAY_API_KEY= 230 | ./gradlew clean bintrayPublish bintrayUpload 231 | 232 | * increment version and set to SNAPSHOT & commit 233 | * git push 234 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "groovy" 3 | id "maven-publish" 4 | id "java-gradle-plugin" 5 | id "com.jfrog.bintray" version "1.8.4" 6 | id 'idea' 7 | id 'eclipse' 8 | } 9 | 10 | group = 'no.nils' 11 | version = '0.13-SNAPSHOT' 12 | 13 | // stay compatible with the crowd 14 | sourceCompatibility = JavaVersion.VERSION_1_6 15 | targetCompatibility = JavaVersion.VERSION_1_6 16 | 17 | repositories { 18 | jcenter() 19 | } 20 | 21 | dependencies { 22 | implementation localGroovy() 23 | 24 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2' 25 | testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.2' 26 | testImplementation gradleTestKit() 27 | 28 | runtimeOnly "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61" 29 | 30 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2' 31 | } 32 | 33 | java { 34 | withSourcesJar() 35 | } 36 | 37 | test { 38 | useJUnitPlatform() 39 | } 40 | 41 | gradlePlugin { 42 | plugins { 43 | wsdl2java { 44 | id = 'no.nils.wsdl2java' 45 | implementationClass = 'no.nils.wsdl2java.Wsdl2JavaPlugin' 46 | } 47 | } 48 | } 49 | 50 | publishing { 51 | publications { 52 | maven(MavenPublication) { 53 | from components.java 54 | } 55 | } 56 | } 57 | 58 | bintray { 59 | apiUrl = "https://api.bintray.com" 60 | user = System.env.BINTRAY_USER 61 | key = System.env.BINTRAY_API_KEY 62 | 63 | publications = ['maven'] //When uploading Maven-based publication files 64 | // - AND/OR - 65 | dryRun = false //Whether to run this as dry-run, without deploying 66 | publish = true //If version should be auto published after an upload 67 | pkg { 68 | repo = 'maven' 69 | //userOrg = 'no.nils' //An optional organization name when the repo belongs to one of the user's orgs 70 | name = 'wsdl2java' 71 | desc = 'Gradle wsdl2java plugin' 72 | websiteUrl = 'https://github.com/nilsmagnus/wsdl2java' 73 | issueTrackerUrl = 'https://github.com/nilsmagnus/wsdl2java/issues' 74 | vcsUrl = 'https://github.com/nilsmagnus/wsdl2java.git' 75 | licenses = ['MIT'] 76 | labels = ['gradle', 'wsdl2java', 'plugin'] 77 | publicDownloadNumbers = true 78 | //Optional version descriptor 79 | version { 80 | name = project.version //Bintray logical version name 81 | desc = '' 82 | //released = '' //2 possible values: date in the format of 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ' OR a java.util.Date instance 83 | vcsTag = project.version 84 | attributes = ['gradle-plugin': 'no.nils.wsdl2java:no.nils:wsdl2java'] 85 | //Optional version-level attributes 86 | } 87 | } 88 | } 89 | 90 | wrapper { 91 | gradleVersion = '6.0.1' 92 | } 93 | 94 | build.doLast { uploadArchives } 95 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilsmagnus/wsdl2java/a9b54484f5bb7b60f9932f6e6bf488ce7c51bf1d/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilsmagnus/wsdl2java/a9b54484f5bb7b60f9932f6e6bf488ce7c51bf1d/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | # Determine the Java command to use to start the JVM. 86 | if [ -n "$JAVA_HOME" ] ; then 87 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 88 | # IBM's JDK on AIX uses strange locations for the executables 89 | JAVACMD="$JAVA_HOME/jre/sh/java" 90 | else 91 | JAVACMD="$JAVA_HOME/bin/java" 92 | fi 93 | if [ ! -x "$JAVACMD" ] ; then 94 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 95 | 96 | Please set the JAVA_HOME variable in your environment to match the 97 | location of your Java installation." 98 | fi 99 | else 100 | JAVACMD="java" 101 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 102 | 103 | Please set the JAVA_HOME variable in your environment to match the 104 | location of your Java installation." 105 | fi 106 | 107 | # Increase the maximum file descriptors if we can. 108 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 109 | MAX_FD_LIMIT=`ulimit -H -n` 110 | if [ $? -eq 0 ] ; then 111 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 112 | MAX_FD="$MAX_FD_LIMIT" 113 | fi 114 | ulimit -n $MAX_FD 115 | if [ $? -ne 0 ] ; then 116 | warn "Could not set maximum file descriptor limit: $MAX_FD" 117 | fi 118 | else 119 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 120 | fi 121 | fi 122 | 123 | # For Darwin, add options to specify how the application appears in the dock 124 | if $darwin; then 125 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 126 | fi 127 | 128 | # For Cygwin or MSYS, switch paths to Windows format before running java 129 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 130 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 131 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 132 | JAVACMD=`cygpath --unix "$JAVACMD"` 133 | 134 | # We build the pattern for arguments to be converted via cygpath 135 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 136 | SEP="" 137 | for dir in $ROOTDIRSRAW ; do 138 | ROOTDIRS="$ROOTDIRS$SEP$dir" 139 | SEP="|" 140 | done 141 | OURCYGPATTERN="(^($ROOTDIRS))" 142 | # Add a user-defined pattern to the cygpath arguments 143 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 144 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 145 | fi 146 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 147 | i=0 148 | for arg in "$@" ; do 149 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 150 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 151 | 152 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 153 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 154 | else 155 | eval `echo args$i`="\"$arg\"" 156 | fi 157 | i=`expr $i + 1` 158 | done 159 | case $i in 160 | 0) set -- ;; 161 | 1) set -- "$args0" ;; 162 | 2) set -- "$args0" "$args1" ;; 163 | 3) set -- "$args0" "$args1" "$args2" ;; 164 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 165 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 166 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 167 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 168 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 169 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 170 | esac 171 | fi 172 | 173 | # Escape application args 174 | save () { 175 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 176 | echo " " 177 | } 178 | APP_ARGS=`save "$@"` 179 | 180 | # Collect all arguments for the java command, following the shell quoting and substitution rules 181 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 182 | 183 | exec "$JAVACMD" "$@" 184 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 33 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 34 | 35 | @rem Find java.exe 36 | if defined JAVA_HOME goto findJavaFromJavaHome 37 | 38 | set JAVA_EXE=java.exe 39 | %JAVA_EXE% -version >NUL 2>&1 40 | if "%ERRORLEVEL%" == "0" goto init 41 | 42 | echo. 43 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 44 | echo. 45 | echo Please set the JAVA_HOME variable in your environment to match the 46 | echo location of your Java installation. 47 | 48 | goto fail 49 | 50 | :findJavaFromJavaHome 51 | set JAVA_HOME=%JAVA_HOME:"=% 52 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 53 | 54 | if exist "%JAVA_EXE%" goto init 55 | 56 | echo. 57 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 58 | echo. 59 | echo Please set the JAVA_HOME variable in your environment to match the 60 | echo location of your Java installation. 61 | 62 | goto fail 63 | 64 | :init 65 | @rem Get command-line arguments, handling Windows variants 66 | 67 | if not "%OS%" == "Windows_NT" goto win9xME_args 68 | 69 | :win9xME_args 70 | @rem Slurp the command line arguments. 71 | set CMD_LINE_ARGS= 72 | set _SKIP=2 73 | 74 | :win9xME_args_slurp 75 | if "x%~1" == "x" goto execute 76 | 77 | set CMD_LINE_ARGS=%* 78 | 79 | :execute 80 | @rem Setup the command line 81 | 82 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 83 | 84 | @rem Execute Gradle 85 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 86 | 87 | :end 88 | @rem End local scope for the variables with windows NT shell 89 | if "%ERRORLEVEL%"=="0" goto mainEnd 90 | 91 | :fail 92 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 93 | rem the _cmd.exe /c_ return code! 94 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 95 | exit /b 1 96 | 97 | :mainEnd 98 | if "%OS%"=="Windows_NT" endlocal 99 | 100 | :omega 101 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "wsdl2java" 2 | -------------------------------------------------------------------------------- /src/main/groovy/no/nils/wsdl2java/ObjectFactoryMerger.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java; 2 | 3 | /** 4 | * Takes one or more ObjectFactory java files and merge them, sorting the lines in the process. 5 | * This code relies *entirely* only blank lines as separaters between methods. It is not very clever. 6 | */ 7 | public class ObjectFactoryMerger { 8 | private static final String NEWLINE = System.getProperty("line.separator"); 9 | private String packageDef; 10 | private String constructorDef; 11 | private List classDef = new ArrayList<>(); 12 | private Set imports = new HashSet<>(); 13 | private Set constants = new HashSet<>(); 14 | private Set createMethods = new HashSet<>(); 15 | private String encoding; 16 | 17 | private ObjectFactoryMerger(String encoding) { 18 | this.encoding = encoding; 19 | } 20 | 21 | public static void merge(File src, File into, String encoding) throws IOException { 22 | new ObjectFactoryMerger(encoding).mergeInto(src, into); 23 | } 24 | 25 | private void mergeInto(File src, File dest) throws IOException { 26 | load(src); 27 | load(dest); 28 | 29 | String merged = reassemble(); 30 | dest.withWriter(encoding) { it.write(merged) }; 31 | } 32 | 33 | private String reassemble() { 34 | StringBuilder sb = new StringBuilder(NEWLINE); 35 | 36 | sb.append(packageDef).append(NEWLINE); 37 | sb.append(NEWLINE); 38 | sb.append(imports.toList().sort().join(NEWLINE)); 39 | sb.append(NEWLINE).append(NEWLINE); 40 | sb.append(classDef.join(NEWLINE)); 41 | sb.append(NEWLINE).append(NEWLINE); 42 | sb.append(constants.toList().sort().join(NEWLINE)); 43 | sb.append(NEWLINE).append(NEWLINE); 44 | 45 | sb.append(constructorDef).append(NEWLINE); 46 | 47 | sb.append(createMethods.toList().sort().collect { it.toString() }.join(NEWLINE)); 48 | 49 | sb.append(NEWLINE); 50 | sb.append("}").append(NEWLINE); 51 | 52 | return sb.toString(); 53 | } 54 | 55 | private void load(File file) throws IOException { 56 | Deque lines = new ArrayDeque<>(file.getText(encoding).split(NEWLINE) as List) 57 | 58 | consumePackage(lines); 59 | consumeImports(lines); 60 | consumeClass(lines); 61 | consumeConstants(lines); 62 | 63 | constructorDef = consumeConstructor(lines); 64 | 65 | String createMethodDef; 66 | while ((createMethodDef = consumeMethod(lines)) != null) { 67 | createMethods.add(new CreateMethod(createMethodDef)); 68 | } 69 | } 70 | 71 | private void consumePackage(Deque lines) { 72 | String l; 73 | while ((l = lines.pollFirst()) != null) { 74 | if (l.startsWith("package ")) { 75 | packageDef = l; 76 | break; 77 | } 78 | } 79 | } 80 | 81 | private void consumeImports(Deque lines) { 82 | ignoreEmptyLines(lines); 83 | 84 | String l; 85 | while ((l = lines.pollFirst()) != null) { 86 | if (l.isEmpty()) { 87 | break; 88 | } 89 | if (l.startsWith("import ")) { 90 | imports.add(l); 91 | } 92 | } 93 | } 94 | 95 | private void consumeClass(Deque lines) { 96 | classDef = new ArrayList<>(); 97 | 98 | String l; 99 | while ((l = lines.pollFirst()) != null) { 100 | classDef.add(l); 101 | if (l.startsWith("public class")) { 102 | break; 103 | } 104 | } 105 | } 106 | 107 | private void consumeConstants(Deque lines) { 108 | ignoreEmptyLines(lines); 109 | 110 | String l; 111 | while ((l = lines.pollFirst()) != null) { 112 | if (l.isEmpty()) { 113 | break; 114 | } 115 | if (!l.contains("static")) { 116 | lines.addFirst(l); 117 | break; 118 | } 119 | 120 | if (l.contains("QName")) { 121 | constants.add(l); 122 | } 123 | } 124 | } 125 | 126 | private String consumeMethod(Deque lines) { 127 | ignoreEmptyLines(lines); 128 | 129 | List methodLines = new ArrayList<>(); 130 | 131 | // Handle class closing } 132 | String l = lines.pollFirst(); 133 | if (l == null || l.length() < 2) { 134 | return null; 135 | } 136 | lines.addFirst(l); 137 | 138 | while ((l = lines.pollFirst()) != null) { 139 | methodLines.add(l); 140 | if (l.isEmpty()) { 141 | break; 142 | } 143 | } 144 | 145 | return methodLines.join(NEWLINE); 146 | } 147 | 148 | private String consumeConstructor(Deque lines) { 149 | String constructorStr = consumeMethod(lines) 150 | 151 | // If it doesn't look like a constructor, push the lines back 152 | if (!constructorStr.contains("ObjectFactory()")) { 153 | lines.addFirst("") 154 | constructorStr.split(NEWLINE).reverseEach { lines.addFirst(it) } 155 | constructorStr = "" 156 | } 157 | 158 | return constructorStr 159 | } 160 | 161 | private void ignoreEmptyLines(Deque lines) { 162 | String l; 163 | while ((l = lines.pollFirst()) != null) { 164 | if (!l.trim().isEmpty()) { 165 | lines.addFirst(l); 166 | break; 167 | } 168 | } 169 | } 170 | 171 | private static class CreateMethod implements Comparable { 172 | private String definition; 173 | private String uniqMethodName; 174 | 175 | CreateMethod(String definition) { 176 | this.definition = definition; 177 | 178 | String woPrefix = definition.replaceFirst("(?s).*public ", "") 179 | String woReturnType = woPrefix.replaceFirst("[^ ]+ ", "") 180 | String woBody = woReturnType.replaceFirst("(?s) .*", ""); 181 | String methodName = woBody.replaceFirst("\\(.*", ""); 182 | boolean isEmptyCreator = woBody.contains("()") 183 | uniqMethodName = isEmptyCreator ? "_" + methodName : methodName 184 | } 185 | 186 | @Override 187 | public int compareTo(CreateMethod o) { 188 | return uniqMethodName.compareTo(o.uniqMethodName); 189 | } 190 | 191 | @Override 192 | public int hashCode() { 193 | final int prime = 31; 194 | int result = 1; 195 | result = prime * result + ((uniqMethodName == null) ? 0 : uniqMethodName.hashCode()); 196 | return result; 197 | } 198 | 199 | @Override 200 | public boolean equals(Object obj) { 201 | if (this.is(obj)) 202 | return true; 203 | if (obj == null) 204 | return false; 205 | if (getClass() != obj.getClass()) 206 | return false; 207 | CreateMethod other = (CreateMethod) obj; 208 | if (uniqMethodName == null) { 209 | if (other.uniqMethodName != null) 210 | return false; 211 | } else if (!uniqMethodName.equals(other.uniqMethodName)) 212 | return false; 213 | return true; 214 | } 215 | 216 | @Override 217 | public String toString() { 218 | return definition; 219 | } 220 | } 221 | } 222 | -------------------------------------------------------------------------------- /src/main/groovy/no/nils/wsdl2java/Wsdl2JavaPlugin.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import org.gradle.api.JavaVersion 4 | import org.gradle.api.Plugin 5 | import org.gradle.api.Project 6 | import org.gradle.api.Task 7 | 8 | class Wsdl2JavaPlugin implements Plugin { 9 | public static final String WSDL2JAVA = "wsdl2java" 10 | 11 | private static final JAVA_9_DEPENDENCIES = [ 12 | "javax.xml.bind:jaxb-api:2.3.1", 13 | "javax.xml.ws:jaxws-api:2.3.1", 14 | "org.glassfish.jaxb:jaxb-runtime:2.3.2", 15 | "org.glassfish.main.javaee-api:javax.jws:3.1.2.2", 16 | "com.sun.xml.messaging.saaj:saaj-impl:1.5.1" 17 | ] 18 | 19 | void apply(Project project) { 20 | project.apply(plugin: "java") 21 | 22 | def extension = project.extensions.create(WSDL2JAVA, Wsdl2JavaPluginExtension.class) 23 | def cxfVersion = project.provider { extension.cxfVersion } 24 | def cxfPluginVersion = project.provider { extension.cxfPluginVersion } 25 | 26 | // Add new configuration for our plugin and add required dependencies to it later. 27 | def wsdl2javaConfiguration = project.configurations.maybeCreate(WSDL2JAVA) 28 | 29 | // Get compile configuration and add Java 9+ dependencies if required. 30 | project.configurations.named("compile").configure { 31 | it.withDependencies { 32 | if (JavaVersion.current().isJava9Compatible()) { 33 | JAVA_9_DEPENDENCIES.each { dep -> it.add(project.dependencies.create(dep)) } 34 | } 35 | } 36 | } 37 | 38 | def wsdl2JavaTask = project.tasks.register(WSDL2JAVA, Wsdl2JavaTask.class) { task -> 39 | wsdl2javaConfiguration.withDependencies { 40 | it.add(project.dependencies.create("org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:${cxfVersion.get()}")) 41 | it.add(project.dependencies.create("org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:${cxfVersion.get()}")) 42 | if (project.wsdl2java.wsdlsToGenerate.any { it.contains('-xjc-Xts') }) { 43 | it.add(project.dependencies.create("org.apache.cxf.xjcplugins:cxf-xjc-ts:${cxfPluginVersion.get()}")) 44 | } 45 | if (project.wsdl2java.wsdlsToGenerate.any { it.contains('-xjc-Xbg') }) { 46 | it.add(project.dependencies.create("org.apache.cxf.xjcplugins:cxf-xjc-boolean:${cxfPluginVersion.get()}")) 47 | } 48 | 49 | if (JavaVersion.current().isJava9Compatible()) { 50 | JAVA_9_DEPENDENCIES.each { dep -> it.add(project.dependencies.create(dep)) } 51 | } 52 | } 53 | 54 | task.group = "Wsdl2Java" 55 | task.description = "Generate java source code from WSDL files." 56 | task.classpath = wsdl2javaConfiguration 57 | task.extension = extension 58 | } 59 | 60 | project.tasks.named("compileJava").configure { 61 | it.dependsOn wsdl2JavaTask 62 | } 63 | 64 | project.pluginManager.withPlugin("org.jetbrains.kotlin.jvm") { 65 | project.tasks.withType(getTaskClass("org.jetbrains.kotlin.gradle.tasks.KotlinCompile")).configureEach { 66 | it.dependsOn wsdl2JavaTask 67 | } 68 | } 69 | 70 | project.pluginManager.withPlugin("org.jetbrains.kotlin.kapt") { 71 | project.tasks.withType(getTaskClass("org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask")).configureEach { 72 | it.dependsOn wsdl2JavaTask 73 | } 74 | } 75 | 76 | project.sourceSets { 77 | main.java.srcDirs += Wsdl2JavaTask.DESTINATION_DIR 78 | } 79 | } 80 | 81 | static Class getTaskClass(name) { 82 | return Class.forName(name) as Class 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/main/groovy/no/nils/wsdl2java/Wsdl2JavaPluginExtension.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import org.gradle.api.tasks.* 4 | 5 | import java.nio.charset.Charset 6 | 7 | class Wsdl2JavaPluginExtension { 8 | 9 | private static final DEFAULT_WSDL_DIR = "src/main/resources/wsdl" 10 | 11 | @InputDirectory 12 | @PathSensitive(PathSensitivity.ABSOLUTE) 13 | File wsdlDir = new File(DEFAULT_WSDL_DIR) 14 | 15 | @Input 16 | List> wsdlsToGenerate 17 | 18 | @Input 19 | Locale locale = Locale.getDefault() 20 | 21 | @Input 22 | String encoding = Charset.defaultCharset().name() 23 | 24 | @Input 25 | boolean stabilize = false 26 | 27 | @Input 28 | boolean stabilizeAndMergeObjectFactory = false 29 | 30 | @Input 31 | String cxfVersion = "+" 32 | 33 | @Input 34 | String cxfPluginVersion = "+" 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/groovy/no/nils/wsdl2java/Wsdl2JavaTask.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import groovy.io.FileType 4 | import org.gradle.api.DefaultTask 5 | import org.gradle.api.artifacts.Configuration 6 | import org.gradle.api.tasks.* 7 | 8 | import java.security.MessageDigest 9 | 10 | @CacheableTask 11 | class Wsdl2JavaTask extends DefaultTask { 12 | static final DESTINATION_DIR = "build/generated/wsdl" 13 | 14 | private static final NEWLINE = System.getProperty("line.separator") 15 | 16 | @OutputDirectory 17 | File generatedWsdlDir = new File(DESTINATION_DIR) 18 | 19 | @InputFiles 20 | @Classpath 21 | Configuration classpath 22 | 23 | @Internal 24 | ClassLoader classLoader 25 | 26 | @Nested 27 | Wsdl2JavaPluginExtension extension 28 | 29 | @TaskAction 30 | def wsdl2java() { 31 | deleteOutputFolders() 32 | MessageDigest md5 = MessageDigest.getInstance("MD5") 33 | 34 | File tmpDir = new File(project.getBuildDir(), "wsdl2java") 35 | tmpDir.deleteDir() 36 | 37 | if (classpath == null) { 38 | classpath = project.configurations.getByName(Wsdl2JavaPlugin.WSDL2JAVA) 39 | } 40 | setupClassLoader() 41 | assert classLoader != null 42 | extension.wsdlsToGenerate.each { args -> 43 | // Defensively copy the input args, because this might be a immutable implementation. 44 | def argsCopy = args.collect() as List 45 | 46 | String wsdlPath = md5.digest(argsCopy[-1].toString().bytes).encodeHex().toString() 47 | File targetDir = new File(tmpDir, wsdlPath) 48 | 49 | argsCopy.add(argsCopy.size - 1, '-d') 50 | argsCopy.add(argsCopy.size - 1, targetDir) 51 | String[] wsdl2JavaArgs = new String[argsCopy.size()] 52 | for (int i = 0; i < argsCopy.size(); i++) 53 | wsdl2JavaArgs[i] = argsCopy[i] 54 | 55 | def wsdlToJava = classLoader.loadClass("org.apache.cxf.tools.wsdlto.WSDLToJava").getConstructor().newInstance() 56 | def toolContext = classLoader.loadClass("org.apache.cxf.tools.common.ToolContext").getConstructor().newInstance() 57 | wsdlToJava.args = wsdl2JavaArgs 58 | 59 | runWithLocale(extension.locale) { -> 60 | try { 61 | wsdlToJava.run(toolContext) 62 | } catch (Exception e) { 63 | throw new TaskExecutionException(this, e) 64 | } 65 | } 66 | 67 | copyToOutputDir(targetDir) 68 | } 69 | } 70 | 71 | private void setupClassLoader() { 72 | if (classpath?.files) { 73 | def urls = classpath.files.collect { it.toURI().toURL() } 74 | 75 | classLoader = new URLClassLoader(urls as URL[], Thread.currentThread().contextClassLoader) 76 | Thread.currentThread().contextClassLoader = classLoader 77 | } else { 78 | classLoader = Thread.currentThread().contextClassLoader 79 | } 80 | } 81 | 82 | protected void runWithLocale(Locale locale, Closure closure) { 83 | // save the current default locale – will be set back at the end 84 | Locale currentDefaultLocale = Locale.getDefault() 85 | try { 86 | // set the wanted locale for the generated java classes 87 | Locale.setDefault(locale) 88 | 89 | closure() 90 | } 91 | finally { 92 | // set the default locale back to the previous default 93 | Locale.setDefault(currentDefaultLocale) 94 | } 95 | } 96 | 97 | protected void deleteOutputFolders() { 98 | Set packagePaths = findPackagePaths() 99 | if (packagePaths.isEmpty()) { 100 | packagePaths.add("") // add root if no package paths 101 | } 102 | 103 | Set packageTargetDirs = packagePaths.collect { subPath -> new File(generatedWsdlDir, subPath) } 104 | getLogger().info("Clear target folders {}", packageTargetDirs) 105 | getProject().delete(packageTargetDirs) 106 | } 107 | 108 | private Set findPackagePaths() { 109 | Set packagePaths = new HashSet<>() 110 | for (List args : extension.wsdlsToGenerate) { 111 | int packageArgIdx = args.indexOf("-p") 112 | int packageIx = packageArgIdx + 1 113 | if (packageArgIdx != -1 && args.size() >= packageIx) { 114 | //check if it's wsdl-namespace=package 115 | String[] maybeWsdlNameSpaceAndPackage = args.get(packageIx).split("=") 116 | String packageName = maybeWsdlNameSpaceAndPackage.size() == 1 ? maybeWsdlNameSpaceAndPackage[0] : maybeWsdlNameSpaceAndPackage[1] 117 | String pathPath = packageName.replace(".", "/") 118 | packagePaths.add(pathPath) 119 | } 120 | } 121 | return packagePaths 122 | } 123 | 124 | protected void copyToOutputDir(File srcDir) { 125 | int srcPathLength = srcDir.getAbsolutePath().size() + 1 126 | 127 | srcDir.eachFileRecurse(FileType.FILES) { file -> 128 | String relPath = file.getAbsolutePath().substring(srcPathLength) 129 | File target = new File(generatedWsdlDir, relPath) 130 | 131 | switchToEncoding(file) 132 | 133 | if (extension.stabilizeAndMergeObjectFactory) { 134 | mergeAndStabilizeObjectFactory(file, target) 135 | } else { 136 | project.ant.copy(file: file, tofile: target) 137 | } 138 | } 139 | } 140 | 141 | protected void switchToEncoding(File file) { 142 | List lines = file.getText().split(NEWLINE) 143 | file.delete() 144 | 145 | if (extension.stabilize) { 146 | stripCommentDates(lines) 147 | stabilizeCommentLinks(file, lines) 148 | stabilizeXmlElementRef(file, lines) 149 | stabilizeXmlSeeAlso(file, lines) 150 | } 151 | 152 | String text = lines.join(NEWLINE) + NEWLINE // want empty line last 153 | file.withWriter(extension.encoding) { w -> w.write(text) } 154 | } 155 | 156 | void stripCommentDates(List lines) { 157 | String prevLine = "" 158 | for (ListIterator lix = lines.listIterator(); lix.hasNext();) { 159 | String l = lix.next() 160 | if (prevLine.contains("This class was generated") && l.startsWith(" * 201")) { 161 | lix.remove() 162 | } 163 | prevLine = l 164 | } 165 | } 166 | 167 | void stabilizeCommentLinks(File file, List lines) { 168 | for (ListIterator lix = lines.listIterator(); lix.hasNext();) { 169 | String l = lix.next() 170 | 171 | if (l.contains("* {@link")) { 172 | int start = lix.previousIndex() 173 | 174 | while (lix.hasNext()) { 175 | l = lix.next() 176 | if (!l.contains("* {@link")) { 177 | int end = lix.previousIndex() 178 | 179 | List subList = lines.subList(start, end) 180 | Collections.sort(subList) 181 | 182 | break 183 | } 184 | } 185 | } 186 | } 187 | } 188 | 189 | void stabilizeXmlSeeAlso(File file, List lines) { 190 | String seeAlsoStart = "@XmlSeeAlso({" 191 | String seeAlsoEnd = "})" 192 | for (ListIterator lix = lines.listIterator(); lix.hasNext();) { 193 | String l = lix.next() 194 | 195 | if (l.startsWith(seeAlsoStart) && l.endsWith(seeAlsoEnd)) { 196 | List classes = l.replace(seeAlsoStart, "").replace(seeAlsoEnd, "").split(",").collect { it.trim() } 197 | String sortedClasses = seeAlsoStart + classes.sort().join(", ") + seeAlsoEnd 198 | lix.set(sortedClasses) 199 | } 200 | } 201 | } 202 | 203 | void stabilizeXmlElementRef(File file, List lines) { 204 | String prevLine = "" 205 | for (ListIterator lix = lines.listIterator(); lix.hasNext();) { 206 | String l = lix.next() 207 | 208 | if (l.contains("@XmlElementRef") && prevLine.contains("@XmlElementRefs")) { 209 | int start = lix.previousIndex() 210 | 211 | while (lix.hasNext()) { 212 | l = lix.next() 213 | if (!l.contains("@XmlElementRef")) { 214 | int end = lix.previousIndex() 215 | 216 | List subList = lines.subList(start, end) 217 | Collections.sort(subList) 218 | 219 | // Fix ,-separation of lines 220 | for (ListIterator subLix = subList.listIterator(); subLix.hasNext();) { 221 | String line = subLix.next() 222 | 223 | line = line.replaceFirst(',$', "") 224 | if (subLix.hasNext()) { 225 | line = line + "," 226 | } 227 | subLix.set(line) 228 | } 229 | break 230 | } 231 | } 232 | } 233 | prevLine = l 234 | } 235 | } 236 | 237 | protected void mergeAndStabilizeObjectFactory(File src, File target) { 238 | if (!target.exists()) { 239 | target.getParentFile().mkdirs() 240 | project.ant.copy(file: src, tofile: target) 241 | stabilizeObjFacWithItself(target) 242 | } else { 243 | stabilizeObjFacWithTarget(src, target) 244 | } 245 | } 246 | 247 | private void stabilizeObjFacWithItself(File target) { 248 | if (isObjectFactory(target)) { 249 | getLogger().info(" stabilize ${target}") 250 | ObjectFactoryMerger.merge(target, target, extension.encoding) 251 | } 252 | } 253 | 254 | private stabilizeObjFacWithTarget(File src, File target) { 255 | if (isObjectFactory(src) && src.getText(extension.encoding) != target.getText(extension.encoding)) { 256 | getLogger().info(" merge ${target}") 257 | ObjectFactoryMerger.merge(src, target, extension.encoding) 258 | } 259 | } 260 | 261 | private boolean isObjectFactory(File f) { 262 | return "ObjectFactory.java".equals(f.getName()) 263 | } 264 | } 265 | -------------------------------------------------------------------------------- /src/test/groovy/no/nils/wsdl2java/ObjectFactoryMergerTest.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import org.junit.jupiter.api.BeforeEach 4 | import org.junit.jupiter.api.Test 5 | 6 | import static org.junit.jupiter.api.Assertions.assertEquals 7 | 8 | class ObjectFactoryMergerTest { 9 | File outputDir = new File("build/test") 10 | 11 | @BeforeEach 12 | void cleanOutput() { 13 | outputDir.deleteDir() 14 | outputDir.mkdirs() 15 | } 16 | 17 | @Test 18 | void mergeWithEmptyCreatorsWorks() { 19 | File input = new File(this.class.classLoader.getResource("objectfactorymerger/dokumentutil/ObjectFactory.java").toURI()) 20 | File output = new File(outputDir, "ObjectFactory.java") 21 | 22 | output.withWriter("UTF-8") { w -> w.write(input.getText("UTF-8")) } 23 | 24 | ObjectFactoryMerger.merge(input, output, "UTF-8") 25 | 26 | File expected = new File(this.class.classLoader.getResource("objectfactorymerger/dokumentutil/ObjectFactory_sorted.java").toURI()) 27 | assertEquals(expected.getText("UTF-8"), output.getText("UTF-8"), "Sorting should be stable") 28 | } 29 | 30 | @Test 31 | void mergeWithoutNoCreatorWorks() { 32 | File input = new File(this.class.classLoader.getResource("objectfactorymerger/autodesktopservice/ObjectFactory.java").toURI()) 33 | File output = new File(outputDir, "ObjectFactory.java") 34 | 35 | output.withWriter("UTF-8") { w -> w.write(input.getText("UTF-8")) } 36 | 37 | ObjectFactoryMerger.merge(input, output, "UTF-8") 38 | 39 | File expected = new File(this.class.classLoader.getResource("objectfactorymerger/autodesktopservice/ObjectFactory_sorted.java").toURI()) 40 | assertEquals(expected.getText("UTF-8"), output.getText("UTF-8"), "Sorting should be stable") 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/test/groovy/no/nils/wsdl2java/Wsdl2JavaPluginFunctionalTest.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import org.gradle.testkit.runner.GradleRunner 4 | import org.junit.jupiter.api.Test 5 | import org.junit.jupiter.params.ParameterizedTest 6 | import org.junit.jupiter.params.provider.ValueSource 7 | 8 | import static org.gradle.testkit.runner.TaskOutcome.FROM_CACHE 9 | import static org.gradle.testkit.runner.TaskOutcome.SUCCESS 10 | import static org.junit.jupiter.api.Assertions.assertEquals 11 | 12 | class Wsdl2JavaPluginFunctionalTest { 13 | 14 | private File projectDir = new File(this.class.classLoader.getResource("test-project").toURI()) 15 | private File kotlinProjectDir = new File(this.class.classLoader.getResource("test-project-kotlin").toURI()) 16 | 17 | @Test 18 | void canRunWsdl2Java() { 19 | def result = GradleRunner.create() 20 | .withPluginClasspath() 21 | .withProjectDir(projectDir) 22 | .withArguments("clean", "wsdl2java", "--stacktrace") 23 | .build() 24 | 25 | assertEquals(SUCCESS, result.task(":wsdl2java").getOutcome()) 26 | } 27 | 28 | @Test 29 | void canCompileProjectWithGeneratedWsdls() { 30 | def result = GradleRunner.create() 31 | .withPluginClasspath() 32 | .withProjectDir(projectDir) 33 | .withArguments("clean", "build", "--stacktrace") 34 | .build() 35 | 36 | assertEquals(SUCCESS, result.task(":build").getOutcome()) 37 | } 38 | 39 | @Test 40 | void canCompileKotlinProject() { 41 | def result = GradleRunner.create() 42 | .withPluginClasspath() 43 | .withProjectDir(kotlinProjectDir) 44 | .withArguments("clean", "build", "--stacktrace") 45 | .build() 46 | 47 | assertEquals(SUCCESS, result.task(":build").getOutcome()) 48 | } 49 | 50 | @ParameterizedTest(name = "{0}") 51 | @ValueSource(strings = ["5.6.4", "4.10.3"]) 52 | void worksWithOlderGradleVersions(String version) { 53 | def result = GradleRunner.create() 54 | .withPluginClasspath() 55 | .withProjectDir(projectDir) 56 | .withGradleVersion(version) 57 | .withArguments("clean", "build", "--stacktrace") 58 | .build() 59 | 60 | assertEquals(SUCCESS, result.task(":build").getOutcome()) 61 | } 62 | 63 | @Test 64 | void buildCacheWorks() { 65 | // Delete build cache form previous test runs. 66 | new File(projectDir, "build-cache").deleteDir() 67 | 68 | def result1 = GradleRunner.create() 69 | .withPluginClasspath() 70 | .withProjectDir(projectDir) 71 | .withArguments("clean", "wsdl2java", "--build-cache", "--stacktrace") 72 | .build() 73 | 74 | assertEquals(SUCCESS, result1.task(":wsdl2java").getOutcome()) 75 | 76 | def result2 = GradleRunner.create() 77 | .withPluginClasspath() 78 | .withProjectDir(projectDir) 79 | .withArguments("clean", "wsdl2java", "--build-cache", "--stacktrace") 80 | .build() 81 | 82 | assertEquals(FROM_CACHE, result2.task(":wsdl2java").getOutcome()) 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/test/groovy/no/nils/wsdl2java/Wsdl2JavaPluginTest.groovy: -------------------------------------------------------------------------------- 1 | package no.nils.wsdl2java 2 | 3 | import org.gradle.api.Project 4 | import org.gradle.testfixtures.ProjectBuilder 5 | import org.junit.jupiter.api.Test 6 | 7 | import static org.junit.jupiter.api.Assertions.assertTrue 8 | 9 | class Wsdl2JavaPluginTest { 10 | 11 | @Test 12 | void canAddWsdlTaskToProject() { 13 | Project project = ProjectBuilder.builder().build() 14 | def task = project.task('wsdl2java', type: Wsdl2JavaTask) 15 | assertTrue(task instanceof Wsdl2JavaTask) 16 | } 17 | 18 | @Test 19 | void wsdl2javaPluginAddsWsdl2javaTaskToProject() { 20 | Project project = ProjectBuilder.builder().build() 21 | project.apply(plugin: Wsdl2JavaPlugin) 22 | 23 | assertTrue(project.tasks.wsdl2java instanceof Wsdl2JavaTask) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/resources/objectfactorymerger/autodesktopservice/ObjectFactory.java: -------------------------------------------------------------------------------- 1 | 2 | package https.www_jyffi_dk.autodesktopservice.v1_0; 3 | 4 | import javax.xml.bind.annotation.XmlRegistry; 5 | 6 | 7 | /** 8 | * This object contains factory methods for each 9 | * Java content interface and Java element interface 10 | * generated in the https.www_jyffi_dk.autodesktopservice.v1_0 package. 11 | *

An ObjectFactory allows you to programatically 12 | * construct new instances of the Java representation 13 | * for XML content. The Java representation of XML 14 | * content can consist of schema derived interfaces 15 | * and classes representing the binding of schema 16 | * type definitions, element declarations and model 17 | * groups. Factory methods for each of these are 18 | * provided in this class. 19 | * 20 | */ 21 | @XmlRegistry 22 | public class ObjectFactory { 23 | 24 | 25 | 26 | /** 27 | * Create an instance of {@link UsedCar } 28 | * 29 | */ 30 | public UsedCar createUsedCar() { 31 | return new UsedCar(); 32 | } 33 | 34 | /** 35 | * Create an instance of {@link Car } 36 | * 37 | */ 38 | public Car createCar() { 39 | return new Car(); 40 | } 41 | 42 | /** 43 | * Create an instance of {@link ClientFault } 44 | * 45 | */ 46 | public ClientFault createClientFault() { 47 | return new ClientFault(); 48 | } 49 | 50 | /** 51 | * Create an instance of {@link CommercialCustomerType } 52 | * 53 | */ 54 | public CommercialCustomerType createCommercialCustomerType() { 55 | return new CommercialCustomerType(); 56 | } 57 | 58 | /** 59 | * Create an instance of {@link ConsumerCustomerType } 60 | * 61 | */ 62 | public ConsumerCustomerType createConsumerCustomerType() { 63 | return new ConsumerCustomerType(); 64 | } 65 | 66 | /** 67 | * Create an instance of {@link ContactPersonType } 68 | * 69 | */ 70 | public ContactPersonType createContactPersonType() { 71 | return new ContactPersonType(); 72 | } 73 | 74 | /** 75 | * Create an instance of {@link CustomerType } 76 | * 77 | */ 78 | public CustomerType createCustomerType() { 79 | return new CustomerType(); 80 | } 81 | 82 | /** 83 | * Create an instance of {@link DbiCar } 84 | * 85 | */ 86 | public DbiCar createDbiCar() { 87 | return new DbiCar(); 88 | } 89 | 90 | /** 91 | * Create an instance of {@link DbiEquipment } 92 | * 93 | */ 94 | public DbiEquipment createDbiEquipment() { 95 | return new DbiEquipment(); 96 | } 97 | 98 | /** 99 | * Create an instance of {@link DocumentKey } 100 | * 101 | */ 102 | public DocumentKey createDocumentKey() { 103 | return new DocumentKey(); 104 | } 105 | 106 | /** 107 | * Create an instance of {@link DocumentListRequest } 108 | * 109 | */ 110 | public DocumentListRequest createDocumentListRequest() { 111 | return new DocumentListRequest(); 112 | } 113 | 114 | /** 115 | * Create an instance of {@link DocumentListResponse } 116 | * 117 | */ 118 | public DocumentListResponse createDocumentListResponse() { 119 | return new DocumentListResponse(); 120 | } 121 | 122 | /** 123 | * Create an instance of {@link Equipment } 124 | * 125 | */ 126 | public Equipment createEquipment() { 127 | return new Equipment(); 128 | } 129 | 130 | /** 131 | * Create an instance of {@link ServiceAgreement } 132 | * 133 | */ 134 | public ServiceAgreement createServiceAgreement() { 135 | return new ServiceAgreement(); 136 | } 137 | 138 | /** 139 | * Create an instance of {@link TokenRequest } 140 | * 141 | */ 142 | public TokenRequest createTokenRequest() { 143 | return new TokenRequest(); 144 | } 145 | 146 | /** 147 | * Create an instance of {@link TokenResponse } 148 | * 149 | */ 150 | public TokenResponse createTokenResponse() { 151 | return new TokenResponse(); 152 | } 153 | 154 | /** 155 | * Create an instance of {@link TradeInCar } 156 | * 157 | */ 158 | public TradeInCar createTradeInCar() { 159 | return new TradeInCar(); 160 | } 161 | 162 | /** 163 | * Create an instance of {@link UserDataType } 164 | * 165 | */ 166 | public UserDataType createUserDataType() { 167 | return new UserDataType(); 168 | } 169 | 170 | } 171 | -------------------------------------------------------------------------------- /src/test/resources/objectfactorymerger/autodesktopservice/ObjectFactory_sorted.java: -------------------------------------------------------------------------------- 1 | 2 | package https.www_jyffi_dk.autodesktopservice.v1_0; 3 | 4 | import javax.xml.bind.annotation.XmlRegistry; 5 | 6 | 7 | /** 8 | * This object contains factory methods for each 9 | * Java content interface and Java element interface 10 | * generated in the https.www_jyffi_dk.autodesktopservice.v1_0 package. 11 | *

An ObjectFactory allows you to programatically 12 | * construct new instances of the Java representation 13 | * for XML content. The Java representation of XML 14 | * content can consist of schema derived interfaces 15 | * and classes representing the binding of schema 16 | * type definitions, element declarations and model 17 | * groups. Factory methods for each of these are 18 | * provided in this class. 19 | * 20 | */ 21 | @XmlRegistry 22 | public class ObjectFactory { 23 | 24 | 25 | 26 | 27 | /** 28 | * Create an instance of {@link Car } 29 | * 30 | */ 31 | public Car createCar() { 32 | return new Car(); 33 | } 34 | 35 | /** 36 | * Create an instance of {@link ClientFault } 37 | * 38 | */ 39 | public ClientFault createClientFault() { 40 | return new ClientFault(); 41 | } 42 | 43 | /** 44 | * Create an instance of {@link CommercialCustomerType } 45 | * 46 | */ 47 | public CommercialCustomerType createCommercialCustomerType() { 48 | return new CommercialCustomerType(); 49 | } 50 | 51 | /** 52 | * Create an instance of {@link ConsumerCustomerType } 53 | * 54 | */ 55 | public ConsumerCustomerType createConsumerCustomerType() { 56 | return new ConsumerCustomerType(); 57 | } 58 | 59 | /** 60 | * Create an instance of {@link ContactPersonType } 61 | * 62 | */ 63 | public ContactPersonType createContactPersonType() { 64 | return new ContactPersonType(); 65 | } 66 | 67 | /** 68 | * Create an instance of {@link CustomerType } 69 | * 70 | */ 71 | public CustomerType createCustomerType() { 72 | return new CustomerType(); 73 | } 74 | 75 | /** 76 | * Create an instance of {@link DbiCar } 77 | * 78 | */ 79 | public DbiCar createDbiCar() { 80 | return new DbiCar(); 81 | } 82 | 83 | /** 84 | * Create an instance of {@link DbiEquipment } 85 | * 86 | */ 87 | public DbiEquipment createDbiEquipment() { 88 | return new DbiEquipment(); 89 | } 90 | 91 | /** 92 | * Create an instance of {@link DocumentKey } 93 | * 94 | */ 95 | public DocumentKey createDocumentKey() { 96 | return new DocumentKey(); 97 | } 98 | 99 | /** 100 | * Create an instance of {@link DocumentListRequest } 101 | * 102 | */ 103 | public DocumentListRequest createDocumentListRequest() { 104 | return new DocumentListRequest(); 105 | } 106 | 107 | /** 108 | * Create an instance of {@link DocumentListResponse } 109 | * 110 | */ 111 | public DocumentListResponse createDocumentListResponse() { 112 | return new DocumentListResponse(); 113 | } 114 | 115 | /** 116 | * Create an instance of {@link Equipment } 117 | * 118 | */ 119 | public Equipment createEquipment() { 120 | return new Equipment(); 121 | } 122 | 123 | /** 124 | * Create an instance of {@link ServiceAgreement } 125 | * 126 | */ 127 | public ServiceAgreement createServiceAgreement() { 128 | return new ServiceAgreement(); 129 | } 130 | 131 | /** 132 | * Create an instance of {@link TokenRequest } 133 | * 134 | */ 135 | public TokenRequest createTokenRequest() { 136 | return new TokenRequest(); 137 | } 138 | 139 | /** 140 | * Create an instance of {@link TokenResponse } 141 | * 142 | */ 143 | public TokenResponse createTokenResponse() { 144 | return new TokenResponse(); 145 | } 146 | 147 | /** 148 | * Create an instance of {@link TradeInCar } 149 | * 150 | */ 151 | public TradeInCar createTradeInCar() { 152 | return new TradeInCar(); 153 | } 154 | 155 | /** 156 | * Create an instance of {@link UsedCar } 157 | * 158 | */ 159 | public UsedCar createUsedCar() { 160 | return new UsedCar(); 161 | } 162 | 163 | /** 164 | * Create an instance of {@link UserDataType } 165 | * 166 | */ 167 | public UserDataType createUserDataType() { 168 | return new UserDataType(); 169 | } 170 | 171 | } 172 | -------------------------------------------------------------------------------- /src/test/resources/objectfactorymerger/dokumentutil/ObjectFactory.java: -------------------------------------------------------------------------------- 1 | 2 | package dk.jyskebank.service.dokumentutil.ws; 3 | 4 | import java.math.BigDecimal; 5 | import java.math.BigInteger; 6 | import javax.xml.bind.JAXBElement; 7 | import javax.xml.bind.annotation.XmlElementDecl; 8 | import javax.xml.bind.annotation.XmlRegistry; 9 | import javax.xml.datatype.Duration; 10 | import javax.xml.datatype.XMLGregorianCalendar; 11 | import javax.xml.namespace.QName; 12 | 13 | 14 | /** 15 | * This object contains factory methods for each 16 | * Java content interface and Java element interface 17 | * generated in the dk.jyskebank.service.dokumentutil.ws package. 18 | *

An ObjectFactory allows you to programatically 19 | * construct new instances of the Java representation 20 | * for XML content. The Java representation of XML 21 | * content can consist of schema derived interfaces 22 | * and classes representing the binding of schema 23 | * type definitions, element declarations and model 24 | * groups. Factory methods for each of these are 25 | * provided in this class. 26 | * 27 | */ 28 | @XmlRegistry 29 | public class ObjectFactory { 30 | 31 | private final static QName _UnsignedLong_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "unsignedLong"); 32 | private final static QName _UnsignedByte_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "unsignedByte"); 33 | private final static QName _UnsignedShort_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "unsignedShort"); 34 | private final static QName _MessageHeader_QNAME = new QName("http://v1.messageheader.esv.bankdata.dk", "MessageHeader"); 35 | private final static QName _DocumentInfoList_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentInfoList"); 36 | private final static QName _Duration_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "duration"); 37 | private final static QName _DocumentTypeList_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentTypeList"); 38 | private final static QName _ReferenceNumberList_QNAME = new QName("http://did.esv.bankdata.dk", "ReferenceNumberList"); 39 | private final static QName _DocumentType_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentType"); 40 | private final static QName _DocumentTypes_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentTypes"); 41 | private final static QName _Long_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "long"); 42 | private final static QName _HentDokumentSvarConvres_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", "hentDokumentSvarConvres"); 43 | private final static QName _Float_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "float"); 44 | private final static QName _DocumentInfo_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentInfo"); 45 | private final static QName _DateTime_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "dateTime"); 46 | private final static QName _HentDokumentSvar_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", "hentDokumentSvar"); 47 | private final static QName _ArchivePdfDocument_QNAME = new QName("http://did.esv.bankdata.dk", "ArchivePdfDocument"); 48 | private final static QName _AnyType_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "anyType"); 49 | private final static QName _String_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "string"); 50 | private final static QName _ParameterList_QNAME = new QName("http://did.esv.bankdata.dk", "ParameterList"); 51 | private final static QName _Parameter_QNAME = new QName("http://did.esv.bankdata.dk", "Parameter"); 52 | private final static QName _UnsignedInt_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "unsignedInt"); 53 | private final static QName _Char_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "char"); 54 | private final static QName _Short_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "short"); 55 | private final static QName _Guid_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "guid"); 56 | private final static QName _GetDocumentTypes_QNAME = new QName("http://did.esv.bankdata.dk", "GetDocumentTypes"); 57 | private final static QName _Decimal_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "decimal"); 58 | private final static QName _Boolean_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "boolean"); 59 | private final static QName _FieldList_QNAME = new QName("http://did.esv.bankdata.dk", "FieldList"); 60 | private final static QName _HentDokumentResp_QNAME = new QName("http://did.esv.bankdata.dk", "HentDokumentResp"); 61 | private final static QName _HentDokumentSvarConvresNettrans_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", "hentDokumentSvarConvresNettrans"); 62 | private final static QName _Base64Binary_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "base64Binary"); 63 | private final static QName _ArchivedPdfDocument_QNAME = new QName("http://did.esv.bankdata.dk", "ArchivedPdfDocument"); 64 | private final static QName _Int_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "int"); 65 | private final static QName _AnyURI_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "anyURI"); 66 | private final static QName _Field_QNAME = new QName("http://did.esv.bankdata.dk", "Field"); 67 | private final static QName _Byte_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "byte"); 68 | private final static QName _Double_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "double"); 69 | private final static QName _QName_QNAME = new QName("http://schemas.microsoft.com/2003/10/Serialization/", "QName"); 70 | private final static QName _HentDokumentReqBody_QNAME = new QName("http://did.esv.bankdata.dk", "HentDokumentReqBody"); 71 | private final static QName _DocumentArea_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentArea"); 72 | private final static QName _HentDokumentRequestBody_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", "HentDokumentRequestBody"); 73 | private final static QName _DocumentAreaList_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentAreaList"); 74 | private final static QName _ParameterKey_QNAME = new QName("http://did.esv.bankdata.dk", "Key"); 75 | private final static QName _ParameterValue_QNAME = new QName("http://did.esv.bankdata.dk", "Value"); 76 | private final static QName _DocumentAreaName_QNAME = new QName("http://did.esv.bankdata.dk", "Name"); 77 | private final static QName _DocumentAreaId_QNAME = new QName("http://did.esv.bankdata.dk", "Id"); 78 | private final static QName _ArchivePdfDocumentDocument_QNAME = new QName("http://did.esv.bankdata.dk", "Document"); 79 | private final static QName _DocumentTypeShowCustomerCode_QNAME = new QName("http://did.esv.bankdata.dk", "ShowCustomerCode"); 80 | private final static QName _DocumentTypeMessage_QNAME = new QName("http://did.esv.bankdata.dk", "Message"); 81 | private final static QName _DocumentTypePrintId_QNAME = new QName("http://did.esv.bankdata.dk", "PrintId"); 82 | private final static QName _DocumentTypeDocumentTypeId_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentTypeId"); 83 | private final static QName _DocumentTypeDocumentTypeName_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentTypeName"); 84 | private final static QName _DocumentTypeAccessOnlineBankingCode_QNAME = new QName("http://did.esv.bankdata.dk", "AccessOnlineBankingCode"); 85 | private final static QName _DocumentTypeDocumentAreaId_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentAreaId"); 86 | private final static QName _FieldTypeCodeText_QNAME = new QName("http://did.esv.bankdata.dk", "TypeCodeText"); 87 | private final static QName _FieldObltorCode_QNAME = new QName("http://did.esv.bankdata.dk", "ObltorCode"); 88 | private final static QName _FieldSortNumber_QNAME = new QName("http://did.esv.bankdata.dk", "SortNumber"); 89 | private final static QName _FieldFieldName_QNAME = new QName("http://did.esv.bankdata.dk", "FieldName"); 90 | private final static QName _FieldPlaceCode_QNAME = new QName("http://did.esv.bankdata.dk", "PlaceCode"); 91 | private final static QName _HentDokumentRequestBodyUserId_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", "userId"); 92 | private final static QName _HentDokumentRequestBodyDokId_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", "dokId"); 93 | private final static QName _HentDokumentRequestBodyBankNr_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", "bankNr"); 94 | private final static QName _HentDokumentRequestBodyRefNr_QNAME = new QName("http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", "refNr"); 95 | private final static QName _DocumentInfoReferenceNumber_QNAME = new QName("http://did.esv.bankdata.dk", "ReferenceNumber"); 96 | private final static QName _DocumentInfoDocumentId_QNAME = new QName("http://did.esv.bankdata.dk", "DocumentId"); 97 | 98 | /** 99 | * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: dk.jyskebank.service.dokumentutil.ws 100 | * 101 | */ 102 | public ObjectFactory() { 103 | } 104 | 105 | /** 106 | * Create an instance of {@link Parameter } 107 | * 108 | */ 109 | public Parameter createParameter() { 110 | return new Parameter(); 111 | } 112 | 113 | /** 114 | * Create an instance of {@link DocumentAreaList } 115 | * 116 | */ 117 | public DocumentAreaList createDocumentAreaList() { 118 | return new DocumentAreaList(); 119 | } 120 | 121 | /** 122 | * Create an instance of {@link DocumentType } 123 | * 124 | */ 125 | public DocumentType createDocumentType() { 126 | return new DocumentType(); 127 | } 128 | 129 | /** 130 | * Create an instance of {@link GetDocumentTypes } 131 | * 132 | */ 133 | public GetDocumentTypes createGetDocumentTypes() { 134 | return new GetDocumentTypes(); 135 | } 136 | 137 | /** 138 | * Create an instance of {@link HentDokumentSvarConvres } 139 | * 140 | */ 141 | public HentDokumentSvarConvres createHentDokumentSvarConvres() { 142 | return new HentDokumentSvarConvres(); 143 | } 144 | 145 | /** 146 | * Create an instance of {@link Field } 147 | * 148 | */ 149 | public Field createField() { 150 | return new Field(); 151 | } 152 | 153 | /** 154 | * Create an instance of {@link DocumentTypes } 155 | * 156 | */ 157 | public DocumentTypes createDocumentTypes() { 158 | return new DocumentTypes(); 159 | } 160 | 161 | /** 162 | * Create an instance of {@link ReferenceNumberList } 163 | * 164 | */ 165 | public ReferenceNumberList createReferenceNumberList() { 166 | return new ReferenceNumberList(); 167 | } 168 | 169 | /** 170 | * Create an instance of {@link HentDokumentRequestBody } 171 | * 172 | */ 173 | public HentDokumentRequestBody createHentDokumentRequestBody() { 174 | return new HentDokumentRequestBody(); 175 | } 176 | 177 | /** 178 | * Create an instance of {@link HentDokumentSvar } 179 | * 180 | */ 181 | public HentDokumentSvar createHentDokumentSvar() { 182 | return new HentDokumentSvar(); 183 | } 184 | 185 | /** 186 | * Create an instance of {@link ParameterList } 187 | * 188 | */ 189 | public ParameterList createParameterList() { 190 | return new ParameterList(); 191 | } 192 | 193 | /** 194 | * Create an instance of {@link MessageHeader } 195 | * 196 | */ 197 | public MessageHeader createMessageHeader() { 198 | return new MessageHeader(); 199 | } 200 | 201 | /** 202 | * Create an instance of {@link ArchivePdfDocumentRequest } 203 | * 204 | */ 205 | public ArchivePdfDocumentRequest createArchivePdfDocumentRequest() { 206 | return new ArchivePdfDocumentRequest(); 207 | } 208 | 209 | /** 210 | * Create an instance of {@link DocumentInfo } 211 | * 212 | */ 213 | public DocumentInfo createDocumentInfo() { 214 | return new DocumentInfo(); 215 | } 216 | 217 | /** 218 | * Create an instance of {@link DocumentTypeList } 219 | * 220 | */ 221 | public DocumentTypeList createDocumentTypeList() { 222 | return new DocumentTypeList(); 223 | } 224 | 225 | /** 226 | * Create an instance of {@link DocumentArea } 227 | * 228 | */ 229 | public DocumentArea createDocumentArea() { 230 | return new DocumentArea(); 231 | } 232 | 233 | /** 234 | * Create an instance of {@link FieldList } 235 | * 236 | */ 237 | public FieldList createFieldList() { 238 | return new FieldList(); 239 | } 240 | 241 | /** 242 | * Create an instance of {@link ArchivePdfDocument } 243 | * 244 | */ 245 | public ArchivePdfDocument createArchivePdfDocument() { 246 | return new ArchivePdfDocument(); 247 | } 248 | 249 | /** 250 | * Create an instance of {@link ArchivedPdfDocument } 251 | * 252 | */ 253 | public ArchivedPdfDocument createArchivedPdfDocument() { 254 | return new ArchivedPdfDocument(); 255 | } 256 | 257 | /** 258 | * Create an instance of {@link HentDokumentSvarConvresNettrans } 259 | * 260 | */ 261 | public HentDokumentSvarConvresNettrans createHentDokumentSvarConvresNettrans() { 262 | return new HentDokumentSvarConvresNettrans(); 263 | } 264 | 265 | /** 266 | * Create an instance of {@link DocumentInfoList } 267 | * 268 | */ 269 | public DocumentInfoList createDocumentInfoList() { 270 | return new DocumentInfoList(); 271 | } 272 | 273 | /** 274 | * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} 275 | * 276 | */ 277 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "unsignedLong") 278 | public JAXBElement createUnsignedLong(BigInteger value) { 279 | return new JAXBElement(_UnsignedLong_QNAME, BigInteger.class, null, value); 280 | } 281 | 282 | /** 283 | * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >}} 284 | * 285 | */ 286 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "unsignedByte") 287 | public JAXBElement createUnsignedByte(Short value) { 288 | return new JAXBElement(_UnsignedByte_QNAME, Short.class, null, value); 289 | } 290 | 291 | /** 292 | * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}} 293 | * 294 | */ 295 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "unsignedShort") 296 | public JAXBElement createUnsignedShort(Integer value) { 297 | return new JAXBElement(_UnsignedShort_QNAME, Integer.class, null, value); 298 | } 299 | 300 | /** 301 | * Create an instance of {@link JAXBElement }{@code <}{@link MessageHeader }{@code >}} 302 | * 303 | */ 304 | @XmlElementDecl(namespace = "http://v1.messageheader.esv.bankdata.dk", name = "MessageHeader") 305 | public JAXBElement createMessageHeader(MessageHeader value) { 306 | return new JAXBElement(_MessageHeader_QNAME, MessageHeader.class, null, value); 307 | } 308 | 309 | /** 310 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentInfoList }{@code >}} 311 | * 312 | */ 313 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentInfoList") 314 | public JAXBElement createDocumentInfoList(DocumentInfoList value) { 315 | return new JAXBElement(_DocumentInfoList_QNAME, DocumentInfoList.class, null, value); 316 | } 317 | 318 | /** 319 | * Create an instance of {@link JAXBElement }{@code <}{@link Duration }{@code >}} 320 | * 321 | */ 322 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "duration") 323 | public JAXBElement createDuration(Duration value) { 324 | return new JAXBElement(_Duration_QNAME, Duration.class, null, value); 325 | } 326 | 327 | /** 328 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentTypeList }{@code >}} 329 | * 330 | */ 331 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentTypeList") 332 | public JAXBElement createDocumentTypeList(DocumentTypeList value) { 333 | return new JAXBElement(_DocumentTypeList_QNAME, DocumentTypeList.class, null, value); 334 | } 335 | 336 | /** 337 | * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceNumberList }{@code >}} 338 | * 339 | */ 340 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ReferenceNumberList") 341 | public JAXBElement createReferenceNumberList(ReferenceNumberList value) { 342 | return new JAXBElement(_ReferenceNumberList_QNAME, ReferenceNumberList.class, null, value); 343 | } 344 | 345 | /** 346 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentType }{@code >}} 347 | * 348 | */ 349 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentType") 350 | public JAXBElement createDocumentType(DocumentType value) { 351 | return new JAXBElement(_DocumentType_QNAME, DocumentType.class, null, value); 352 | } 353 | 354 | /** 355 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentTypes }{@code >}} 356 | * 357 | */ 358 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentTypes") 359 | public JAXBElement createDocumentTypes(DocumentTypes value) { 360 | return new JAXBElement(_DocumentTypes_QNAME, DocumentTypes.class, null, value); 361 | } 362 | 363 | /** 364 | * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >}} 365 | * 366 | */ 367 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "long") 368 | public JAXBElement createLong(Long value) { 369 | return new JAXBElement(_Long_QNAME, Long.class, null, value); 370 | } 371 | 372 | /** 373 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentSvarConvres }{@code >}} 374 | * 375 | */ 376 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", name = "hentDokumentSvarConvres") 377 | public JAXBElement createHentDokumentSvarConvres(HentDokumentSvarConvres value) { 378 | return new JAXBElement(_HentDokumentSvarConvres_QNAME, HentDokumentSvarConvres.class, null, value); 379 | } 380 | 381 | /** 382 | * Create an instance of {@link JAXBElement }{@code <}{@link Float }{@code >}} 383 | * 384 | */ 385 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "float") 386 | public JAXBElement createFloat(Float value) { 387 | return new JAXBElement(_Float_QNAME, Float.class, null, value); 388 | } 389 | 390 | /** 391 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentInfo }{@code >}} 392 | * 393 | */ 394 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentInfo") 395 | public JAXBElement createDocumentInfo(DocumentInfo value) { 396 | return new JAXBElement(_DocumentInfo_QNAME, DocumentInfo.class, null, value); 397 | } 398 | 399 | /** 400 | * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}} 401 | * 402 | */ 403 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "dateTime") 404 | public JAXBElement createDateTime(XMLGregorianCalendar value) { 405 | return new JAXBElement(_DateTime_QNAME, XMLGregorianCalendar.class, null, value); 406 | } 407 | 408 | /** 409 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentSvar }{@code >}} 410 | * 411 | */ 412 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", name = "hentDokumentSvar") 413 | public JAXBElement createHentDokumentSvar(HentDokumentSvar value) { 414 | return new JAXBElement(_HentDokumentSvar_QNAME, HentDokumentSvar.class, null, value); 415 | } 416 | 417 | /** 418 | * Create an instance of {@link JAXBElement }{@code <}{@link ArchivePdfDocument }{@code >}} 419 | * 420 | */ 421 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ArchivePdfDocument") 422 | public JAXBElement createArchivePdfDocument(ArchivePdfDocument value) { 423 | return new JAXBElement(_ArchivePdfDocument_QNAME, ArchivePdfDocument.class, null, value); 424 | } 425 | 426 | /** 427 | * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}} 428 | * 429 | */ 430 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "anyType") 431 | public JAXBElement createAnyType(Object value) { 432 | return new JAXBElement(_AnyType_QNAME, Object.class, null, value); 433 | } 434 | 435 | /** 436 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 437 | * 438 | */ 439 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "string") 440 | public JAXBElement createString(String value) { 441 | return new JAXBElement(_String_QNAME, String.class, null, value); 442 | } 443 | 444 | /** 445 | * Create an instance of {@link JAXBElement }{@code <}{@link ParameterList }{@code >}} 446 | * 447 | */ 448 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ParameterList") 449 | public JAXBElement createParameterList(ParameterList value) { 450 | return new JAXBElement(_ParameterList_QNAME, ParameterList.class, null, value); 451 | } 452 | 453 | /** 454 | * Create an instance of {@link JAXBElement }{@code <}{@link Parameter }{@code >}} 455 | * 456 | */ 457 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Parameter") 458 | public JAXBElement createParameter(Parameter value) { 459 | return new JAXBElement(_Parameter_QNAME, Parameter.class, null, value); 460 | } 461 | 462 | /** 463 | * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >}} 464 | * 465 | */ 466 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "unsignedInt") 467 | public JAXBElement createUnsignedInt(Long value) { 468 | return new JAXBElement(_UnsignedInt_QNAME, Long.class, null, value); 469 | } 470 | 471 | /** 472 | * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}} 473 | * 474 | */ 475 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "char") 476 | public JAXBElement createChar(Integer value) { 477 | return new JAXBElement(_Char_QNAME, Integer.class, null, value); 478 | } 479 | 480 | /** 481 | * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >}} 482 | * 483 | */ 484 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "short") 485 | public JAXBElement createShort(Short value) { 486 | return new JAXBElement(_Short_QNAME, Short.class, null, value); 487 | } 488 | 489 | /** 490 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 491 | * 492 | */ 493 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "guid") 494 | public JAXBElement createGuid(String value) { 495 | return new JAXBElement(_Guid_QNAME, String.class, null, value); 496 | } 497 | 498 | /** 499 | * Create an instance of {@link JAXBElement }{@code <}{@link GetDocumentTypes }{@code >}} 500 | * 501 | */ 502 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "GetDocumentTypes") 503 | public JAXBElement createGetDocumentTypes(GetDocumentTypes value) { 504 | return new JAXBElement(_GetDocumentTypes_QNAME, GetDocumentTypes.class, null, value); 505 | } 506 | 507 | /** 508 | * Create an instance of {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}} 509 | * 510 | */ 511 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "decimal") 512 | public JAXBElement createDecimal(BigDecimal value) { 513 | return new JAXBElement(_Decimal_QNAME, BigDecimal.class, null, value); 514 | } 515 | 516 | /** 517 | * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} 518 | * 519 | */ 520 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "boolean") 521 | public JAXBElement createBoolean(Boolean value) { 522 | return new JAXBElement(_Boolean_QNAME, Boolean.class, null, value); 523 | } 524 | 525 | /** 526 | * Create an instance of {@link JAXBElement }{@code <}{@link FieldList }{@code >}} 527 | * 528 | */ 529 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "FieldList") 530 | public JAXBElement createFieldList(FieldList value) { 531 | return new JAXBElement(_FieldList_QNAME, FieldList.class, null, value); 532 | } 533 | 534 | /** 535 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentSvar }{@code >}} 536 | * 537 | */ 538 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "HentDokumentResp") 539 | public JAXBElement createHentDokumentResp(HentDokumentSvar value) { 540 | return new JAXBElement(_HentDokumentResp_QNAME, HentDokumentSvar.class, null, value); 541 | } 542 | 543 | /** 544 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentSvarConvresNettrans }{@code >}} 545 | * 546 | */ 547 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.DID.DokumentUtil.Generated", name = "hentDokumentSvarConvresNettrans") 548 | public JAXBElement createHentDokumentSvarConvresNettrans(HentDokumentSvarConvresNettrans value) { 549 | return new JAXBElement(_HentDokumentSvarConvresNettrans_QNAME, HentDokumentSvarConvresNettrans.class, null, value); 550 | } 551 | 552 | /** 553 | * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} 554 | * 555 | */ 556 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "base64Binary") 557 | public JAXBElement createBase64Binary(byte[] value) { 558 | return new JAXBElement(_Base64Binary_QNAME, byte[].class, null, ((byte[]) value)); 559 | } 560 | 561 | /** 562 | * Create an instance of {@link JAXBElement }{@code <}{@link ArchivedPdfDocument }{@code >}} 563 | * 564 | */ 565 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ArchivedPdfDocument") 566 | public JAXBElement createArchivedPdfDocument(ArchivedPdfDocument value) { 567 | return new JAXBElement(_ArchivedPdfDocument_QNAME, ArchivedPdfDocument.class, null, value); 568 | } 569 | 570 | /** 571 | * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}} 572 | * 573 | */ 574 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "int") 575 | public JAXBElement createInt(Integer value) { 576 | return new JAXBElement(_Int_QNAME, Integer.class, null, value); 577 | } 578 | 579 | /** 580 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 581 | * 582 | */ 583 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "anyURI") 584 | public JAXBElement createAnyURI(String value) { 585 | return new JAXBElement(_AnyURI_QNAME, String.class, null, value); 586 | } 587 | 588 | /** 589 | * Create an instance of {@link JAXBElement }{@code <}{@link Field }{@code >}} 590 | * 591 | */ 592 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Field") 593 | public JAXBElement createField(Field value) { 594 | return new JAXBElement(_Field_QNAME, Field.class, null, value); 595 | } 596 | 597 | /** 598 | * Create an instance of {@link JAXBElement }{@code <}{@link Byte }{@code >}} 599 | * 600 | */ 601 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "byte") 602 | public JAXBElement createByte(Byte value) { 603 | return new JAXBElement(_Byte_QNAME, Byte.class, null, value); 604 | } 605 | 606 | /** 607 | * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}} 608 | * 609 | */ 610 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "double") 611 | public JAXBElement createDouble(Double value) { 612 | return new JAXBElement(_Double_QNAME, Double.class, null, value); 613 | } 614 | 615 | /** 616 | * Create an instance of {@link JAXBElement }{@code <}{@link QName }{@code >}} 617 | * 618 | */ 619 | @XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "QName") 620 | public JAXBElement createQName(QName value) { 621 | return new JAXBElement(_QName_QNAME, QName.class, null, value); 622 | } 623 | 624 | /** 625 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentRequestBody }{@code >}} 626 | * 627 | */ 628 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "HentDokumentReqBody") 629 | public JAXBElement createHentDokumentReqBody(HentDokumentRequestBody value) { 630 | return new JAXBElement(_HentDokumentReqBody_QNAME, HentDokumentRequestBody.class, null, value); 631 | } 632 | 633 | /** 634 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentArea }{@code >}} 635 | * 636 | */ 637 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentArea") 638 | public JAXBElement createDocumentArea(DocumentArea value) { 639 | return new JAXBElement(_DocumentArea_QNAME, DocumentArea.class, null, value); 640 | } 641 | 642 | /** 643 | * Create an instance of {@link JAXBElement }{@code <}{@link HentDokumentRequestBody }{@code >}} 644 | * 645 | */ 646 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", name = "HentDokumentRequestBody") 647 | public JAXBElement createHentDokumentRequestBody(HentDokumentRequestBody value) { 648 | return new JAXBElement(_HentDokumentRequestBody_QNAME, HentDokumentRequestBody.class, null, value); 649 | } 650 | 651 | /** 652 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentAreaList }{@code >}} 653 | * 654 | */ 655 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentAreaList") 656 | public JAXBElement createDocumentAreaList(DocumentAreaList value) { 657 | return new JAXBElement(_DocumentAreaList_QNAME, DocumentAreaList.class, null, value); 658 | } 659 | 660 | /** 661 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 662 | * 663 | */ 664 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Key", scope = Parameter.class) 665 | public JAXBElement createParameterKey(String value) { 666 | return new JAXBElement(_ParameterKey_QNAME, String.class, Parameter.class, value); 667 | } 668 | 669 | /** 670 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 671 | * 672 | */ 673 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Value", scope = Parameter.class) 674 | public JAXBElement createParameterValue(String value) { 675 | return new JAXBElement(_ParameterValue_QNAME, String.class, Parameter.class, value); 676 | } 677 | 678 | /** 679 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 680 | * 681 | */ 682 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Name", scope = DocumentArea.class) 683 | public JAXBElement createDocumentAreaName(String value) { 684 | return new JAXBElement(_DocumentAreaName_QNAME, String.class, DocumentArea.class, value); 685 | } 686 | 687 | /** 688 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 689 | * 690 | */ 691 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Id", scope = DocumentArea.class) 692 | public JAXBElement createDocumentAreaId(String value) { 693 | return new JAXBElement(_DocumentAreaId_QNAME, String.class, DocumentArea.class, value); 694 | } 695 | 696 | /** 697 | * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} 698 | * 699 | */ 700 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Document", scope = ArchivePdfDocument.class) 701 | public JAXBElement createArchivePdfDocumentDocument(byte[] value) { 702 | return new JAXBElement(_ArchivePdfDocumentDocument_QNAME, byte[].class, ArchivePdfDocument.class, ((byte[]) value)); 703 | } 704 | 705 | /** 706 | * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceNumberList }{@code >}} 707 | * 708 | */ 709 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ReferenceNumberList", scope = ArchivePdfDocument.class) 710 | public JAXBElement createArchivePdfDocumentReferenceNumberList(ReferenceNumberList value) { 711 | return new JAXBElement(_ReferenceNumberList_QNAME, ReferenceNumberList.class, ArchivePdfDocument.class, value); 712 | } 713 | 714 | /** 715 | * Create an instance of {@link JAXBElement }{@code <}{@link ParameterList }{@code >}} 716 | * 717 | */ 718 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ParameterList", scope = ArchivePdfDocument.class) 719 | public JAXBElement createArchivePdfDocumentParameterList(ParameterList value) { 720 | return new JAXBElement(_ParameterList_QNAME, ParameterList.class, ArchivePdfDocument.class, value); 721 | } 722 | 723 | /** 724 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 725 | * 726 | */ 727 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ShowCustomerCode", scope = DocumentType.class) 728 | public JAXBElement createDocumentTypeShowCustomerCode(String value) { 729 | return new JAXBElement(_DocumentTypeShowCustomerCode_QNAME, String.class, DocumentType.class, value); 730 | } 731 | 732 | /** 733 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 734 | * 735 | */ 736 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "Message", scope = DocumentType.class) 737 | public JAXBElement createDocumentTypeMessage(String value) { 738 | return new JAXBElement(_DocumentTypeMessage_QNAME, String.class, DocumentType.class, value); 739 | } 740 | 741 | /** 742 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 743 | * 744 | */ 745 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "PrintId", scope = DocumentType.class) 746 | public JAXBElement createDocumentTypePrintId(String value) { 747 | return new JAXBElement(_DocumentTypePrintId_QNAME, String.class, DocumentType.class, value); 748 | } 749 | 750 | /** 751 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 752 | * 753 | */ 754 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentTypeId", scope = DocumentType.class) 755 | public JAXBElement createDocumentTypeDocumentTypeId(String value) { 756 | return new JAXBElement(_DocumentTypeDocumentTypeId_QNAME, String.class, DocumentType.class, value); 757 | } 758 | 759 | /** 760 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 761 | * 762 | */ 763 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentTypeName", scope = DocumentType.class) 764 | public JAXBElement createDocumentTypeDocumentTypeName(String value) { 765 | return new JAXBElement(_DocumentTypeDocumentTypeName_QNAME, String.class, DocumentType.class, value); 766 | } 767 | 768 | /** 769 | * Create an instance of {@link JAXBElement }{@code <}{@link FieldList }{@code >}} 770 | * 771 | */ 772 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "FieldList", scope = DocumentType.class) 773 | public JAXBElement createDocumentTypeFieldList(FieldList value) { 774 | return new JAXBElement(_FieldList_QNAME, FieldList.class, DocumentType.class, value); 775 | } 776 | 777 | /** 778 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 779 | * 780 | */ 781 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "AccessOnlineBankingCode", scope = DocumentType.class) 782 | public JAXBElement createDocumentTypeAccessOnlineBankingCode(String value) { 783 | return new JAXBElement(_DocumentTypeAccessOnlineBankingCode_QNAME, String.class, DocumentType.class, value); 784 | } 785 | 786 | /** 787 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 788 | * 789 | */ 790 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentAreaId", scope = DocumentType.class) 791 | public JAXBElement createDocumentTypeDocumentAreaId(String value) { 792 | return new JAXBElement(_DocumentTypeDocumentAreaId_QNAME, String.class, DocumentType.class, value); 793 | } 794 | 795 | /** 796 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentInfoList }{@code >}} 797 | * 798 | */ 799 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentInfoList", scope = ArchivedPdfDocument.class) 800 | public JAXBElement createArchivedPdfDocumentDocumentInfoList(DocumentInfoList value) { 801 | return new JAXBElement(_DocumentInfoList_QNAME, DocumentInfoList.class, ArchivedPdfDocument.class, value); 802 | } 803 | 804 | /** 805 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentTypeList }{@code >}} 806 | * 807 | */ 808 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentTypeList", scope = DocumentTypes.class) 809 | public JAXBElement createDocumentTypesDocumentTypeList(DocumentTypeList value) { 810 | return new JAXBElement(_DocumentTypeList_QNAME, DocumentTypeList.class, DocumentTypes.class, value); 811 | } 812 | 813 | /** 814 | * Create an instance of {@link JAXBElement }{@code <}{@link DocumentAreaList }{@code >}} 815 | * 816 | */ 817 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentAreaList", scope = DocumentTypes.class) 818 | public JAXBElement createDocumentTypesDocumentAreaList(DocumentAreaList value) { 819 | return new JAXBElement(_DocumentAreaList_QNAME, DocumentAreaList.class, DocumentTypes.class, value); 820 | } 821 | 822 | /** 823 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 824 | * 825 | */ 826 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "TypeCodeText", scope = Field.class) 827 | public JAXBElement createFieldTypeCodeText(String value) { 828 | return new JAXBElement(_FieldTypeCodeText_QNAME, String.class, Field.class, value); 829 | } 830 | 831 | /** 832 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 833 | * 834 | */ 835 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ObltorCode", scope = Field.class) 836 | public JAXBElement createFieldObltorCode(String value) { 837 | return new JAXBElement(_FieldObltorCode_QNAME, String.class, Field.class, value); 838 | } 839 | 840 | /** 841 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 842 | * 843 | */ 844 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "SortNumber", scope = Field.class) 845 | public JAXBElement createFieldSortNumber(String value) { 846 | return new JAXBElement(_FieldSortNumber_QNAME, String.class, Field.class, value); 847 | } 848 | 849 | /** 850 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 851 | * 852 | */ 853 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "FieldName", scope = Field.class) 854 | public JAXBElement createFieldFieldName(String value) { 855 | return new JAXBElement(_FieldFieldName_QNAME, String.class, Field.class, value); 856 | } 857 | 858 | /** 859 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 860 | * 861 | */ 862 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "PlaceCode", scope = Field.class) 863 | public JAXBElement createFieldPlaceCode(String value) { 864 | return new JAXBElement(_FieldPlaceCode_QNAME, String.class, Field.class, value); 865 | } 866 | 867 | /** 868 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 869 | * 870 | */ 871 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", name = "userId", scope = HentDokumentRequestBody.class) 872 | public JAXBElement createHentDokumentRequestBodyUserId(String value) { 873 | return new JAXBElement(_HentDokumentRequestBodyUserId_QNAME, String.class, HentDokumentRequestBody.class, value); 874 | } 875 | 876 | /** 877 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 878 | * 879 | */ 880 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", name = "dokId", scope = HentDokumentRequestBody.class) 881 | public JAXBElement createHentDokumentRequestBodyDokId(String value) { 882 | return new JAXBElement(_HentDokumentRequestBodyDokId_QNAME, String.class, HentDokumentRequestBody.class, value); 883 | } 884 | 885 | /** 886 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 887 | * 888 | */ 889 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", name = "bankNr", scope = HentDokumentRequestBody.class) 890 | public JAXBElement createHentDokumentRequestBodyBankNr(String value) { 891 | return new JAXBElement(_HentDokumentRequestBodyBankNr_QNAME, String.class, HentDokumentRequestBody.class, value); 892 | } 893 | 894 | /** 895 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 896 | * 897 | */ 898 | @XmlElementDecl(namespace = "http://schemas.datacontract.org/2004/07/BD.ESV.DID.DokumentUtil", name = "refNr", scope = HentDokumentRequestBody.class) 899 | public JAXBElement createHentDokumentRequestBodyRefNr(String value) { 900 | return new JAXBElement(_HentDokumentRequestBodyRefNr_QNAME, String.class, HentDokumentRequestBody.class, value); 901 | } 902 | 903 | /** 904 | * Create an instance of {@link JAXBElement }{@code <}{@link ArchivePdfDocument }{@code >}} 905 | * 906 | */ 907 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ArchivePdfDocument", scope = ArchivePdfDocumentRequest.class) 908 | public JAXBElement createArchivePdfDocumentRequestArchivePdfDocument(ArchivePdfDocument value) { 909 | return new JAXBElement(_ArchivePdfDocument_QNAME, ArchivePdfDocument.class, ArchivePdfDocumentRequest.class, value); 910 | } 911 | 912 | /** 913 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 914 | * 915 | */ 916 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "ReferenceNumber", scope = DocumentInfo.class) 917 | public JAXBElement createDocumentInfoReferenceNumber(String value) { 918 | return new JAXBElement(_DocumentInfoReferenceNumber_QNAME, String.class, DocumentInfo.class, value); 919 | } 920 | 921 | /** 922 | * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} 923 | * 924 | */ 925 | @XmlElementDecl(namespace = "http://did.esv.bankdata.dk", name = "DocumentId", scope = DocumentInfo.class) 926 | public JAXBElement createDocumentInfoDocumentId(String value) { 927 | return new JAXBElement(_DocumentInfoDocumentId_QNAME, String.class, DocumentInfo.class, value); 928 | } 929 | 930 | } 931 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") version "1.3.61" 3 | kotlin("kapt") version "1.3.61" 4 | id("no.nils.wsdl2java") 5 | } 6 | 7 | repositories { 8 | jcenter() 9 | } 10 | 11 | dependencies { 12 | implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61") 13 | 14 | testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.2") 15 | testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.2") 16 | } 17 | 18 | tasks.test { 19 | useJUnitPlatform() 20 | } 21 | 22 | wsdl2java { 23 | wsdlsToGenerate = listOf( 24 | listOf(project.file("src/main/resources/custom/stockqoute.wsdl")) 25 | ) 26 | wsdlDir = project.file("src/main/resources/custom") 27 | cxfVersion = "+" 28 | } 29 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilsmagnus/wsdl2java/a9b54484f5bb7b60f9932f6e6bf488ce7c51bf1d/src/test/resources/test-project-kotlin/settings.gradle.kts -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/main/java/no/nils/consumers/StockQuoteConsumer.kt: -------------------------------------------------------------------------------- 1 | package no.nils.consumers 2 | 3 | import net.webservicex.GetQuote 4 | 5 | class StockQuoteConsumer { 6 | fun iWillCompile() { 7 | val getQuote = GetQuote() 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/main/resources/custom/currencyconvertor.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 201 | 202 | 203 | 204 | 205 | 206 | 207 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 208 | 209 | 210 | 211 | 212 | 213 | 214 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/main/resources/custom/glogalweather.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | Get weather report for all major cities around the world. 78 | 79 | 80 | 81 | 82 | Get all major cities by country name(full / part). 83 | 84 | 85 | 86 | 87 | 88 | 89 | Get weather report for all major cities around the world. 90 | 91 | 92 | 93 | 94 | Get all major cities by country name(full / part). 95 | 96 | 97 | 98 | 99 | 100 | 101 | Get weather report for all major cities around the world. 102 | 103 | 104 | 105 | 106 | Get all major cities by country name(full / part). 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/main/resources/custom/stockqoute.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | Get Stock quote for a company Symbol 43 | 44 | 45 | 46 | 47 | 48 | 49 | Get Stock quote for a company Symbol 50 | 51 | 52 | 53 | 54 | 55 | 56 | Get Stock quote for a company Symbol 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/main/resources/xsd/CustomersAndOrders.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /src/test/resources/test-project-kotlin/src/test/java/no/nils/consumers/StockQuoteConsumerTest.kt: -------------------------------------------------------------------------------- 1 | package no.nils.consumers 2 | 3 | import org.junit.jupiter.api.Test 4 | 5 | class StockQuoteConsumerTest { 6 | @Test 7 | fun willCompile() { 8 | StockQuoteConsumer().iWillCompile() 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/test-project/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | id 'no.nils.wsdl2java' 4 | } 5 | 6 | repositories { 7 | jcenter() 8 | } 9 | 10 | dependencies { 11 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2' 12 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2' 13 | // enable extension support for wsdl2java 14 | wsdl2java 'org.jvnet.jaxb2_commons:jaxb2-basics-runtime:0.11.0' 15 | wsdl2java 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' 16 | implementation 'org.jvnet.jaxb2_commons:jaxb2-basics-runtime:0.11.0' 17 | implementation 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' 18 | } 19 | 20 | test { 21 | useJUnitPlatform() 22 | } 23 | 24 | wsdl2java { 25 | wsdlsToGenerate = [ 26 | ['-xjc-Xequals', '-xjc-XhashCode', file('src/main/resources/wsdl/stockqoute.wsdl')] 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /src/test/resources/test-project/settings.gradle: -------------------------------------------------------------------------------- 1 | buildCache { 2 | local { 3 | directory = new File(rootDir, 'build-cache') 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/main/java/no/nils/consumers/StockQuoteConsumer.java: -------------------------------------------------------------------------------- 1 | package no.nils.consumers; 2 | 3 | import net.webservicex.GetQuote; 4 | 5 | public class StockQuoteConsumer { 6 | public void iWillCompile() { 7 | GetQuote getQuote = new GetQuote(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/main/resources/wsdl/currencyconvertor.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 201 | 202 | 203 | 204 | 205 | 206 | 207 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 208 | 209 | 210 | 211 | 212 | 213 | 214 | <br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote> 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/main/resources/wsdl/glogalweather.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | Get weather report for all major cities around the world. 78 | 79 | 80 | 81 | 82 | Get all major cities by country name(full / part). 83 | 84 | 85 | 86 | 87 | 88 | 89 | Get weather report for all major cities around the world. 90 | 91 | 92 | 93 | 94 | Get all major cities by country name(full / part). 95 | 96 | 97 | 98 | 99 | 100 | 101 | Get weather report for all major cities around the world. 102 | 103 | 104 | 105 | 106 | Get all major cities by country name(full / part). 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/main/resources/wsdl/stockqoute.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | Get Stock quote for a company Symbol 43 | 44 | 45 | 46 | 47 | 48 | 49 | Get Stock quote for a company Symbol 50 | 51 | 52 | 53 | 54 | 55 | 56 | Get Stock quote for a company Symbol 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/main/resources/xsd/CustomersAndOrders.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /src/test/resources/test-project/src/test/java/no/nils/consumers/StockQuoteConsumerTest.java: -------------------------------------------------------------------------------- 1 | package no.nils.consumers; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | public class StockQuoteConsumerTest { 6 | 7 | @Test 8 | public void willCompile() { 9 | new StockQuoteConsumer().iWillCompile(); 10 | } 11 | } 12 | --------------------------------------------------------------------------------