diff options
author | gmcdonald | 2010-02-13 01:32:03 +0000 |
---|---|---|
committer | gmcdonald | 2010-02-13 01:32:03 +0000 |
commit | 0425aadc78680e53000fd0108b540d6eca048516 (patch) | |
tree | 8ec7ab8e015d454c5ec586dfc91e05a2dce1cfc0 /test | |
download | axis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.gz axis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.bz2 |
Moving axis svn, part of TLP move INFRA-2441
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
207 files changed, 43075 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 0000000..c95f314 --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,2 @@ +TESTS = +SUBDIRS = core diff --git a/test/core/Makefile.am b/test/core/Makefile.am new file mode 100644 index 0000000..3fa8f58 --- /dev/null +++ b/test/core/Makefile.am @@ -0,0 +1,3 @@ +TESTS = +SUBDIRS = description context engine deployment addr transport clientapi + diff --git a/test/core/addr/Makefile.am b/test/core/addr/Makefile.am new file mode 100644 index 0000000..9d42172 --- /dev/null +++ b/test/core/addr/Makefile.am @@ -0,0 +1,21 @@ +TESTS = test_addr +check_PROGRAMS = test_addr +noinst_PROGRAMS = test_addr +SUBDIRS = +AM_CFLAGS = -g -pthread +test_addr_SOURCES = test_addr.c + +test_addr_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/neethi/src/libneethi.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la + +INCLUDES = -I${CUTEST_HOME}/include \ + -I$(top_builddir)/src/xml/guththila \ + -I$(top_builddir)/include \ + -I ../../../util/include \ + -I ../../../axiom/include + diff --git a/test/core/addr/test_addr.c b/test/core/addr/test_addr.c new file mode 100644 index 0000000..c013a57 --- /dev/null +++ b/test/core/addr/test_addr.c @@ -0,0 +1,182 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <axis2_msg_info_headers.h> +#include <axutil_env.h> +#include <axutil_allocator.h> +#include <axis2_endpoint_ref.h> +#include <stdio.h> + +int +axis2_test_msg_info_headers( + ) +{ + axis2_endpoint_ref_t *to = NULL; + axis2_endpoint_ref_t *from = NULL; + axis2_endpoint_ref_t *reply_to = NULL; + axis2_endpoint_ref_t *fault_to = NULL; + axis2_endpoint_ref_t *axis2_endpoint_ref = NULL; + axis2_status_t status = AXIS2_FAILURE; + axis2_msg_info_headers_t *axis2_msg_info_headers = NULL; + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + const axis2_char_t *action = "test action"; + const axis2_char_t *get_action = NULL; + to = axis2_endpoint_ref_create(env, "to"); + from = axis2_endpoint_ref_create(env, "from"); + reply_to = axis2_endpoint_ref_create(env, "reply to"); + fault_to = axis2_endpoint_ref_create(env, "fault to"); + + axis2_msg_info_headers = axis2_msg_info_headers_create(env, NULL, action); + if (axis2_msg_info_headers) + printf("SUCCESS axis2_msg_info_headers_create\n"); + else + { + printf("ERROR AXIS2_MSG_INFO_HEADERS_CREATE\n"); + return -1; + } + + status = axis2_msg_info_headers_set_to(axis2_msg_info_headers, env, to); + + if (status == AXIS2_SUCCESS) + printf("SUCCESS axis2_msg_info_headers_set_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_set_to"); + return -1; + } + + axis2_endpoint_ref = + axis2_msg_info_headers_get_to(axis2_msg_info_headers, env); + + if (axis2_endpoint_ref) + printf("SUCCESS axis2_msg_info_headers_get_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_get_to\n"); + return -1; + } + + status = AXIS2_FAILURE; + status = axis2_msg_info_headers_set_from(axis2_msg_info_headers, env, from); + + if (status) + printf("SUCCESS axis2_msg_info_headers_set_from\n"); + else + { + printf("ERROR axis2_msg_info_headers_set_from\n"); + return -1; + } + + axis2_endpoint_ref = NULL; + axis2_endpoint_ref = + axis2_msg_info_headers_get_from(axis2_msg_info_headers, env); + + if (axis2_endpoint_ref) + printf("SUCCESS axis2_msg_info_headers_get_from\n"); + else + { + printf("ERROR axis2_msg_info_headers_get_from\n"); + return -1; + } + + axis2_endpoint_ref = NULL; + axis2_endpoint_ref = + axis2_msg_info_headers_get_reply_to(axis2_msg_info_headers, env); + + if (status) + printf("SUCCESS axis2_msg_info_headers_get_reply_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_get_reply_to\n"); + return -1; + } + + status = AXIS2_FAILURE; + status = + axis2_msg_info_headers_set_reply_to(axis2_msg_info_headers, env, + reply_to); + + if (status) + printf("SUCCESS axis2_msg_info_headers_set_reply_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_set_reply_to\n"); + return -1; + } + + status = AXIS2_FAILURE; + status = + axis2_msg_info_headers_set_fault_to(axis2_msg_info_headers, env, + fault_to); + if (status) + printf("SUCCESS axis2_msg_info_headers_set_fault_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_set_fault_to\n"); + return -1; + } + + axis2_endpoint_ref = NULL; + axis2_endpoint_ref = + axis2_msg_info_headers_get_fault_to(axis2_msg_info_headers, env); + if (axis2_endpoint_ref) + printf("SUCCESS axis2_msg_info_headers_get_fault_to\n"); + else + { + printf("ERROR axis2_msg_info_headers_get_fault_to\n"); + return -1; + } + + get_action = axis2_msg_info_headers_get_action(axis2_msg_info_headers, env); + if (get_action) + printf("SUCCESS axis2_msg_info_headers_get_action\n"); + else + { + printf("ERROR axis2_msg_info_headers_get_action\n"); + return -1; + } + + status = AXIS2_FAILURE; + status = + axis2_msg_info_headers_set_action(axis2_msg_info_headers, env, action); + if (status) + printf("SUCCESS axis2_msg_info_headers_set_action\n"); + else + { + printf("ERROR axis2_msg_info_headers_set_action\n"); + } + + status = AXIS2_FAILURE; + /* status = axis2_msg_info_headers_free(axis2_msg_info_headers, env); */ + if (status) + printf("SUCCESS axis2_msg_info_headers_free\n"); + else + { + printf("ERROR axis2_msg_info_headers_free\n"); + } + return 0; +} + +int +main( + ) +{ + axis2_test_msg_info_headers(); + return 0; +} diff --git a/test/core/clientapi/Makefile.am b/test/core/clientapi/Makefile.am new file mode 100644 index 0000000..e88c350 --- /dev/null +++ b/test/core/clientapi/Makefile.am @@ -0,0 +1,49 @@ +TESTS = test_client test_clientapi test_svc_client_handler_count +noinst_PROGRAMS = test_client test_clientapi test_svc_client_handler_count +check_PROGRAMS = test_client test_clientapi test_svc_client_handler_count +SUBDIRS = +AM_CFLAGS = -g -pthread +test_client_SOURCES = test_client.c +test_clientapi_SOURCES = test_clientapi.c +test_svc_client_handler_count_SOURCES = test_svc_client_handler_count.c + +test_clientapi_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/neethi/src/libneethi.la \ + -lpthread \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la + +test_client_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/neethi/src/libneethi.la \ + -lpthread \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la + +test_svc_client_handler_count_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/neethi/src/libneethi.la \ + -lpthread \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la + + +INCLUDES = -I${CUTEST_HOME}/include \ + -I$(top_builddir)/include \ + -I$(top_builddir)/src/core/description \ + -I$(top_builddir)/src/core/context \ + -I$(top_builddir)/src/core/phaseresolver \ + -I$(top_builddir)/src/core/deployment \ + -I$(top_builddir)/src/core/engine \ + -I$(top_builddir)/src/core/clientapi \ + -I ../../../util/include \ + -I ../../../neethi/include \ + -I ../../../axiom/include + diff --git a/test/core/clientapi/addr_echo.xml b/test/core/clientapi/addr_echo.xml new file mode 100644 index 0000000..85284bf --- /dev/null +++ b/test/core/clientapi/addr_echo.xml @@ -0,0 +1,23 @@ +<?xml version='1.0' encoding='UTF-8'?> +<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa= +"http://schemas.xmlsoap.org/ws/2004/08/addressing"> + <soapenv:Header> + <wsrm:Sequence xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" soapenv:mustUnderstand="1"> + <wsrm:Identifier>uuid:967F11455D2EC0EC9411374901147634</wsrm:Identifier> + <wsrm:MessageNumber>1</wsrm:MessageNumber> + <wsrm:LastMessage /> + </wsrm:Sequence> + <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://127.0.0.1:9090/axis2/services/echo</wsa:To> + <wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://127.0.0.1:9090/axis2/services/echo/__OPERATION_OUT_IN__</wsa:Action> + <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> + <wsa:Address>http://192.168.1.217:9090/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__</wsa:Address> + </wsa:ReplyTo> + <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">38DDECF77196B604F511374901138822 + </wsa:MessageID> + </soapenv:Header> + <soapenv:Body> + <echoString xmlns=""> + <text xmlns="">echo5</text> + </echoString> + </soapenv:Body> + </soapenv:Envelope>
\ No newline at end of file diff --git a/test/core/clientapi/echo.xml b/test/core/clientapi/echo.xml new file mode 100644 index 0000000..fad1895 --- /dev/null +++ b/test/core/clientapi/echo.xml @@ -0,0 +1 @@ +<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><echoString><text>echo5</text></echoString></soapenv:Body></soapenv:Envelope> diff --git a/test/core/clientapi/test_client.c b/test/core/clientapi/test_client.c new file mode 100644 index 0000000..83a417e --- /dev/null +++ b/test/core/clientapi/test_client.c @@ -0,0 +1,182 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <strings.h> +#include <string.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <netdb.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> +#include <axis2_const.h> +#include <stdlib.h> + +/* Function prototypes */ +int write_to_socket( + const char *address, + const char *port, + const char *filename, + const char *endpoint); + +/* End of function prototypes */ + +void +error( + const char *msg) +{ + perror(msg); + exit(0); +} + +int +main( + int argc, + char *argv[]) +{ + const axis2_char_t *hostname = "localhost"; + const axis2_char_t *port = "9090"; + const axis2_char_t *filename = "echo.xml"; + const axis2_char_t *endpoint = "/axis2/services/echo/echo"; + int c; + extern char *optarg; + + while ((c = getopt(argc, argv, ":h:p:f:e:")) != -1) + { + switch (c) + { + case 'h': + hostname = optarg; + break; + case 'p': + port = optarg; + break; + case 'f': + filename = optarg; + break; + case 'e': + endpoint = optarg; + break; + } + } + + write_to_socket(hostname, port, filename, endpoint); + return 0; +} + +int +write_to_socket( + const char *address, + const char *port, + const char *filename, + const char *endpoint) +{ + axis2_char_t buffer_l[4999]; + int sockfd, + portno, + n, + i; + struct sockaddr_in serv_addr; + struct hostent *server; + struct stat buf; + axis2_char_t *buffer; + axis2_char_t tmpstr[10]; + int bufsize = 0; + + portno = atoi(port); + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd < 0) + error("ERROR opening socket"); + server = gethostbyname(address); + if (server == NULL) + { + fprintf(stderr, "ERROR, no such host\n"); + exit(0); + } + bzero((char *) &serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + bcopy((char *) server->h_addr, + (char *) &serv_addr.sin_addr.s_addr, server->h_length); + serv_addr.sin_port = htons(portno); + if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) + error("ERROR connecting"); + + /* Read from file */ + stat(filename, &buf); + bufsize = (buf.st_size + 1) * sizeof(char); + buffer = (char *) malloc(bufsize); + int fd = open(filename, O_RDONLY, 0); + if (fd == -1) + { + printf("can't open file %s\n", filename); + return -1; + } + else + printf("opened file %s\n", filename); + + i = read(fd, buffer, bufsize - 1); + if (i > 0) + { + buffer[i] = '\0'; + printf("%s...\n", buffer); + } + sprintf(buffer_l, + "POST %s HTTP/1.1\r\nUser-Agent: Axis/2.0/C\r\nConnection: Keep-Alive\r\nHost: ", + endpoint); + strcat(buffer_l, address); + strcat(buffer_l, ":"); + strcat(buffer_l, port); + strcat(buffer_l, "\r\n"); + strcat(buffer_l, "Content-Length: "); + sprintf(tmpstr, "%d", (int) strlen(buffer)); + strcat(buffer_l, tmpstr); + strcat(buffer_l, "\r\n"); + /*strcat(buffer_l, "SOAPAction: http://localhost:9090/axis2/services/echo/echo\r\n"); */ + strcat(buffer_l, "Content-Type: application/soap+xml;\r\n"); + strcat(buffer_l, "\r\n"); + + printf("Writing buffer_1...\n%s", buffer_l); + n = write(sockfd, buffer_l, strlen(buffer_l)); + + n = write(sockfd, buffer, strlen(buffer)); + if (n < 0) + error("ERROR writing to socket"); + + printf("Done writing to server\n"); + + buffer[0] = '\0'; + + printf("Reading the reply from server :\n"); + while ((n = read(sockfd, buffer, bufsize - 1)) > 0) + { + buffer[n] = '\0'; + printf("%s", buffer); + } + printf("\nReading from server done ...\n"); + + if (n < 0) + { + error("ERROR reading from socket"); + buffer[0] = '\0'; + } + free(buffer); + return 0; +} diff --git a/test/core/clientapi/test_clientapi.c b/test/core/clientapi/test_clientapi.c new file mode 100644 index 0000000..e20d44a --- /dev/null +++ b/test/core/clientapi/test_clientapi.c @@ -0,0 +1,119 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <axis2_const.h> +#include <axutil_env.h> +#include <axis2_engine.h> +#include <axutil_allocator.h> +#include <axis2_svc_client.h> +#include <axis2_options.h> +#include <platforms/axutil_platform_auto_sense.h> + +axiom_node_t *build_om_payload_for_echo_svc( + const axutil_env_t * env, + const axis2_char_t * echo_str); + +void +axis2_test_svc_client_blocking( + ) +{ + axutil_env_t *env = NULL; + axis2_options_t *options = NULL; + const axis2_char_t *client_home = NULL; + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *payload = NULL; + axiom_node_t *ret_node = NULL; + const axis2_char_t *address = NULL; + axis2_endpoint_ref_t *endpoint_ref = NULL; + + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + env = axutil_env_create(allocator); + axiom_element_t *result_ele = NULL; + const axis2_char_t *echo_text = "echo_text"; + axis2_char_t *result = NULL; + + address = "http://localhost:9090/axis2/services/echo/echo"; + endpoint_ref = axis2_endpoint_ref_create(env, address); + client_home = AXIS2_GETENV("AXIS2C_HOME"); + if (!client_home) + client_home = "../../deploy"; + + svc_client = axis2_svc_client_create(env, client_home); + + if (!svc_client) + { + printf("axis2_test axis2_svc_client_create FAILURE\n"); + printf + ("Client repository path not properly set. Please check AXIS2C_HOME setting\n"); + return; + } + + options = axis2_options_create(env); + axis2_options_set_to(options, env, endpoint_ref); + axis2_svc_client_set_options(svc_client, env, options); + + payload = build_om_payload_for_echo_svc(env, echo_text); + ret_node = axis2_svc_client_send_receive(svc_client, env, payload); + if (ret_node) + { + if (axiom_node_get_node_type(ret_node, env) == AXIOM_ELEMENT) + { + ret_node = axiom_node_get_first_child(ret_node, env); + result_ele = + (axiom_element_t *) axiom_node_get_data_element(ret_node, env); + result = axiom_element_get_text(result_ele, env, ret_node); + if (!strcmp(result, echo_text)) + printf("axis2_test SVC_CLIENT_SEND_RECEIVE SUCCESS\n"); + else + printf("axis2_test SVC_CLIENT_SEND_RECEIVE FAILURE\n"); + } + } + axis2_svc_client_free(svc_client, env); +} + +/* build SOAP request message content using OM */ +axiom_node_t * +build_om_payload_for_echo_svc( + const axutil_env_t * env, + const axis2_char_t * echo_text) +{ + axiom_node_t *echo_om_node = NULL; + axiom_element_t *echo_om_ele = NULL; + axiom_node_t *text_om_node = NULL; + axiom_element_t *text_om_ele = NULL; + axiom_namespace_t *ns1 = NULL; + + ns1 = + axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", + "ns1"); + echo_om_ele = + axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node); + text_om_ele = + axiom_element_create(env, echo_om_node, "text", NULL, &text_om_node); + axiom_element_set_text(text_om_ele, env, echo_text, text_om_node); + + return echo_om_node; +} + +int +main( + ) +{ + axis2_test_svc_client_blocking(); + return 0; +} diff --git a/test/core/clientapi/test_svc_client_handler_count.c b/test/core/clientapi/test_svc_client_handler_count.c new file mode 100644 index 0000000..a4904dd --- /dev/null +++ b/test/core/clientapi/test_svc_client_handler_count.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <axis2_util.h> +#include <axis2_client.h> + +int +main( + ) +{ + axutil_env_t *env = + axutil_env_create_all("hello_client.log", AXIS2_LOG_LEVEL_TRACE); + const int TIMES = 1000; + int i; + for (i = 1; i <= TIMES; ++i) + { + printf("%d\n", i); + axis2_svc_client_t *svc_client = + axis2_svc_client_create(env, AXIS2_GETENV("AXIS2C_HOME")); + axis2_svc_client_free(svc_client, env); + } + axutil_env_free(env); + return 0; +} diff --git a/test/core/context/Makefile.am b/test/core/context/Makefile.am new file mode 100644 index 0000000..01642e2 --- /dev/null +++ b/test/core/context/Makefile.am @@ -0,0 +1,21 @@ +TESTS = test_context +check_PROGRAMS = test_context +noinst_PROGRAMS = test_context +SUBDIRS = +AM_CFLAGS = -g -pthread +test_context_SOURCES = test_context.c + + +test_context_LDADD = ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ + $(top_builddir)/neethi/src/libneethi.la + +INCLUDES = -I${CUTEST_HOME}/include \ + -I$(top_builddir)/src/xml/guththila/src \ + -I$(top_builddir)/include \ + -I$(top_builddir)/src/core/description \ + -I ../../../util/include \ + -I ../../../axiom/include diff --git a/test/core/context/test_context.c b/test/core/context/test_context.c new file mode 100644 index 0000000..253691a --- /dev/null +++ b/test/core/context/test_context.c @@ -0,0 +1,124 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <axis2_conf_ctx.h> +#include <axis2_svc_grp.h> +#include <axis2_const.h> +#include <axutil_allocator.h> +#include <axutil_env.h> +#include <stdio.h> + +void +axis2_test_conf_ctx_init( + ) +{ + struct axis2_conf *conf = NULL; + struct axis2_svc_grp_ctx *svc_grp_ctx1 = NULL; + struct axis2_svc_grp_ctx *svc_grp_ctx2 = NULL; + struct axis2_svc_grp *svc_grp1 = NULL; + struct axis2_svc_grp *svc_grp2 = NULL; + struct axis2_conf_ctx *conf_ctx = NULL; + struct axis2_svc_ctx *svc_ctx1 = NULL; + struct axis2_svc_ctx *svc_ctx2 = NULL; + struct axis2_svc *svc1 = NULL; + struct axis2_svc *svc2 = NULL; + struct axutil_qname *qname1 = NULL; + struct axutil_qname *qname2 = NULL; + struct axis2_op_ctx *op_ctx1 = NULL; + struct axis2_op_ctx *op_ctx2 = NULL; + struct axis2_op *op = NULL; + struct axutil_hash_t *op_ctx_map = NULL; + struct axutil_hash_t *svc_ctx_map = NULL; + struct axutil_hash_t *svc_grp_ctx_map = NULL; + + axis2_status_t status = AXIS2_FAILURE; + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + + conf = axis2_conf_create(env); + + op = axis2_op_create(env); + + conf_ctx = axis2_conf_ctx_create(env, conf); + + svc_grp1 = axis2_svc_grp_create(env); + svc_grp2 = axis2_svc_grp_create(env); + + svc_grp_ctx1 = axis2_svc_grp_ctx_create(env, svc_grp1, conf_ctx); + svc_grp_ctx2 = axis2_svc_grp_ctx_create(env, svc_grp2, conf_ctx); + + qname1 = axutil_qname_create(env, "name1", NULL, NULL); + qname2 = axutil_qname_create(env, "name2", NULL, NULL); + + svc1 = axis2_svc_create_with_qname(env, qname1); + svc2 = axis2_svc_create_with_qname(env, qname2); + + svc_ctx1 = axis2_svc_ctx_create(env, svc1, svc_grp_ctx1); + svc_ctx2 = axis2_svc_ctx_create(env, svc2, svc_grp_ctx2); + + op = axis2_op_create(env); + op_ctx1 = axis2_op_ctx_create(env, op, svc_ctx1); + op_ctx2 = axis2_op_ctx_create(env, op, svc_ctx2); + + op_ctx_map = axis2_conf_ctx_get_op_ctx_map(conf_ctx, env); + + if (op_ctx_map) + { + axutil_hash_set(op_ctx_map, "op_ctx1", AXIS2_HASH_KEY_STRING, op_ctx1); + axutil_hash_set(op_ctx_map, "op_ctx2", AXIS2_HASH_KEY_STRING, op_ctx2); + } + + svc_ctx_map = axis2_conf_ctx_get_svc_ctx_map(conf_ctx, env); + + if (svc_ctx_map) + { + axutil_hash_set(svc_ctx_map, "svc_ctx1", AXIS2_HASH_KEY_STRING, + svc_ctx1); + axutil_hash_set(svc_ctx_map, "svc_ctx2", AXIS2_HASH_KEY_STRING, + svc_ctx2); + } + + svc_grp_ctx_map = axis2_conf_ctx_get_svc_grp_ctx_map(conf_ctx, env); + + if (svc_grp_ctx_map) + { + axutil_hash_set(svc_ctx_map, "svc_grp_ctx1", AXIS2_HASH_KEY_STRING, + svc_grp_ctx1); + axutil_hash_set(svc_ctx_map, "svc_grp_ctx2", AXIS2_HASH_KEY_STRING, + svc_grp_ctx2); + } + + status = axis2_conf_ctx_init(conf_ctx, env, conf); + + if (status != AXIS2_SUCCESS) + { + printf("ERROR %d\n", status); + } + else + printf("SUCCESS\n"); + + axis2_conf_ctx_free(conf_ctx, env); +} + +int +main( + ) +{ + axis2_test_conf_ctx_init(); + return 0; +} diff --git a/test/core/deployment/Makefile.am b/test/core/deployment/Makefile.am new file mode 100644 index 0000000..298457d --- /dev/null +++ b/test/core/deployment/Makefile.am @@ -0,0 +1,25 @@ +TESTS = test_deployment +noinst_PROGRAMS = test_deployment +SUBDIRS = +AM_CFLAGS = $(CFLAGS) -g -pthread +test_deployment_SOURCES = test_deployment.c + +test_deployment_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/neethi/src/libneethi.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la + +INCLUDES = -I$(top_builddir)/include \ + -I$(top_builddir)/src/core/description \ + -I$(top_builddir)/src/core/context \ + -I$(top_builddir)/src/core/phaseresolver \ + -I$(top_builddir)/src/core/deployment \ + -I$(top_builddir)/src/core/engine \ + -I$(top_builddir)/src/core/clientapi \ + -I$(top_builddir)/src/core/util \ + -I ../../../util/include \ + -I ../../../axiom/include \ + -I ../../../neethi/include diff --git a/test/core/deployment/axis2.xml b/test/core/deployment/axis2.xml new file mode 100644 index 0000000..fb4ccc4 --- /dev/null +++ b/test/core/deployment/axis2.xml @@ -0,0 +1,126 @@ +<axisconfig name="AxisJava2.0"> + <!-- ================================================= --> + <!-- Parameters --> + <!-- ================================================= --> + <parameter name="hotdeployment" locked="false">true</parameter> + <parameter name="hotupdate" locked="false">false</parameter> + <parameter name="enableMTOM" locked="false">true</parameter> + <!-- Uncomment this to enable REST support --> + <!-- <parameter name="enableREST" locked="false">true</parameter>--> + + + <parameter name="userName" locked="false">admin</parameter> + <parameter name="password" locked="false">axis2</parameter> + + <parameter name="seralizeLocation" locked="false">.</parameter> + + + + <!--if you want to extract the service archive file and work with that please uncomment this--> + <!--else , it wont extract archive file or does not take into consideration if someone drop--> + <!--exploded directory into /service directory--> + <!--<parameter name="extractServiceArchive" locked="false">true</parameter>--> + + +<!-- The way of adding listener to the system--> +<!-- <listener class="org.apache.axis2.ObserverIMPL">--> +<!-- <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>--> +<!-- </listener>--> + + <!--Registering Axis Storage Class if you comment this default one will --> + <!--does the job (org.apache.axis2.storage.impl.AxisMemoryStorage) , if you--> + <!--want to register new one write a class by extanding AbastractStorage--> + <!--and put that name here--> + <axisStorage class="org.apache.axis2.storage.impl.AxisMemoryStorage"> + <parameter name="StoreLocation" locked="false">N:S</parameter> + </axisStorage> + + + + <!-- ================================================= --> + <!-- Message Receivers --> + <!-- ================================================= --> + <!-- This is the Deafult Message Receiver for the Request Response style Operations --> + <messageReceiver mep="INOUT" class="axis2_raw_xml_in_out_msg_recv"> + + <!-- ================================================= --> + <!-- Transport Ins --> + <!-- ================================================= --> + <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> + <parameter name="port" locked="false">6060</parameter> + </transportReceiver> + + <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver + <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener"> + <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter> + <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter> + <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter> + <parameter name="transport.mail.pop3.port" locked="false">110</parameter> + <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter> + </transportReceiver> --> + + <transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer"> + <parameter name="port" locked="false">6060</parameter> + </transportReceiver> + + <!-- ================================================= --> + <!-- Transport Outs --> + <!-- ================================================= --> + + <transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/> + <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> + <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> + </transportSender> + <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> + </transportSender> + + <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver + <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender"> + <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter> + <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter> + <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter> + <parameter name="transport.mail.smtp.port" locked="false">25</parameter> + </transportSender> + --> + + <!-- ================================================= --> + <!-- Global Modules --> + <!-- ================================================= --> + <!-- Comment this to disable Addressing --> + <module ref="addressing"/> + + + <!--Configuring module , providing paramters for modules whether they refer or not--> + <!--<moduleConfig name="addressing">--> + <!--<parameter name="addressingPara" locked="false">N/A</parameter>--> + <!--</moduleConfig>--> + + <!-- ================================================= --> + <!-- Phases --> + <!-- ================================================= --> + <phaseOrder type="inflow"> + <!-- System pre defined phases --> + <phase name="TransportIn"/> + <phase name="PreDispatch"/> + <phase name="Dispatch"/> + <phase name="PostDispatch"/> + <!-- System pre defined phases --> + <!-- After Postdispatch phase module author or or service author can add any phase he want --> + <phase name="userphase1"/> + </phaseOrder> + <phaseOrder type="outflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + </phaseOrder> + <phaseOrder type="INfaultflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + </phaseOrder> + <phaseOrder type="Outfaultflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + </phaseOrder> +</axisconfig> + diff --git a/test/core/deployment/test_deployment.c b/test/core/deployment/test_deployment.c new file mode 100644 index 0000000..d0730d8 --- /dev/null +++ b/test/core/deployment/test_deployment.c @@ -0,0 +1,360 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axis2_op.h> +#include <axis2_module_desc.h> +#include <axis2_phases_info.h> +#include <stdio.h> +#include <axis2_op.h> +#include <axis2_dep_engine.h> +#include <axutil_env.h> +#include <axutil_allocator.h> +#include <axutil_class_loader.h> +#include <axutil_error_default.h> +#include <axutil_log_default.h> +#include <axis2_transport_sender.h> +#include <axis2_transport_receiver.h> +#include <axis2_core_utils.h> + +const axutil_env_t *env = NULL; + +int +axis2_test_dep_engine_load( + ) +{ + axis2_dep_engine_t *dep_engine = NULL; + axis2_conf_t *conf = NULL; + axutil_hash_t *svc_map = NULL; + axutil_array_list_t *in_phases = NULL; + axis2_char_t *axis2c_home = NULL; + + printf("******************************************\n"); + printf("testing dep_engine_load method \n"); + printf("******************************************\n"); + + axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); + dep_engine = axis2_dep_engine_create_with_repos_name(env, axis2c_home); + if (!dep_engine) + { + printf("dep engine is not created \n"); + return -1; + } + conf = axis2_dep_engine_load(dep_engine, env); + axis2_conf_set_dep_engine(conf, env, dep_engine); + if (!conf) + { + printf("conf is NULL\n)"); + return -1; + } + + svc_map = axis2_conf_get_all_svcs(conf, env); + if (svc_map) + printf("svc_map count = %d\n", axutil_hash_count(svc_map)); + else + printf("svc_map count = zero\n"); + + if (svc_map) + { + axutil_hash_index_t *hi = NULL; + void *service = NULL; + for (hi = axutil_hash_first(svc_map, env); + hi; hi = axutil_hash_next(env, hi)) + { + axutil_hash_t *ops = NULL; + axis2_svc_t *svc = NULL; + axutil_param_t *impl_info_param = NULL; + + axutil_hash_this(hi, NULL, NULL, &service); + svc = (axis2_svc_t *) service; + impl_info_param = + axis2_svc_get_param(svc, env, AXIS2_SERVICE_CLASS); + if (!impl_info_param) + { + printf("imple_info_param is null\n"); + } + ops = axis2_svc_get_all_ops(svc, env); + if (ops) + { + printf("ops count = %d\n", axutil_hash_count(ops)); + + axutil_hash_index_t *hi2 = NULL; + void *op = NULL; + axis2_char_t *oname = NULL; + + for (hi2 = axutil_hash_first(ops, env); hi2; + hi2 = axutil_hash_next(env, hi2)) + { + if (!hi2) + break; + axutil_hash_this(hi2, NULL, NULL, &op); + if (op) + { + const axutil_qname_t *qname = NULL; + qname = axis2_op_get_qname((axis2_op_t *) op, env); + oname = axutil_qname_get_localpart(qname, env); + printf("op name = %s\n", oname); + } + } + } + else + printf("ops count = zero\n"); + } + } + + in_phases = + axis2_conf_get_in_phases_upto_and_including_post_dispatch(conf, env); + if (!in_phases) + { + printf("in phases up to and including post dispatch is NULL\n"); + } + else + { + printf("dep engine load is successfull\n"); + } + axis2_conf_free(conf, env); + + return 0; +} + +int +axis2_test_transport_receiver_load( + ) +{ + axutil_dll_desc_t *dll_desc = NULL; + axis2_char_t *dll_name = NULL; + axis2_transport_receiver_t *transport_recv = NULL; + axutil_param_t *impl_info_param = NULL; + axis2_bool_t is_running = AXIS2_FALSE; + axis2_char_t *axis2c_home = NULL; + + printf("******************************************\n"); + printf("testing axis2_transport_recv load\n"); + printf("******************************************\n"); + + dll_desc = axutil_dll_desc_create(env); + + axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); + dll_name = + axutil_stracat(env, axis2c_home, "/lib/libaxis2_http_receiver.so"); + printf("transport receiver name:%s\n", dll_name); + axutil_dll_desc_set_name(dll_desc, env, dll_name); + axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_RECV_DLL); + impl_info_param = axutil_param_create(env, NULL, NULL); + axutil_param_set_value(impl_info_param, env, dll_desc); + axutil_class_loader_init(env); + transport_recv = + (axis2_transport_receiver_t *) axutil_class_loader_create_dll(env, + impl_info_param); + is_running = axis2_transport_receiver_is_running(transport_recv, env); + printf("is_running:%d\n", is_running); + AXIS2_FREE(env->allocator, dll_name); + printf("transport receiver load test successful\n"); + return 0; +} + +int +axis2_test_transport_sender_load( + ) +{ + axutil_dll_desc_t *dll_desc = NULL; + axis2_char_t *dll_name = NULL; + axis2_transport_sender_t *transport_sender = NULL; + axutil_param_t *impl_info_param = NULL; + axis2_char_t *axis2c_home = NULL; + axis2_msg_ctx_t *msg_ctx = NULL; + + printf("******************************************\n"); + printf("testing axis2_transport_sender load\n"); + printf("******************************************\n"); + + msg_ctx = (axis2_msg_ctx_t *) AXIS2_MALLOC(env->allocator, 5); + dll_desc = axutil_dll_desc_create(env); + + axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); + dll_name = axutil_stracat(env, axis2c_home, "/lib/libaxis2_http_sender.so"); + printf("transport sender name:%s\n", dll_name); + axutil_dll_desc_set_name(dll_desc, env, dll_name); + axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_SENDER_DLL); + impl_info_param = axutil_param_create(env, NULL, NULL); + axutil_param_set_value(impl_info_param, env, dll_desc); + axutil_class_loader_init(env); + transport_sender = + (axis2_transport_sender_t *) axutil_class_loader_create_dll(env, + impl_info_param); + + AXIS2_FREE(env->allocator, dll_name); + printf("transport sender load test successful\n"); + return 0; +} + +int +axis2_test_default_module_version( + ) +{ + + axis2_conf_t *axis_conf = NULL; + axutil_qname_t *mod_qname1 = NULL; + axutil_qname_t *mod_qname2 = NULL; + axutil_qname_t *mod_qname3 = NULL; + axutil_qname_t *mod_qname4 = NULL; + axutil_qname_t *mod_qname5 = NULL; + axis2_module_desc_t *module1 = NULL; + axis2_module_desc_t *module2 = NULL; + axis2_module_desc_t *module3 = NULL; + axis2_module_desc_t *module4 = NULL; + axis2_module_desc_t *module5 = NULL; + axis2_module_desc_t *def_mod = NULL; + axutil_array_list_t *engaged_modules = NULL; + axutil_qname_t *engage_qname = NULL; + axis2_bool_t found1 = AXIS2_FALSE; + axis2_bool_t found2 = AXIS2_FALSE; + axis2_bool_t found3 = AXIS2_FALSE; + + printf("******************************************\n"); + printf("testing axis2_default_module_version\n"); + printf("******************************************\n"); + + axis_conf = axis2_conf_create(env); + mod_qname1 = axutil_qname_create(env, "module1", NULL, NULL); + module1 = axis2_module_desc_create_with_qname(env, mod_qname1); + axis2_conf_add_module(axis_conf, env, module1); + + mod_qname2 = axutil_qname_create(env, "module2-0.90", NULL, NULL); + module2 = axis2_module_desc_create_with_qname(env, mod_qname2); + axis2_conf_add_module(axis_conf, env, module2); + + mod_qname3 = axutil_qname_create(env, "module2-0.92", NULL, NULL); + module3 = axis2_module_desc_create_with_qname(env, mod_qname3); + axis2_conf_add_module(axis_conf, env, module3); + + mod_qname4 = axutil_qname_create(env, "module2-0.91", NULL, NULL); + module4 = axis2_module_desc_create_with_qname(env, mod_qname4); + axis2_conf_add_module(axis_conf, env, module4); + + mod_qname5 = axutil_qname_create(env, "test_module-1.92", NULL, NULL); + module5 = axis2_module_desc_create_with_qname(env, mod_qname5); + axis2_conf_add_module(axis_conf, env, module5); + + axis2_core_utils_calculate_default_module_version(env, + axis2_conf_get_all_modules + (axis_conf, env), + axis_conf); + def_mod = axis2_conf_get_default_module(axis_conf, env, "module1"); + if (def_mod != module1) + { + printf("axis2_default_module_version (module1) .. FAILED\n"); + return AXIS2_FAILURE; + } + def_mod = axis2_conf_get_default_module(axis_conf, env, "module2"); + if (def_mod != module3) + { + printf("axis2_default_module_version (module2) .. FAILED\n"); + return AXIS2_FAILURE; + } + def_mod = axis2_conf_get_default_module(axis_conf, env, "test_module"); + if (def_mod != module5) + { + printf("axis2_default_module_version (test_module) .. FAILED\n"); + return AXIS2_FAILURE; + } + engage_qname = axutil_qname_create(env, "module2", NULL, NULL); + axis2_conf_engage_module(axis_conf, env, engage_qname); + axutil_qname_free(engage_qname, env); + engage_qname = NULL; + + engage_qname = axutil_qname_create(env, "module1", NULL, NULL); + axis2_conf_engage_module(axis_conf, env, engage_qname); + axutil_qname_free(engage_qname, env); + engage_qname = NULL; + + axis2_conf_engage_module_with_version(axis_conf, env, "test_module", + "1.92"); + + engaged_modules = axis2_conf_get_all_engaged_modules(axis_conf, env); + + if (engaged_modules) + { + int list_size = 0; + int i = 0; + list_size = axutil_array_list_size(engaged_modules, env); + for (i = 0; i < list_size; i++) + { + axutil_qname_t *engaged_mod_qname = NULL; + engaged_mod_qname = axutil_array_list_get(engaged_modules, env, i); + if (0 == axutil_strcmp("module2-0.92", + axutil_qname_get_localpart(engaged_mod_qname, + env))) + { + found1 = AXIS2_TRUE; + } + if (0 == axutil_strcmp("module1", + axutil_qname_get_localpart(engaged_mod_qname, + env))) + { + found2 = AXIS2_TRUE; + } + if (0 == axutil_strcmp("test_module-1.92", + axutil_qname_get_localpart(engaged_mod_qname, + env))) + { + found3 = AXIS2_TRUE; + } + + } + } + if (AXIS2_FALSE == found1) + { + printf("axis2_default_module_version (module2 engaging) .. FAILED\n"); + return AXIS2_FAILURE; + } + if (AXIS2_FALSE == found2) + { + printf("axis2_default_module_version (module1 engaging) .. FAILED\n"); + return AXIS2_FAILURE; + } + if (AXIS2_FALSE == found3) + { + printf + ("axis2_default_module_version (test_module engaging) .. FAILED\n"); + return AXIS2_FAILURE; + } + printf("axis2_default_module_version .. SUCCESS\n"); + axis2_conf_free(axis_conf, env); + return AXIS2_SUCCESS; +} + +int +main( + ) +{ + axutil_allocator_t *allocator = NULL; + axutil_error_t *error = NULL; + axutil_log_t *log = NULL; + + allocator = axutil_allocator_init(NULL); + error = axutil_error_create(allocator); + log = axutil_log_create(allocator, NULL, "test_deployment.log"); + env = axutil_env_create_with_error_log(allocator, error, log); + env->log->level = AXIS2_LOG_LEVEL_INFO; + /*axis2_test_transport_receiver_load(); + axis2_test_transport_sender_load(); */ + axis2_test_dep_engine_load(); + axis2_test_default_module_version(); + return 0; +} diff --git a/test/core/description/Makefile.am b/test/core/description/Makefile.am new file mode 100644 index 0000000..0241eeb --- /dev/null +++ b/test/core/description/Makefile.am @@ -0,0 +1,26 @@ +TESTS = test_description +noinst_PROGRAMS = test_description +SUBDIRS = +AM_CFLAGS = -g -O2 -pthread +test_description_SOURCES = test_description.c + +test_description_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + -lpthread \ + $(top_builddir)/neethi/src/libneethi.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la + +INCLUDES = -I$(top_builddir)/include \ + -I$(top_builddir)/src/core/description \ + -I$(top_builddir)/src/core/context \ + -I$(top_builddir)/src/core/phaseresolver \ + -I$(top_builddir)/src/core/deployment \ + -I$(top_builddir)/src/core/transport \ + -I$(top_builddir)/src/core/engine \ + -I$(top_builddir)/src/core/clientapi \ + -I ../../../util/include \ + -I ../../../axiom/include + diff --git a/test/core/description/test_description.c b/test/core/description/test_description.c new file mode 100644 index 0000000..17675ba --- /dev/null +++ b/test/core/description/test_description.c @@ -0,0 +1,215 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axis2_op.h> +#include <axis2_conf.h> +#include <axis2_module_desc.h> +#include <axis2_phases_info.h> +#include <axutil_env.h> +#include <axutil_allocator.h> + +struct axis2_module_desc *create_module_desc( + const axutil_env_t * env); + +int +axis2_test_op_engage_module( + ) +{ + struct axis2_module_desc *moduleref = NULL; + axis2_conf_t *conf = NULL; + + axis2_status_t status = AXIS2_FAILURE; + + printf("******************************************\n"); + printf("testing axis2_op_engage_module\n"); + printf("******************************************\n"); + + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + axutil_env_t *env = axutil_env_create(allocator); + axis2_op_t *op = axis2_op_create(env); + + moduleref = axis2_module_desc_create(env); + conf = axis2_conf_create(env); + + status = axis2_op_engage_module(op, env, moduleref, conf); + moduleref = NULL; + if (status != AXIS2_SUCCESS) + { + axis2_op_free(op, env); + printf("ERROR %d\n", status); + } + + axis2_op_free(op, env); + axutil_env_free(env); + return 0; +} + +int +axis2_test_svc_add_module_ops( + ) +{ + struct axis2_svc *svc = NULL; + struct axutil_qname *qname = NULL; + struct axis2_module_desc *module_desc = NULL; + struct axis2_conf *axis2_config = NULL; + + axis2_status_t status = AXIS2_FAILURE; + + printf("******************************************\n"); + printf("testing axis2_svc_add_module_ops\n"); + printf("******************************************\n"); + + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + qname = axutil_qname_create(env, "name1", NULL, NULL); + svc = axis2_svc_create_with_qname(env, qname); + module_desc = axis2_module_desc_create(env); + axis2_config = axis2_conf_create(env); + status = axis2_svc_add_module_ops(svc, env, module_desc, axis2_config); + if (status != AXIS2_SUCCESS) + { + printf("axis2_test_description_add_module_ops ERROR %d\n", status); + } + else + printf("axis2_test_add_module_ops SUCCESS\n"); + + axis2_svc_free(svc, env); + axutil_qname_free(qname, env); + axis2_module_desc_free(module_desc, env); + axis2_conf_free(axis2_config, env); + + return 0; +} + +int +axis2_test_svc_engage_module( + ) +{ + axis2_svc_t *svc = NULL; + axutil_qname_t *qname = NULL; + axis2_module_desc_t *moduleref = NULL; + axis2_conf_t *axis2_config = NULL; + axis2_status_t status = AXIS2_FAILURE; + + printf("******************************************\n"); + printf("testing axis2_svc_engage_module\n"); + printf("******************************************\n"); + + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + qname = axutil_qname_create(env, "name1", NULL, NULL); + svc = axis2_svc_create_with_qname(env, qname); + moduleref = axis2_module_desc_create(env); + axis2_config = axis2_conf_create(env); + + status = axis2_svc_engage_module(svc, env, moduleref, axis2_config); + moduleref = NULL; + if (status != AXIS2_SUCCESS) + { + printf("axis2_test_description_svc_engage_module ERROR %d\n", status); + } + else + printf("axis2_test_svc_engage_module SUCCESS\n"); + + axis2_svc_free(svc, env); + axutil_qname_free(qname, env); + axis2_conf_free(axis2_config, env); + + return 0; +} + +int +axis2_test_svc_get_op( + ) +{ + struct axis2_svc *svc = NULL; + struct axutil_qname *qname = NULL; + struct axutil_hash_t *ops = NULL; + struct axis2_op *op = NULL; + axis2_status_t status = AXIS2_SUCCESS; + + printf("******************************************\n"); + printf("testing axis2_svc_get_op\n"); + printf("******************************************\n"); + + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + qname = axutil_qname_create(env, "op1", NULL, NULL); + op = axis2_op_create_with_qname(env, qname); + qname = axutil_qname_create(env, "svc1", NULL, NULL); + svc = axis2_svc_create_with_qname(env, qname); + + status = axis2_svc_add_op(svc, env, op); + + qname = axutil_qname_create(env, "op2", NULL, NULL); + op = axis2_op_create_with_qname(env, qname); + status = axis2_svc_add_op(svc, env, op); + + ops = axis2_svc_get_all_ops(svc, env); + + if (ops) + printf("SUCCESS AXIS2_SVC_GET_OPS\n"); + else + { + printf("ERROR AXIS2_SVC_GET_OPS\n"); + return -1; + } + + if (ops) + { + printf("ops count = %d\n", axutil_hash_count(ops)); + + axutil_hash_index_t *hi2 = NULL; + void *op2 = NULL; + axis2_char_t *oname = NULL; + int count = 0; + + for (hi2 = axutil_hash_first(ops, env); hi2; + hi2 = axutil_hash_next(env, hi2)) + { + printf("count = %d \n", count++); + axis2_svc_get_all_ops(svc, env); + if (!(hi2)) + break; + axutil_hash_this(hi2, NULL, NULL, &op2); + if (op2) + { + const axutil_qname_t *qname = NULL; + qname = axis2_op_get_qname((axis2_op_t *) op2, env); + oname = axutil_qname_get_localpart(qname, env); + printf("op name = %s\n", oname); + } + } + } + else + printf("ops count = zero\n"); + + return 0; +} + +int +main( + ) +{ + axis2_test_op_engage_module(); + axis2_test_svc_add_module_ops(); + axis2_test_svc_engage_module(); + axis2_test_svc_get_op(); + return 0; +} diff --git a/test/core/engine/Makefile.am b/test/core/engine/Makefile.am new file mode 100644 index 0000000..e6d41de --- /dev/null +++ b/test/core/engine/Makefile.am @@ -0,0 +1,25 @@ +TESTS = test_engine +check_PROGRAMS = test_engine +noinst_PROGRAMS = test_engine +SUBDIRS = +AM_CFLAGS = -g -pthread +test_engine_SOURCES = test_engine.c + + +test_engine_LDADD = \ + ../../../util/src/libaxutil.la \ + ../../../axiom/src/om/libaxis2_axiom.la \ + ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ + $(top_builddir)/neethi/src/libneethi.la + +INCLUDES = -I$(top_builddir)/src/xml/guththila \ + -I$(top_builddir)/include \ + -I$(top_builddir)/src/core/description \ + -I$(top_builddir)/src/core/deployment \ + -I$(top_builddir)/src/core/engine \ + -I ../../../util/include \ + -I ../../../axiom/include \ + -I ../../../neethi/include + diff --git a/test/core/engine/test_engine.c b/test/core/engine/test_engine.c new file mode 100644 index 0000000..4df5b1d --- /dev/null +++ b/test/core/engine/test_engine.c @@ -0,0 +1,123 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axutil_env.h> +#include <axis2_engine.h> +#include <axis2_conf_ctx.h> +#include <axis2_msg_ctx.h> +#include <axis2_conf_builder.h> + +int +axis2_test_engine_send( + ) +{ + axis2_status_t status = AXIS2_FAILURE; + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + struct axis2_conf *conf = NULL; + conf = axis2_conf_create(env); + + struct axis2_conf_ctx *conf_ctx; + struct axis2_msg_ctx *msg_ctx; + struct axis2_op_ctx *op_ctx; + struct axis2_op *op; + struct axis2_svc *svc; + struct axis2_svc_ctx *svc_ctx; + struct axis2_svc_grp *svc_grp; + struct axis2_svc_grp_ctx *svc_grp_ctx; + struct axutil_qname *qname; + + conf_ctx = axis2_conf_ctx_create(env, conf); + + svc_grp = axis2_svc_grp_create(env); + svc_grp_ctx = axis2_svc_grp_ctx_create(env, svc_grp, conf_ctx); + + qname = axutil_qname_create(env, "name1", NULL, NULL); + svc = axis2_svc_create_with_qname(env, qname); + svc_ctx = axis2_svc_ctx_create(env, svc, svc_grp_ctx); + + op = axis2_op_create(env); + op_ctx = axis2_op_ctx_create(env, op, svc_ctx); + + msg_ctx = axis2_msg_ctx_create(env, conf_ctx, NULL, NULL); + + axis2_msg_ctx_set_conf_ctx(msg_ctx, env, conf_ctx); + axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx); + axis2_msg_ctx_set_svc_ctx(msg_ctx, env, svc_ctx); + + axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); + status = axis2_engine_send(engine, env, msg_ctx); + if (status != AXIS2_SUCCESS) + { + printf("axis2_test_engine_send ERROR %d\n", status); + } + else + printf("axis2_test_engine_send SUCCESS\n"); + + axis2_conf_ctx_free(conf_ctx, env); + axis2_msg_ctx_free(msg_ctx, env); + axutil_qname_free(qname, env); + axis2_svc_grp_ctx_free(svc_grp_ctx, env); + axis2_svc_ctx_free(svc_ctx, env); + axis2_svc_free(svc, env); + axis2_op_ctx_free(op_ctx, env); + axis2_op_free(op, env); + axis2_engine_free(engine, env); + return 0; +} + +int +axis2_test_engine_receive( + ) +{ + axis2_status_t status = AXIS2_FAILURE; + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + const axutil_env_t *env = axutil_env_create(allocator); + axis2_conf_t *conf = NULL; + conf = axis2_conf_create(env); + + struct axis2_conf_ctx *conf_ctx; + struct axis2_msg_ctx *msg_ctx; + conf_ctx = axis2_conf_ctx_create(env, conf); + + msg_ctx = axis2_msg_ctx_create(env, conf_ctx, NULL, NULL); + + axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); + + status = axis2_engine_receive(engine, env, msg_ctx); + if (status != AXIS2_SUCCESS) + { + printf("axis2_test_engine_receive ERROR %d\n", status); + } + else + printf("axis2_test_engine_receive SUCCESS\n"); + axis2_conf_ctx_free(conf_ctx, env); + axis2_msg_ctx_free(msg_ctx, env); + axis2_engine_free(engine, env); + return 0; +} + +int +main( + ) +{ + axis2_test_engine_send(); + axis2_test_engine_receive(); + return 0; +} diff --git a/test/core/transport/Makefile.am b/test/core/transport/Makefile.am new file mode 100644 index 0000000..b7e93db --- /dev/null +++ b/test/core/transport/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = http diff --git a/test/core/transport/http/Makefile.am b/test/core/transport/http/Makefile.am new file mode 100644 index 0000000..34eeefe --- /dev/null +++ b/test/core/transport/http/Makefile.am @@ -0,0 +1,21 @@ +TESTS = test_http_transport +check_PROGRAMS = test_http_transport +noinst_PROGRAMS = test_http_transport +SUBDIRS = +AM_CFLAGS = -g -pthread +test_http_transport_SOURCES = test_http_transport.c + +test_http_transport_LDADD = \ + $(LDFLAGS) \ + ../../../../util/src/libaxutil.la \ + ../../../../axiom/src/om/libaxis2_axiom.la \ + $(top_builddir)/neethi/src/libneethi.la \ + ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la + +INCLUDES = -I${CUTEST_HOME}/include \ + -I$(top_builddir)/include \ + -I ../../../../util/include \ + -I ../../../../axiom/include + diff --git a/test/core/transport/http/test_http_transport.c b/test/core/transport/http/test_http_transport.c new file mode 100644 index 0000000..69134bc --- /dev/null +++ b/test/core/transport/http/test_http_transport.c @@ -0,0 +1,274 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axis2_http_request_line.h> +#include <axis2_http_status_line.h> +#include <axis2_http_header.h> +#include <axutil_error_default.h> +#include <axutil_url.h> +#include <axis2_http_client.h> + +typedef struct a +{ + axis2_char_t *value; +} +a; + +axutil_env_t * +test_init( + ) +{ + axutil_allocator_t *allocator = axutil_allocator_init(NULL); + axutil_error_t *error = axutil_error_create(allocator); + axutil_env_t *env = axutil_env_create_with_error(allocator, error); + return env; +} + +void +test_http_request_line( + const axutil_env_t * env) +{ + const char *request_line_str = + "POST http://ws.apache.org/axis2/c/services/test_svc/test_op?x=1 HTTP/1.1\r\n"; + axis2_http_request_line_t *request_line; + + printf("Starting http_request_line tests\n"); + request_line = axis2_http_request_line_parse_line(env, request_line_str); + printf("Method: %s|URI: %s|HTTP Version: %s|\n", + axis2_http_request_line_get_method(request_line, env), + axis2_http_request_line_get_uri(request_line, env), + axis2_http_request_line_get_http_version(request_line, env)); + axis2_http_request_line_free(request_line, env); + printf("Finished http_request_line tests ..........\n\n"); +} + +void +test_http_status_line( + const axutil_env_t * env) +{ + const char *status_line_str = "HTTP/1.1 202 Accepted\r\n"; + axis2_http_status_line_t *status_line; + + printf("Starting http_status_line tests\n"); + status_line = axis2_http_status_line_create(env, status_line_str); + printf("Staus Line starts with HTTP ? :%d\n", + axis2_http_status_line_starts_with_http(status_line, env)); + printf("HTTP Version :%s|Status Code:%d|Reason Phrase:%s|\n", + axis2_http_status_line_get_http_version(status_line, env), + axis2_http_status_line_get_status_code(status_line, env), + axis2_http_status_line_get_reason_phrase(status_line, env)); + printf("to_string :%s\n", + axis2_http_status_line_to_string(status_line, env)); + axis2_http_status_line_free(status_line, env); + printf("Finished http_status_line tests ..........\n\n"); +} + +void +test_http_header( + const axutil_env_t * env) +{ + const char *header_name = "Content-Type"; + const char *header_value = "text/xml"; + const char *str_header = "Content-Type: text/xml; charset=UTF-8\r\n"; + axis2_http_header_t *http_header; + axis2_char_t *external_form = NULL; + + printf("Starting http_header tests\n"); + http_header = axis2_http_header_create(env, header_name, header_value); + external_form = axis2_http_header_to_external_form(http_header, env); + printf("Heder Name :%s|Header Value:%s|External Form:%s\n", + axis2_http_header_get_name(http_header, env), + axis2_http_header_get_value(http_header, env), external_form); + AXIS2_FREE(env->allocator, external_form); + axis2_http_header_free(http_header, env); + + http_header = axis2_http_header_create_by_str(env, str_header); + printf("Finished http_header tests ..........\n\n"); +} + +void +test_url( + const axutil_env_t * env) +{ + const axis2_char_t *str_url = "http://ws.apache.org/axis2/"; + axutil_url_t *url = axutil_url_parse_string(env, str_url); + if (!url) + { + printf("URL is NULL\n"); + return; + } + printf("Starting URL Test ....\n"); + printf + ("Parsed URL : \n Protocol :%s|\n Host :%s|\n Port :%d|\n Path : %s|\n", + axutil_url_get_protocol(url, env), axutil_url_get_host(url, env), + axutil_url_get_port(url, env), axutil_url_get_path(url, env)); + printf("End of URL Test ... \n"); + axutil_url_free(url, env); +} + +void +test_http_client( + const axutil_env_t * env) +{ + axis2_http_client_t *client = NULL; + axis2_http_simple_request_t *request = NULL; + axis2_http_request_line_t *request_line = NULL; + axutil_url_t *url = NULL; + axis2_http_header_t *header = NULL; + axutil_stream_t *request_body = NULL; + axis2_http_simple_response_t *response = NULL; + int status = 0; + char *body_bytes = NULL; + int body_bytes_len = 0; + + printf("Starting http_client tests\n"); + request_line = axis2_http_request_line_create(env, "GET", + "/axis2/services", + "HTTP/1.0"); + request_body = axutil_stream_create_basic(env); + request = axis2_http_simple_request_create(env, request_line, + NULL, 0, NULL); + url = axutil_url_create(env, "http", "localhost", 80, NULL); + header = + axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); + axis2_http_simple_request_add_header(request, env, header); + client = axis2_http_client_create(env, url); + + status = axis2_http_client_send(client, env, request, NULL); + if (status < 0) + { + printf("Test FAILED .........Can't send the request. Status :%d\n", + status); + return; + } + status = axis2_http_client_recieve_header(client, env); + if (status < 0) + { + printf("Test FAILED ......... Can't recieve. Status: %d\n", status); + return; + } + response = axis2_http_client_get_response(client, env); + if (!response) + { + printf("Test Failed : NULL response"); + return; + } + printf("Content Type :%s\n", + axis2_http_simple_response_get_content_type(response, env)); + printf("Content Length :%d\n", + axis2_http_simple_response_get_content_length(response, env)); + printf("Status code :%d\n", status); + body_bytes_len = + axis2_http_simple_response_get_body_bytes(response, env, &body_bytes); + printf("body :%s\n", body_bytes); + + axis2_http_client_free(client, env); + axis2_http_simple_request_free(request, env); + axutil_stream_free(request_body, env); + AXIS2_FREE(env->allocator, body_bytes); + printf("Finished http_client tests ..........\n\n"); +} + +void +test_https_client( + const axutil_env_t * env) +{ +#ifndef AXIS2_SSL_ENABLED + return; +#else + axis2_http_client_t *client = NULL; + axis2_http_simple_request_t *request = NULL; + axis2_http_request_line_t *request_line = NULL; + axutil_url_t *url = NULL; + axis2_http_header_t *header = NULL; + axutil_stream_t *request_body = NULL; + axis2_http_simple_response_t *response = NULL; + int status = 0; + char *body_bytes = NULL; + int body_bytes_len = 0; + + printf("Starting https_client tests\n"); + request_line = axis2_http_request_line_create(env, "GET", "/", "HTTP/1.0"); + request_body = axutil_stream_create_basic(env); + request = axis2_http_simple_request_create(env, request_line, + NULL, 0, NULL); + url = axutil_url_create(env, "https", "localhost", 9090, NULL); + + header = + axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); + axis2_http_simple_request_add_header(request, env, header); + client = axis2_http_client_create(env, url); + + /* if you weant to test the proxy uncomment following */ + /*axis2_http_client_set_proxy(client, env, "127.0.0.1", 8080); */ + + /* Add CA/Server certificate */ + status = axis2_http_client_set_server_cert(client, env, + "/home/dummy/dummyCA/demoCA/cacert.pem"); + + status = axis2_http_client_send(client, env, request, NULL); + if (status < 0) + { + printf("Test FAILED .........Can't send the request. Status :%d\n", + status); + return; + } + status = axis2_http_client_recieve_header(client, env); + if (status < 0) + { + printf("Test FAILED ......... Can't recieve. Status: %d\n", status); + return; + } + response = axis2_http_client_get_response(client, env); + if (!response) + { + printf("Test Failed : NULL response"); + return; + } + printf("Content Type :%s\n", + axis2_http_simple_response_get_content_type(response, env)); + printf("Content Length :%d\n", + axis2_http_simple_response_get_content_length(response, env)); + printf("Status code :%d\n", status); + body_bytes_len = + axis2_http_simple_response_get_body_bytes(response, env, &body_bytes); + + axis2_http_client_free(client, env); + axis2_http_simple_request_free(request, env); + axutil_stream_free(request_body, env); + AXIS2_FREE(env->allocator, body_bytes); + printf("Finished https_client tests ..........\n\n"); +#endif +} + +int +main( + void) +{ + axutil_env_t *env = test_init(); + test_http_request_line(env); + test_http_status_line(env); + test_http_header(env); + test_http_client(env); + test_https_client(env); + test_url(env); + + axutil_env_free(env); + return 0; +} diff --git a/test/find_policy.c b/test/find_policy.c new file mode 100644 index 0000000..9549fdf --- /dev/null +++ b/test/find_policy.c @@ -0,0 +1,303 @@ + +/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axiom_stax_builder.h>
+#include <axiom_document.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axiom_text.h>
+#include <axiom_data_source.h>
+#include <axutil_stream.h>
+#include <axutil_log_default.h>
+#include <axutil_error_default.h>
+#include <axiom_xml_reader.h>
+#include <stdio.h>
+#include <axiom_xml_writer.h>
+#include <axutil_env.h>
+
axiom_node_t * return_policy_element(axis2_char_t * name, + const axutil_env_t * env, + axis2_char_t * wsdl_name); +
axis2_char_t * get_policy_ref(axiom_node_t * node, const axutil_env_t * env); +
void get_all_policy( + axis2_char_t * element_name, + const axutil_env_t * env, + axutil_array_list_t * policy_node_list, + axis2_char_t * wsdl_name); +
+ +/**
+ Define the environment related variables globaly so that they are available
+ for both functions
+*/
+
axutil_allocator_t * allocator = NULL; +
axutil_env_t * environment = NULL; +
axutil_stream_t * stream = NULL; +
axutil_error_t * error = NULL; +
axutil_log_t * axis_log = NULL; +
FILE * f = NULL; +
FILE * o = NULL; +
+ +/** a method that demonstrate creating a om model using an xml file */
+
int AXIS2_CALL +read_input( + char *buffer, + int size, + void *ctx)
+{ +
int len = 0; +
char *pos = NULL; +
len = fread(buffer, sizeof(char), size, f); +
if (buffer) +
pos = strstr(buffer, "---"); +
if (pos) +
+ { +
len = pos - buffer; +
*pos = '\0'; +
} +
return len; +
} +
int
+main( + int argc, + char *argv[])
+{ +
axutil_qname_t * qname = NULL; +
axiom_node_t * policy_node = NULL, *node = NULL; +
axiom_xml_writer_t * writer = NULL; +
axiom_output_t * om_output = NULL; +
axis2_char_t * pol_ref = NULL; +
axiom_element_t * policy_element = NULL, *ele = NULL; +
axiom_node_t * child_node = NULL; +
axutil_array_list_t * policy_array = NULL; +
char *buffer = NULL; +
const char *file_name = + "C:\\OMWsdl\\wsdltest\\debug\\PolicyAttachments.wsdl"; +
const char *out_file_name = "C:\\OMWsdl\\wsdltest\\debug\\out.xml"; +
allocator = axutil_allocator_init(NULL); +
axis_log = axutil_log_create(allocator, NULL, NULL); +
error = axutil_error_create(allocator); +
environment = + axutil_env_create_with_error_log(allocator, error, axis_log); +
policy_array = axutil_array_list_create(environment, 10); +
+ /*get all the policy values of "Binding_2B"*/
+ get_all_policy("Binding-2B", environment, policy_array, file_name); +
node = + (axiom_node_t *) axutil_array_list_get(policy_array, environment, 2); +
ele = (axiom_element_t *) axiom_node_get_data_element(node, environment); +
qname = axiom_element_get_qname(ele, environment, node); +
printf("qname %s\n", axutil_qname_get_uri(qname, environment)); +
writer = + axiom_xml_writer_create_for_memory(environment, NULL, AXIS2_TRUE, 0, +
AXIS2_XML_PARSER_TYPE_BUFFER); +
om_output = axiom_output_create(environment, writer); +
axiom_node_serialize(node, environment, om_output); +
buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, environment); +
if (buffer) +
+ { +
+ /*printf(outfilename);*/
+ o = fopen("C:\\OMWsdl\\wsdltest\\debug\\out.xml", "w"); +
if (!o) +
return -1; +
printf("Printing the Buffer...\n"); +
printf("%s", buffer); +
fprintf(o, "<?xml version=\"1.0\" ?>\n%s", buffer); +
} +
axiom_output_free(om_output, environment); +
fclose(f); +
axutil_env_free(environment); +
return 0; +
} + +
axiom_node_t * return_policy_element(axis2_char_t * name, + const axutil_env_t * env, + axis2_char_t * wsdl_name)
+{ +
axiom_element_t * ele1 = NULL, *ele2 = NULL; +
axiom_document_t * document = NULL; +
axiom_node_t * node1 = NULL, *node2 = NULL, *policy_node = NULL; +
axiom_namespace_t * ns = NULL; +
axiom_xml_reader_t * reader = NULL; +
axiom_stax_builder_t * builder = NULL; +
char *buffer = NULL; +
axiom_attribute_t * attr = NULL; +
axis2_char_t * value = NULL; +
axis2_char_t * val = NULL; +
axutil_hash_t * attr_hash = NULL; +
axis2_char_t * xml_output = NULL; +
axutil_hash_index_t * hi; +
f = fopen(wsdl_name, "r"); +
if (!f) +
return NULL; +
reader = + axiom_xml_reader_create_for_io(environment, read_input, NULL, NULL, + NULL); +
if (!reader) +
+ { +
printf("ERROR CREATING PULLPARSER"); +
return NULL; +
} +
builder = axiom_stax_builder_create(environment, reader); +
if (!builder) +
+ { +
printf("ERROR CREATING PULL PARSER"); +
return NULL; +
} +
document = axiom_stax_builder_get_document(builder, environment); +
if (!document) +
return NULL; +
node1 = axiom_document_get_root_element(document, environment); +
if (!node1) +
+ { +
printf(" root element null "); +
axiom_stax_builder_free(builder, environment); +
return NULL; +
} +
+ do +
+ { +
node2 = axiom_document_build_next(document, environment); +
if (!node2) +
break; +
if (axiom_node_get_node_type(node2, environment) == AXIOM_ELEMENT) +
+ { +
ele2 = + (axiom_element_t *) axiom_node_get_data_element(node2, + environment); +
attr_hash = axiom_element_get_all_attributes(ele2, environment); +
if (attr_hash) +
+ { +
hi = axutil_hash_first(attr_hash, environment); +
axutil_hash_this(hi, NULL, NULL, &attr); +
if (axutil_strcmp + (axiom_attribute_get_value(attr, environment), name) == 0) +
+ { +
policy_node = node2; +
} +
} +
} +
} + while (node2); +
return policy_node; +
} + +
axis2_char_t * get_policy_ref(axiom_node_t * node, const axutil_env_t * env)
+{ +
axiom_element_t * policy_element = NULL; +
axiom_children_iterator_t * children_iter = NULL; +
axiom_node_t * child_node = NULL; +
axutil_qname_t * qname = NULL; +
axis2_char_t * value = NULL; +
axis2_char_t * val = NULL; +
axiom_attribute_t * attr = NULL; +
policy_element = + (axiom_element_t *) axiom_node_get_data_element(node, env); +
children_iter = axiom_element_get_children(policy_element, env, node); +
while (axiom_children_iterator_has_next(children_iter, env)) +
+ { +
child_node = axiom_children_iterator_next(children_iter, env); +
if (axiom_node_get_node_type(child_node, environment) == AXIOM_ELEMENT) +
+ { +
policy_element = + (axiom_element_t *) axiom_node_get_data_element(child_node, + environment); +
if (axutil_strcmp + (axiom_element_get_localname(policy_element, environment), + "PolicyReference") == 0) +
+ { +
qname = axutil_qname_create(environment, "URI", NULL, NULL); +
attr = + axiom_element_get_attribute(policy_element, environment, + qname); +
if (attr) +
+ { +
value = axiom_attribute_get_value(attr, environment); +
val = axutil_string_substring_starting_at(value, 1); +
return val; +
} +
} +
} +
} +
return NULL; +
} +
void +get_all_policy( + axis2_char_t * element_name, + const axutil_env_t * env, + axutil_array_list_t * policy_node_list, + axis2_char_t * wsdl_name)
+{ +
axutil_hash_t * attr_hash = NULL; +
axutil_hash_index_t * hi = NULL; +
axiom_element_t * element = NULL; +
axiom_attribute_t * attribute = NULL; +
axis2_char_t * attribute_val = NULL; +
axiom_node_t * parent_policy_node = NULL, *parent_node = NULL; +
parent_node = return_policy_element(element_name, env, wsdl_name); +
if (!parent_node) +
return; +
parent_policy_node = + return_policy_element(get_policy_ref(parent_node, env), env, wsdl_name); +
axutil_array_list_add(policy_node_list, env, parent_policy_node); +
if (axiom_node_get_node_type(parent_node, env) == AXIOM_ELEMENT) +
+ { +
element = + (axiom_element_t *) axiom_node_get_data_element(parent_node, env); +
attr_hash = axiom_element_get_all_attributes(element, env); +
if (attr_hash) +
+ { +
hi = axutil_hash_next(env, axutil_hash_first(attr_hash, env)); +
+ do +
+ { +
if (hi) +
+ { +
axutil_hash_this(hi, NULL, NULL, &attribute); +
attribute_val = axiom_attribute_get_value(attribute, env); +
attribute_val = axutil_rindex(attribute_val, ':'); +
attribute_val = + axutil_string_substring_starting_at(attribute_val, 1); +
get_all_policy(attribute_val, env, policy_node_list, + wsdl_name); +
hi = axutil_hash_next(env, hi); +
} +
} + while (hi); +
} +
} +
return; +
} diff --git a/test/itest/Makefile.am b/test/itest/Makefile.am new file mode 100644 index 0000000..150a20f --- /dev/null +++ b/test/itest/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = diff --git a/test/itest/whitemesa/Makefile.am b/test/itest/whitemesa/Makefile.am new file mode 100644 index 0000000..69a9094 --- /dev/null +++ b/test/itest/whitemesa/Makefile.am @@ -0,0 +1,2 @@ +TESTS = +SUBDIRS = round1 round2 diff --git a/test/itest/whitemesa/round1/Makefile.am b/test/itest/whitemesa/round1/Makefile.am new file mode 100644 index 0000000..2aef2ac --- /dev/null +++ b/test/itest/whitemesa/round1/Makefile.am @@ -0,0 +1,16 @@ +noinst_PROGRAMS = round1 +round1_SOURCES = round1_client.c + +round1_LDADD = $(LDFLAGS) \ + ../../../../util/src/libaxutil.la \ + ../../../../axiom/src/om/libaxis2_axiom.la \ + ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/src/core/engine/libaxis2_engine.la \ + $(top_builddir)//src/core/transport/http/sender/libaxis2_http_sender.la \ + $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ + $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la + +INCLUDES = -I$(top_builddir)/include \ + -I ../../../../util/include \ + -I ../../../../axiom/include + diff --git a/test/itest/whitemesa/round1/README.txt b/test/itest/whitemesa/round1/README.txt new file mode 100644 index 0000000..821ebcb --- /dev/null +++ b/test/itest/whitemesa/round1/README.txt @@ -0,0 +1,2 @@ +Execute run.sh +service endpoint = http://www.mssoapinterop.org/asmx/simple.asmx diff --git a/test/itest/whitemesa/round1/input b/test/itest/whitemesa/round1/input new file mode 100644 index 0000000..13fdde9 --- /dev/null +++ b/test/itest/whitemesa/round1/input @@ -0,0 +1,6 @@ +String Hello string +Float 2.4 float +HexBinary 6A hexBinary +Decimal 2.4 decimal +Integer 5 int +Date 2005-06-30T12:00:00.0000000-07:00 dateTime diff --git a/test/itest/whitemesa/round1/round1_client.c b/test/itest/whitemesa/round1/round1_client.c new file mode 100644 index 0000000..f298327 --- /dev/null +++ b/test/itest/whitemesa/round1/round1_client.c @@ -0,0 +1,258 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axiom.h> +#include <axis2_util.h> +#include <axiom_soap.h> +#include <axis2_client.h> +#include <string.h> + +axiom_node_t *build_soap_body_content( + const axutil_env_t * env, + const axis2_char_t * echo_operation, + const axis2_char_t * echo_type, + const axis2_char_t * word_to_echo); + +int +main( + int argc, + char **argv) +{ + axutil_env_t *env = NULL; + const axis2_char_t *address = NULL; + axis2_endpoint_ref_t *endpoint_ref = NULL; + axis2_options_t *options = NULL; + const axis2_char_t *client_home = NULL; + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *payload = NULL; + axiom_node_t *ret_node = NULL; + axiom_element_t *ret_ele = NULL; + axis2_char_t *om_str = NULL; + axis2_char_t *result = NULL; + + const axis2_char_t *echo_operation = NULL; + const axis2_char_t *word_to_echo = NULL; + const axis2_char_t *echo_type = NULL; + axis2_char_t operation[32]; + axis2_char_t echo_response_buff[32]; + + echo_operation = "String"; + word_to_echo = "helloworld"; + echo_type = "string"; + + if ((argc > 1) && (axutil_strcmp("-h", argv[1]) == 0)) + { + printf("\nUsage : %s [echo_operation] [echo_value] [XSD_type]\n", + argv[0]); + printf("use -h for help\n"); + return 0; + } + + if (argc > 1) + echo_operation = argv[1]; + if (argc > 2) + word_to_echo = argv[2]; + if (argc > 3) + echo_type = argv[3]; + + /* address = "http://localhost:7070/cgi-bin/interopserver"; */ + address = "http://easysoap.sourceforge.net/cgi-bin/interopserver"; + + sprintf(operation, "echo%s", echo_operation); + + printf("Using endpoint : %s\n", address); + printf("Invoking %s with param %s\n", operation, word_to_echo); + + /* Set up the environment */ + env = axutil_env_create_all("echo.log", AXIS2_LOG_LEVEL_TRACE); + + /* Create EPR with given address */ + + endpoint_ref = axis2_endpoint_ref_create(env, address); + options = axis2_options_create(env); + axis2_options_set_to(options, env, endpoint_ref); + + /* this itest requried soap 1.1 message */ + axis2_options_set_soap_version(options, env, AXIOM_SOAP11); + client_home = AXIS2_GETENV("AXIS2C_HOME"); + if (!client_home) + client_home = "../../deploy"; + + /* Create service client */ + svc_client = axis2_svc_client_create(env, client_home); + if (!svc_client) + { + printf("Error creating service client\n"); + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "Stub invoke FAILED: Error code:" " %d :: %s", + env->error->error_number, + axutil_error_get_message(env->error)); + } + + /* Set service client options */ + axis2_svc_client_set_options(svc_client, env, options); + + payload = build_soap_body_content(env, echo_operation, + echo_type, word_to_echo); + /* Send request */ + ret_node = axis2_svc_client_send_receive(svc_client, env, payload); + + if (ret_node) + { + om_str = AXIOM_NODE_TO_STRING(ret_node, env); + if (om_str) + printf("\nRecieving OM : %s\n", om_str); + if (AXIOM_NODE_GET_NODE_TYPE(ret_node, env) == AXIOM_ELEMENT) + { + + sprintf(echo_response_buff, "echo%sResponse", echo_operation); + ret_ele = + (axiom_element_t *) AXIOM_NODE_GET_DATA_ELEMENT(ret_node, env); + if (axutil_strcmp + (axiom_element_get_localname(ret_ele, env), + echo_response_buff) != 0) + { + printf("%s != %s\n", axiom_element_get_localname(ret_ele, env), + echo_response_buff); + printf("\nFAIL\n\n"); + return AXIS2_FAILURE; + } + + ret_node = AXIOM_NODE_GET_FIRST_CHILD(ret_node, env); + ret_ele = + (axiom_element_t *) AXIOM_NODE_GET_DATA_ELEMENT(ret_node, env); + result = axiom_element_get_text(ret_ele, env, ret_node); + if (!strcmp(word_to_echo, result)) + { + printf("\nSUCCESS\n\n"); + } + else + { + printf("\nFAIL\n\n"); + } + + } + else + { + printf("\nFAIL\n\n"); + return AXIS2_FAILURE; + } + } + else + { + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "Stub invoke FAILED: Error code:" " %d :: %s", + env->error->error_number, + axutil_error_get_message(env->error)); + printf("round1 stub invoke FAILED!\n"); + return AXIS2_FAILURE; + } + + return AXIS2_SUCCESS; +} + +axiom_node_t * +build_soap_body_content( + const axutil_env_t * env, + const axis2_char_t * echo_operation, + const axis2_char_t * echo_type, + const axis2_char_t * word_to_echo) +{ + + axiom_node_t *operation_om_node = NULL; + axiom_element_t *operation_om_ele = NULL; + + axiom_node_t *text_om_node = NULL; + axiom_element_t *text_om_ele = NULL; + + axiom_attribute_t *attri1 = NULL; + axiom_namespace_t *ns0 = NULL, + *ns1 = NULL, + *ns2 = NULL, + *ns3 = NULL, + *ns4 = NULL, + *ns5 = NULL; + axis2_char_t *om_str = NULL; + + axis2_char_t echo_operation_buff[32]; + axis2_char_t input_type_buff[32]; + axis2_char_t xsd_type_buff[32]; + + /*generating the requried parameters */ + sprintf(echo_operation_buff, "echo%s", echo_operation); + sprintf(input_type_buff, "input%s", echo_operation); + sprintf(xsd_type_buff, "xsd:%s", echo_type); + + ns0 = + axiom_namespace_create(env, + "http://schemas.xmlsoap.org/soap/envelope/", + "soapenv"); + ns1 = + axiom_namespace_create(env, + "http://www.w3.org/2001/XMLSchema-instance", + "xsi"); + ns2 = + axiom_namespace_create(env, "http://www.w3.org/2001/XMLSchema", "xsd"); + ns3 = + axiom_namespace_create(env, + "http://schemas.xmlsoap.org/soap/encoding/", + "soapenc"); + ns4 = axiom_namespace_create(env, "http://soapinterop.org/", "tns"); + ns5 = + axiom_namespace_create(env, "http://soapinterop.org/encodedTypes", + "types"); + + operation_om_ele = axiom_element_create(env, NULL, echo_operation_buff, + ns4, &operation_om_node); + + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns0); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns1); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns2); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns3); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns4); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns5); + + attri1 = + axiom_attribute_create(env, "encodingStyle", + "http://schemas.xmlsoap.org/soap/encoding/", + ns0); + + operation_om_ele = AXIOM_NODE_GET_DATA_ELEMENT(operation_om_node, env); + axiom_element_add_attribute(operation_om_ele, env, attri1, + operation_om_node); + + text_om_ele = + axiom_element_create(env, operation_om_node, input_type_buff, NULL, + &text_om_node); + attri1 = axiom_attribute_create(env, "type", xsd_type_buff, ns1); + axiom_element_add_attribute(text_om_ele, env, attri1, text_om_node); + axiom_element_set_text(text_om_ele, env, word_to_echo, text_om_node); + + om_str = AXIOM_NODE_TO_STRING(operation_om_node, env); + if (om_str) + printf("\nSending OM : %s\n", om_str); + + return operation_om_node; +} diff --git a/test/itest/whitemesa/round1/run.sh b/test/itest/whitemesa/round1/run.sh new file mode 100644 index 0000000..433815a --- /dev/null +++ b/test/itest/whitemesa/round1/run.sh @@ -0,0 +1 @@ +while read x; do ./round1 $x; done < input diff --git a/test/itest/whitemesa/round1/todo b/test/itest/whitemesa/round1/todo new file mode 100644 index 0000000..b5c9f6b --- /dev/null +++ b/test/itest/whitemesa/round1/todo @@ -0,0 +1,19 @@ +# echoBase64 + +# echoBoolean + +# echoDecimal + +# echoFloatArray + +# echoHexBinary + +# echoIntegerArray + +# echoStringArray + +# echoStruct + +# echoStructArray + +# echoVoid diff --git a/test/itest/whitemesa/round2/Makefile.am b/test/itest/whitemesa/round2/Makefile.am new file mode 100644 index 0000000..a1ec399 --- /dev/null +++ b/test/itest/whitemesa/round2/Makefile.am @@ -0,0 +1,15 @@ +noinst_PROGRAMS = round2 +round2_SOURCES = round2_client.c + +round2_LDADD = $(LDFLAGS) \ + ../../../../util/src/libaxutil.la \ + ../../../../axiom/src/om/libaxis2_axiom.la \ + ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ + $(top_builddir)/modules/core/engine/libaxis2_engine.la \ + $(top_builddir)/modules/core/transport/http/sender/libaxis2_http_sender.la \ + $(top_builddir)/modules/core/transport/http/receiver/libaxis2_http_receiver.la + +INCLUDES = -I$(top_builddir)/include \ + -I ../../../../util/include \ + -I ../../../../axiom/include + diff --git a/test/itest/whitemesa/round2/README.txt b/test/itest/whitemesa/round2/README.txt new file mode 100644 index 0000000..f11b48a --- /dev/null +++ b/test/itest/whitemesa/round2/README.txt @@ -0,0 +1,8 @@ +In order to run this sample, you need to get a Google license key. +Please visit http://www.google.com/apis/ for details on how to get a license key. + +Use the '-h' option with the sample to get help on command line options. +e.g. +./google -h + +Samisa... diff --git a/test/itest/whitemesa/round2/input b/test/itest/whitemesa/round2/input new file mode 100644 index 0000000..ce75f3b --- /dev/null +++ b/test/itest/whitemesa/round2/input @@ -0,0 +1,6 @@ +String Hello +Integer 3 +Float 2.4 +Decimal 2.4 +Boolean true +Date 2005-06-30T12:00:00.0000000-07:00 diff --git a/test/itest/whitemesa/round2/readme b/test/itest/whitemesa/round2/readme new file mode 100644 index 0000000..09ee054 --- /dev/null +++ b/test/itest/whitemesa/round2/readme @@ -0,0 +1 @@ +www.whitemesa.net/interop diff --git a/test/itest/whitemesa/round2/round2_client.c b/test/itest/whitemesa/round2/round2_client.c new file mode 100644 index 0000000..a384ea8 --- /dev/null +++ b/test/itest/whitemesa/round2/round2_client.c @@ -0,0 +1,251 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <axiom.h> +#include <axis2_util.h> +#include <axiom_soap.h> +#include <axis2_client.h> +#include <string.h> + +axiom_node_t *build_soap_body_content( + const axutil_env_t * env, + const axis2_char_t * echo_operation, + const axis2_char_t * echo_type, + const axis2_char_t * word_to_echo); + +int +main( + int argc, + char **argv) +{ + axutil_env_t *env = NULL; + const axis2_char_t *address = NULL; + axis2_endpoint_ref_t *endpoint_ref = NULL; + axis2_options_t *options = NULL; + const axis2_char_t *client_home = NULL; + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *payload = NULL; + axiom_node_t *ret_node = NULL; + axiom_element_t *ret_ele = NULL; + axis2_char_t *om_str = NULL; + axis2_char_t *result = NULL; + + const axis2_char_t *echo_operation = NULL; + const axis2_char_t *word_to_echo = NULL; + const axis2_char_t *echo_type = NULL; + axis2_char_t operation[32]; + axis2_char_t echo_response_buff[32]; + + echo_operation = "String"; + word_to_echo = "helloworld"; + echo_type = "string"; + + if ((argc > 1) && (axutil_strcmp("-h", argv[1]) == 0)) + { + printf("\nUsage : %s [echo_operation] [echo_value] [XSD_type]\n", + argv[0]); + printf("use -h for help\n"); + return 0; + } + + if (argc > 1) + echo_operation = argv[1]; + if (argc > 2) + word_to_echo = argv[2]; + if (argc > 3) + echo_type = argv[3]; + + /* address = "http://localhost:7070/asmx/simple.asmx"; */ + address = "http://www.mssoapinterop.org/asmx/simple.asmx"; + + sprintf(operation, "echo%s", echo_operation); + + printf("Using endpoint : %s\n", address); + printf("Invoking %s with param %s\n", operation, word_to_echo); + + /* Set up the environment */ + env = axutil_env_create_all("echo.log", AXIS2_LOG_LEVEL_TRACE); + + /* Create EPR with given address */ + + endpoint_ref = axis2_endpoint_ref_create(env, address); + options = axis2_options_create(env); + axis2_options_set_to(options, env, endpoint_ref); + + /* this itest requried soap 1.1 message */ + axis2_options_set_soap_version(options, env, AXIOM_SOAP11); + client_home = AXIS2_GETENV("AXIS2C_HOME"); + if (!client_home) + client_home = "../../deploy"; + + /* Create service client */ + svc_client = axis2_svc_client_create(env, client_home); + if (!svc_client) + { + printf("Error creating service client\n"); + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "Stub invoke FAILED: Error code:" " %d :: %s", + env->error->error_number, + axutil_error_get_message(env->error)); + } + + /* Set service client options */ + axis2_svc_client_set_options(svc_client, env, options); + + payload = build_soap_body_content(env, echo_operation, + echo_type, word_to_echo); + /* Send request */ + ret_node = axis2_svc_client_send_receive(svc_client, env, payload); + + if (ret_node) + { + om_str = AXIOM_NODE_TO_STRING(ret_node, env); + if (om_str) + printf("\nRecieving OM : %s\n", om_str); + if (AXIOM_NODE_GET_NODE_TYPE(ret_node, env) == AXIOM_ELEMENT) + { + + sprintf(echo_response_buff, "echo%sResponse", echo_operation); + ret_ele = + (axiom_element_t *) AXIOM_NODE_GET_DATA_ELEMENT(ret_node, env); + if (axutil_strcmp + (axiom_element_get_localname(ret_ele, env), + echo_response_buff) != 0) + { + printf("%s != %s\n", axiom_element_get_localname(ret_ele, env), + echo_response_buff); + printf("\nFAIL\n\n"); + return AXIS2_FAILURE; + } + + ret_node = AXIOM_NODE_GET_FIRST_CHILD(ret_node, env); + ret_ele = + (axiom_element_t *) AXIOM_NODE_GET_DATA_ELEMENT(ret_node, env); + result = axiom_element_get_text(ret_ele, env, ret_node); + if (!strcmp(word_to_echo, result)) + { + printf("\nSUCCESS\n\n"); + } + else + { + printf("\nFAIL\n\n"); + } + + } + else + { + printf("\nFAIL\n\n"); + return AXIS2_FAILURE; + } + } + else + { + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "Stub invoke FAILED: Error code:" " %d :: %s", + env->error->error_number, + axutil_error_get_message(env->error)); + printf("round1 stub invoke FAILED!\n"); + return AXIS2_FAILURE; + } + + return AXIS2_SUCCESS; +} + +axiom_node_t * +build_soap_body_content( + const axutil_env_t * env, + const axis2_char_t * echo_operation, + const axis2_char_t * echo_type, + const axis2_char_t * word_to_echo) +{ + + axiom_node_t *operation_om_node = NULL; + axiom_element_t *operation_om_ele = NULL; + + axiom_node_t *text_om_node = NULL; + axiom_element_t *text_om_ele = NULL; + + axiom_attribute_t *attri1 = NULL; + axiom_namespace_t *ns0 = NULL, + *ns1 = NULL, + *ns2 = NULL, + *ns3 = NULL, + *ns4 = NULL, + *ns5 = NULL; + axis2_char_t *om_str = NULL; + + axis2_char_t echo_operation_buff[32]; + axis2_char_t input_type_buff[32]; + + /*generating the requried parameters */ + sprintf(echo_operation_buff, "echo%s", echo_operation); + sprintf(input_type_buff, "input%s", echo_operation); + + ns0 = axiom_namespace_create(env, + "http://schemas.xmlsoap.org/soap/envelope/", + "soapenv"); + ns1 = + axiom_namespace_create(env, "http://www.w3.org/2001/XMLSchema-instance", + "xsi"); + ns2 = + axiom_namespace_create(env, "http://www.w3.org/2001/XMLSchema", "xsd"); + ns3 = + axiom_namespace_create(env, "http://schemas.xmlsoap.org/soap/encoding/", + "soapenc"); + ns4 = axiom_namespace_create(env, "http://soapinterop.org/", "tns"); + ns5 = axiom_namespace_create(env, + "http://soapinterop.org/encodedTypes", + "types"); + + operation_om_ele = axiom_element_create(env, NULL, echo_operation_buff, + ns4, &operation_om_node); + + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns0); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns1); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns2); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns3); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns4); + axiom_element_declare_namespace(operation_om_ele, env, + operation_om_node, ns5); + + attri1 = + axiom_attribute_create(env, "encodingStyle", + "http://schemas.xmlsoap.org/soap/encoding/", + ns0); + + operation_om_ele = AXIOM_NODE_GET_DATA_ELEMENT(operation_om_node, env); + AXIOM_ELEMENT_ADD_ATTRIBUTE(operation_om_ele, env, attri1, + operation_om_node); + + text_om_ele = + axiom_element_create(env, operation_om_node, input_type_buff, NULL, + &text_om_node); + axiom_element_set_text(text_om_ele, env, word_to_echo, text_om_node); + + om_str = AXIOM_NODE_TO_STRING(operation_om_node, env); + if (om_str) + printf("\nSending OM : %s\n", om_str); + + return operation_om_node; +} diff --git a/test/itest/whitemesa/round2/run.sh b/test/itest/whitemesa/round2/run.sh new file mode 100644 index 0000000..43cef29 --- /dev/null +++ b/test/itest/whitemesa/round2/run.sh @@ -0,0 +1 @@ +while read x; do ./round2 $x; done < input diff --git a/test/itest/whitemesa/round2/todo b/test/itest/whitemesa/round2/todo new file mode 100644 index 0000000..84a0aed --- /dev/null +++ b/test/itest/whitemesa/round2/todo @@ -0,0 +1,8 @@ +* echoStringArray +* echoIntegerArray +* echoFloatArray +* echoStruct +* echoStructArray +* echoVoid +* echoBase64 +* echoHexBinary diff --git a/test/resources/services.xml b/test/resources/services.xml new file mode 100644 index 0000000..0fcdf07 --- /dev/null +++ b/test/resources/services.xml @@ -0,0 +1,22 @@ +<serviceGroup>
+
+ <service name="add_service">
+
+ <parameter name="ServiceClass" locked="xsd:false">add.so</parameter>
+
+ <operation name="add" >
+ <messageReceiver class="libaxis2_receivers.so" />
+ </operation>
+ </service>
+
+ <service name="multiply_service">
+
+ <parameter name="ServiceClass" locked="xsd:false">multiply.so</parameter>
+
+ <operation name="multiply" >
+ <messageReceiver class="libaxis2_receivers.so" />
+ </operation>
+
+ </service>
+
+</serviceGroup>
diff --git a/test/resources/wsdl/Attachment1.wsdl b/test/resources/wsdl/Attachment1.wsdl new file mode 100644 index 0000000..0fc52d0 --- /dev/null +++ b/test/resources/wsdl/Attachment1.wsdl @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://attachment1" + xmlns:impl="http://attachment1" + xmlns:intf="http://attachment1" + xmlns:tns2="http://xml.apache.org/xml-soap" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <wsdl:types> + <schema elementFormDefault="qualified" + targetNamespace="http://attachment1" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:impl="http://attachment1" + xmlns:intf="http://attachment1" + xmlns:tns2="http://xml.apache.org/xml-soap" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://xml.apache.org/xml-soap"/> + <element name="put"> + <complexType> + <sequence> + <element name="arg1" type="tns2:Image"/> + <element name="arg2" type="tns2:PlainText"/> + <element name="arg3" type="tns2:Source"/> + <element name="arg4" type="tns2:octet-stream"/> + <element name="arg5" type="tns2:DataHandler"/> + <!-- element name="arg6" type="tns2:MimeMultipart"/ --> + <element name="arg7" nillable="true" type="tns2:DataHandler"/> + <element name="arg8" nillable="true" type="tns2:DataHandler"/> + </sequence> + </complexType> + </element> + <element name="putResponse"> + <complexType> + <sequence> + <element name="putReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="putRequest"> + <wsdl:part element="impl:put" name="parameters"/> + </wsdl:message> + <wsdl:message name="putResponse"> + <wsdl:part element="impl:putResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="AttachmentBindingImpl"> + <wsdl:operation name="put"> + <wsdl:input message="impl:putRequest" name="putRequest"/> + <wsdl:output message="impl:putResponse" name="putResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="Attachment1SoapBinding" type="impl:AttachmentBindingImpl"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="put"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="putRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="putResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="AttachmentBindingImplService"> + <wsdl:port binding="impl:Attachment1SoapBinding" name="Attachment1"> + <wsdlsoap:address location="http://localhost:9080/Attachment1/services/Attachment1"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/AttachmentService.wsdl b/test/resources/wsdl/AttachmentService.wsdl new file mode 100644 index 0000000..b94b757 --- /dev/null +++ b/test/resources/wsdl/AttachmentService.wsdl @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://attachment.test.org" xmlns:impl="http://attachment.test.org" xmlns:intf="http://attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://attachment.test.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://attachment.test.org" xmlns:intf="http://attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://xml.apache.org/xml-soap"/> + <element name="multiAttachment"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="tns2:DataHandler"/> + <element name="arg_1_0" nillable="true" type="tns2:DataHandler"/> + <element name="arg_2_0" nillable="true" type="tns2:Image"/> + <element name="arg_3_0" nillable="true" type="tns2:DataHandler"/> + </sequence> + </complexType> + </element> + <element name="multiAttachmentResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="multiAttachmentReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="nillableAttachment"> + <complexType> + <sequence> + <element name="arg_0_1" nillable="true" type="tns2:DataHandler"/> + <element name="arg_1_1" nillable="true" type="tns2:Image"/> + <element name="arg_2_1" nillable="true" type="tns2:Source"/> + <element name="arg_3_1" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="nillableAttachmentResponse"> + <complexType> + <sequence> + <element name="nillableAttachmentReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="multiAttachmentResponse"> + + <wsdl:part element="impl:multiAttachmentResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="nillableAttachmentRequest"> + + <wsdl:part element="impl:nillableAttachment" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="nillableAttachmentResponse"> + + <wsdl:part element="impl:nillableAttachmentResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiAttachmentRequest"> + + <wsdl:part element="impl:multiAttachment" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="AttachmentService"> + + <wsdl:operation name="multiAttachment"> + + <wsdl:input message="impl:multiAttachmentRequest" name="multiAttachmentRequest"/> + + <wsdl:output message="impl:multiAttachmentResponse" name="multiAttachmentResponse"/> + + </wsdl:operation> + + <wsdl:operation name="nillableAttachment"> + + <wsdl:input message="impl:nillableAttachmentRequest" name="nillableAttachmentRequest"/> + + <wsdl:output message="impl:nillableAttachmentResponse" name="nillableAttachmentResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="AttachmentServiceSoapBinding" type="impl:AttachmentService"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="multiAttachment"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="multiAttachmentRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="multiAttachmentResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="nillableAttachment"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="nillableAttachmentRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="nillableAttachmentResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="AttachmentServiceService"> + + <wsdl:port binding="impl:AttachmentServiceSoapBinding" name="AttachmentService"> + + <wsdlsoap:address location="http://localhost:9080/AttachmentService/services/AttachmentService"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/AxisBench.wsdl b/test/resources/wsdl/AxisBench.wsdl new file mode 100644 index 0000000..3138179 --- /dev/null +++ b/test/resources/wsdl/AxisBench.wsdl @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions + targetNamespace="http://axisbench.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:intf="http://axisbench.test.apache.org" + xmlns:impl="http://axisbench.test.apache.org" + xmlns:apachesoap="http://xml.apache.org/xml-soap" + xmlns="http://schemas.xmlsoap.org/wsdl/"> + <wsdl:types> + <schema + elementFormDefault="qualified" + targetNamespace="http://axisbench.test.apache.org" + xmlns="http://www.w3.org/2001/XMLSchema"> + <complexType name="BenchBasicDataType"> + <sequence> + <element name="StringType" type="xsd:string"/> + <element name="IntType" type="xsd:int"/> + <element name="BooleanType" type="xsd:boolean"/> + <element name="DoubleType" type="xsd:double"/> + <element name="DateTimeType" type="xsd:dateTime"/> + <element name="DateType" type="xsd:date"/> + <element name="TimeType" type="xsd:time"/> + <element name="Base64BinaryType" type="xsd:base64Binary"/> + <element name="ByteType" type="xsd:byte"/> + <element name="DecimalType" type="xsd:decimal"/> + <element name="FloatType" type="xsd:float"/> + <element name="HexBinary" type="xsd:hexBinary"/> + <element name="IntegerType" type="xsd:integer"/> + <element name="LongType" type="xsd:long"/> + <element name="QNameType" type="xsd:QName"/> + <element name="ShortType" type="xsd:short"/> + + <!-- Not tested yet + --> + + </sequence> + </complexType> + <complexType name="BenchDataType"> + <sequence> + <element name="count" type="xsd:int"/> + <element maxOccurs="unbounded" name="infos" type="impl:BenchBasicDataType"/> + </sequence> + </complexType> + + <element name="doBenchRequest"> + <complexType> + <sequence> + <element name="doBench" type="impl:BenchDataType"/> + </sequence> + </complexType> + </element> + + <element name="doBenchRequestResponse"> + <complexType> + <sequence> + <element name="doBench" nillable="true" type="impl:BenchDataType"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + <wsdl:message name="doBenchRequest"> + <wsdl:part name="parameters" element="intf:doBenchRequest"/> + </wsdl:message> + <wsdl:message name="doBenchResponse"> + <wsdl:part name="parameters" element="intf:doBenchRequestResponse"/> + </wsdl:message> + <wsdl:portType name="AxisBench"> + <wsdl:operation name="doBenchRequest"> + <wsdl:input name="doBenchRequest" message="intf:doBenchRequest"/> + <wsdl:output name="doBenchResponse" message="intf:doBenchResponse"/> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="AxisBenchSoapBinding" type="intf:AxisBench"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="doBenchRequest"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="doBenchRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="doBenchResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="AxisBenchSoapSvc"> + <wsdl:port name="AxisBenchSoapImpl" binding="intf:AxisBenchSoapBinding"> + <wsdlsoap:address location="http://localhost:9080/AxisBench/services/AxisBenchSoapImpl"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/BasicAllTest.wsdl b/test/resources/wsdl/BasicAllTest.wsdl new file mode 100644 index 0000000..b73800c --- /dev/null +++ b/test/resources/wsdl/BasicAllTest.wsdl @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoAll"> + <s:complexType> + <s:sequence> + <s:element name="inputAll" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoAllResponse"> + <s:complexType> + <s:sequence> + <s:element name="return" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="AllComplexType"> + <s:all> + <s:element minOccurs="0" name="IntValue" type="s:int" /> + <s:element minOccurs="0" name="StringValue" type="s:string" /> + </s:all> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoAllSoapIn"> + <part name="parameters" element="s0:echoAll" /> + </message> + <message name="echoAllSoapOut"> + <part name="parameters" element="s0:echoAllResponse" /> + </message> + + <portType name="AllTestSoap"> + + + <operation name="echoAll"> + <input message="s0:echoAllSoapIn" /> + <output message="s0:echoAllSoapOut" /> + </operation> + + </portType> + + + <binding name="AllTestSoap" type="s0:AllTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoAll"> + <soap:operation soapAction="SimpleAllTest#echoAll" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="AllTestSoap12" type="s0:AllTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoAll"> + <soap12:operation soapAction="All#echoAll" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="AllTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="AllTestSoap" binding="s0:AllTestSoap"> + <soap:address location="http://localhost:90/axis/All" /> + </port> + <port name="AllTestSoap12" binding="s0:AllTestSoap12"> + <soap12:address location="http://localhost:90/axis/All" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/BasicChoice.wsdl b/test/resources/wsdl/BasicChoice.wsdl new file mode 100644 index 0000000..d04d0c3 --- /dev/null +++ b/test/resources/wsdl/BasicChoice.wsdl @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" /> + <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" /> + </s:choice> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/Calculator.wsdl b/test/resources/wsdl/Calculator.wsdl new file mode 100644 index 0000000..a485386 --- /dev/null +++ b/test/resources/wsdl/Calculator.wsdl @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" +xmlns="http://schemas.xmlsoap.org/wsdl/" +xmlns:apachesoap="http://xml.apache.org/xml-soap" +xmlns:impl="http://localhost/axis/Calculator" +xmlns:intf="http://localhost/axis/Calculator" +xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" +xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" +xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" +xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:message name="addRequest"> + <wsdl:part name="in0" type="xsd:int"/> + <wsdl:part name="in1" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="addResponse"> + <wsdl:part name="addReturn" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="subResponse"> + <wsdl:part name="subReturn" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="subRequest"> + <wsdl:part name="in0" type="xsd:int"/> + <wsdl:part name="in1" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="mulRequest"> + <wsdl:part name="in0" type="xsd:int"/> + <wsdl:part name="in1" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="mulResponse"> + <wsdl:part name="mulReturn" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="divRequest"> + <wsdl:part name="in0" type="xsd:int"/> + <wsdl:part name="in1" type="xsd:int"/> + </wsdl:message> + <wsdl:message name="divResponse"> + <wsdl:part name="divReturn" type="xsd:int"/> + </wsdl:message> + <wsdl:portType name="Calculator"> + <wsdl:operation name="add" parameterOrder="in0 in1"> + <wsdl:input message="intf:addRequest" name="addRequest"/> + <wsdl:output message="intf:addResponse" name="addResponse"/> + </wsdl:operation> + <wsdl:operation name="sub" parameterOrder="in0 in1"> + <wsdl:input message="intf:subRequest" name="subRequest"/> + <wsdl:output message="intf:subResponse" name="subResponse"/> + </wsdl:operation> + <wsdl:operation name="mul" parameterOrder="in0 in1"> + <wsdl:input message="intf:mulRequest" name="mulRequest"/> + <wsdl:output message="intf:mulResponse" name="mulResponse"/> + </wsdl:operation> + <wsdl:operation name="div" parameterOrder="in0 in1"> + <wsdl:input message="intf:divRequest" name="divRequest"/> + <wsdl:output message="intf:divResponse" name="divResponse"/> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="CalculatorSoapBinding" type="intf:Calculator"> + <wsdlsoap:binding style="rpc" + transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="add"> + <wsdlsoap:operation soapAction="Calculator#add"/> + <wsdl:input name="addRequest"> + <wsdlsoap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:input> + <wsdl:output name="addResponse"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="sub"> + <wsdlsoap:operation soapAction="Calculator#sub"/> + <wsdl:input name="subRequest"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:input> + <wsdl:output name="subResponse"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="mul"> + <wsdlsoap:operation soapAction="Calculator#mul"/> + <wsdl:input name="mulRequest"> + <wsdlsoap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:input> + <wsdl:output name="mulResponse"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="div"> + <wsdlsoap:operation soapAction="Calculator#div"/> + <wsdl:input name="divRequest"> + <wsdlsoap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:input> + <wsdl:output name="divResponse"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/Calculator" + use="encoded"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="Calculator"> + <wsdl:port binding="intf:CalculatorSoapBinding" name="Calculator"> + <wsdlsoap:address location="http://localhost/axis/Calculator"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/CalculatorDoc.wsdl b/test/resources/wsdl/CalculatorDoc.wsdl new file mode 100644 index 0000000..5600279 --- /dev/null +++ b/test/resources/wsdl/CalculatorDoc.wsdl @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="add"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="addResponse"> + <complexType> + <sequence> + <element name="addReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="sub"> + <complexType> + <sequence> + <element name="arg_0_1" type="xsd:int"/> + <element name="arg_1_1" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="subResponse"> + <complexType> + <sequence> + <element name="subReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mul"> + <complexType> + <sequence> + <element name="arg_0_2" type="xsd:int"/> + <element name="arg_1_2" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mulResponse"> + <complexType> + <sequence> + <element name="mulReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_3" type="xsd:int"/> + <element name="arg_1_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="subResponse"> + + <wsdl:part element="impl:subResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulResponse"> + + <wsdl:part element="impl:mulResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="subRequest"> + + <wsdl:part element="impl:sub" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulRequest"> + + <wsdl:part element="impl:mul" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addResponse"> + + <wsdl:part element="impl:addResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addRequest"> + + <wsdl:part element="impl:add" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="Calculator"> + + <wsdl:operation name="add"> + + <wsdl:input message="impl:addRequest" name="addRequest"/> + + <wsdl:output message="impl:addResponse" name="addResponse"/> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdl:input message="impl:subRequest" name="subRequest"/> + + <wsdl:output message="impl:subResponse" name="subResponse"/> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdl:input message="impl:mulRequest" name="mulRequest"/> + + <wsdl:output message="impl:mulResponse" name="mulResponse"/> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="CalculatorSoapBinding" type="impl:Calculator"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="add"> + + <wsdlsoap:operation soapAction="Calculator#add"/> + + <wsdl:input name="addRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="addResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdlsoap:operation soapAction="Calculator#sub"/> + + <wsdl:input name="subRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="subResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdlsoap:operation soapAction="Calculator#mul"/> + + <wsdl:input name="mulRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="mulResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction="Calculator#div"/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="Calculator"> + + <wsdl:port binding="impl:CalculatorSoapBinding" name="Calculator"> + + <wsdlsoap:address location="http://localhost/axis/Calculator"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/Choice.wsdl b/test/resources/wsdl/Choice.wsdl new file mode 100644 index 0000000..1b52f8c --- /dev/null +++ b/test/resources/wsdl/Choice.wsdl @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" /> + <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" /> + </s:choice> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/CombinedAllTest.wsdl b/test/resources/wsdl/CombinedAllTest.wsdl new file mode 100644 index 0000000..be07bc5 --- /dev/null +++ b/test/resources/wsdl/CombinedAllTest.wsdl @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoAll"> + <s:complexType> + <s:sequence> + <s:element name="inputAll" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoAllResponse"> + <s:complexType> + <s:sequence> + <s:element name="return" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="AllComplexType"> + <s:sequence> + <s:element minOccurs="1" maxOccurs="1" name="NonAllIntValue" type="s:int" /> + + <s:element name="Value0" type="s:int" /> + <s:element minOccurs="0" name="Value1" type="s:int" /> + <s:element minOccurs="0" name="Value2" type="s:string" /> + + <s:element minOccurs="1" maxOccurs="1" name="NonAllStringValue" type="s:string" /> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoAllSoapIn"> + <part name="parameters" element="s0:echoAll" /> + </message> + <message name="echoAllSoapOut"> + <part name="parameters" element="s0:echoAllResponse" /> + </message> + + <portType name="AllTestSoap"> + + + <operation name="echoAll"> + <input message="s0:echoAllSoapIn" /> + <output message="s0:echoAllSoapOut" /> + </operation> + + </portType> + + + <binding name="AllTestSoap" type="s0:AllTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoAll"> + <soap:operation soapAction="SimpleAllTest#echoAll" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="AllTestSoap12" type="s0:AllTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoAll"> + <soap12:operation soapAction="All#echoAll" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="AllTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="AllTestSoap" binding="s0:AllTestSoap"> + <soap:address location="http://localhost:90/axis/All" /> + </port> + <port name="AllTestSoap12" binding="s0:AllTestSoap12"> + <soap12:address location="http://localhost:90/axis/All" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/CombinedChoice.wsdl b/test/resources/wsdl/CombinedChoice.wsdl new file mode 100644 index 0000000..f11939a --- /dev/null +++ b/test/resources/wsdl/CombinedChoice.wsdl @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + + <s:element minOccurs="1" maxOccurs="1" name="NonChoiceIntValue" type="s:int" /> + + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" /> + <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" /> + </s:choice> + + <s:element minOccurs="1" maxOccurs="1" name="NonChoiceStringValue" type="s:string" /> + + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/ComplexLists.wsdl b/test/resources/wsdl/ComplexLists.wsdl new file mode 100644 index 0000000..21674dc --- /dev/null +++ b/test/resources/wsdl/ComplexLists.wsdl @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://complexlist.test.apache.org" xmlns:impl="http://complexlist.test.apache.org" xmlns:intf="http://complexlist.test.apache.org" xmlns:tns2="http://complexlistservice.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://complexlistservice.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexlistImpl.test.apache.org" xmlns:intf="http://complexlistIntf.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <complexType name="m_list"> + <sequence> + <element maxOccurs="unbounded" name="item" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="attrlist"> + <sequence> + <element maxOccurs="unbounded" name="item" nillable="true" type="tns2:namepair"/> + </sequence> + </complexType> + <complexType name="namepair"> + <sequence> + <element name="m_list" nillable="true" type="tns2:m_list"/> + <element name="name" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="attrlisterr"> + <sequence> + <element name="attrlist" nillable="true" type="tns2:attrlist"/> + <element name="errorcode" type="xsd:int"/> + <element name="errortext" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </schema> + <schema elementFormDefault="qualified" targetNamespace="http://complexlist.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexlistImpl2.test.apache.org" xmlns:intf="http://complexlistIntf2.test.apache.org" xmlns:tns2="http://complexlistservice.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://complexlistservice.test.apache.org"/> + <element name="multilist"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="tns2:m_list"/> + <element name="arg_1_0" nillable="true" type="tns2:attrlist"/> + </sequence> + </complexType> + </element> + <element name="multilistResponse"> + <complexType> + <sequence> + <element name="multilistReturn" nillable="true" type="tns2:attrlisterr"/> + </sequence> + </complexType> + </element> + <element name="multilistnil"> + <complexType> + <sequence> + <element name="arg_0_3" nillable="true" type="tns2:m_list"/> + <element name="arg_1_3" nillable="true" type="tns2:attrlist"/> + </sequence> + </complexType> + </element> + <element name="multilistnilResponse"> + <complexType> + <sequence> + <element name="multilistnilReturn" nillable="true" type="tns2:attrlisterr"/> + </sequence> + </complexType> + </element> + <element name="complexlist"> + <complexType> + <sequence> + <element name="arg_0_2" nillable="true" type="tns2:attrlist"/> + <element name="arg_1_2" nillable="true" type="xsd:string"/> + <element name="arg_2_2" nillable="true" type="tns2:attrlist"/> + </sequence> + </complexType> + </element> + <element name="complexlistResponse"> + <complexType> + <sequence> + <element name="complexlistReturn" nillable="true" type="tns2:attrlisterr"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="complexlistResponse"> + + <wsdl:part element="impl:complexlistResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="complexlistRequest"> + + <wsdl:part element="impl:complexlist" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multilistRequest"> + <wsdl:part element="impl:multilist" name="parameters"/> + </wsdl:message> + + <wsdl:message name="multilistResponse"> + <wsdl:part element="impl:multilistResponse" name="parameters"/> + </wsdl:message> + + <wsdl:message name="multilistnilRequest"> + <wsdl:part element="impl:multilistnil" name="parameters"/> + </wsdl:message> + + <wsdl:message name="multilistnilResponse"> + <wsdl:part element="impl:multilistnilResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="ComplexLists"> + + <wsdl:operation name="multilist"> + <wsdl:input message="impl:multilistRequest" name="multilistRequest"/> + <wsdl:output message="impl:multilistResponse" name="multilistResponse"/> + </wsdl:operation> + + <wsdl:operation name="multilistnil"> + <wsdl:input message="impl:multilistnilRequest" name="multilistnilRequest"/> + <wsdl:output message="impl:multilistnilResponse" name="multilistnilResponse"/> + </wsdl:operation> + + <wsdl:operation name="complexlist"> + + <wsdl:input message="impl:complexlistRequest" name="complexlistRequest"/> + + <wsdl:output message="impl:complexlistResponse" name="complexlistResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="ComplexListsSoapBinding" type="impl:ComplexLists"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="multilist"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="multilistRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="multilistResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="multilistnil"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="multilistnilRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="multilistnilResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="complexlist"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="complexlistRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="complexlistResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="ComplexListsService"> + + <wsdl:port binding="impl:ComplexListsSoapBinding" name="ComplexLists"> + + <wsdlsoap:address location="http://localhost:9080/ComplexLists/services/ComplexLists"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> + diff --git a/test/resources/wsdl/ComplexTypeAll.wsdl b/test/resources/wsdl/ComplexTypeAll.wsdl new file mode 100644 index 0000000..2703344 --- /dev/null +++ b/test/resources/wsdl/ComplexTypeAll.wsdl @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="Service" + targetNamespace="http://complextype.test.apache.org" + xmlns:tns="http://complextype.test.apache.org" + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <types> + <xsd:schema elementFormDefault="qualified" + targetNamespace="http://complextype.test.apache.org" + xmlns:tns="http://complextype.test.apache.org"> + <xsd:element name="myOperation"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="aType" type="tns:aRecord"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="aRecord"> + <xsd:all> + <xsd:element name="field1" type="xsd:string" nillable="true"/> + <xsd:element name="field2" type="xsd:string" fixed="field2Value"/> + <xsd:element name="field3" type="xsd:string" nillable="false"/> + </xsd:all> + </xsd:complexType> + + <xsd:element name="myOperationResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="result" type="xsd:boolean"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </types> + <message name="request"> + <part name="parameters" element="tns:myOperation"/> + </message> + <message name="response"> + <part name="parameters" element="tns:myOperationResponse"/> + </message> + <portType name="operations"> + <operation name="myOperation"> + <input message="tns:request"/> + <output message="tns:response"/> + </operation> + </portType> + <binding name="operationsBinding" type="tns:operations"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> + <operation name="myOperation"> + <soap:operation soapAction="http://complextype.test.apache.org"/> + <input> + <soap:body use="literal"/> + </input> + <output> + <soap:body use="literal"/> + </output> + </operation> + </binding> + <service name="TestServices"> + <port name="Service" binding="tns:operationsBinding"> + <soap:address location="http://localhost:9080/ComplexTypeAll/services/Service"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/DataHandlerService.wsdl b/test/resources/wsdl/DataHandlerService.wsdl new file mode 100644 index 0000000..41fcec4 --- /dev/null +++ b/test/resources/wsdl/DataHandlerService.wsdl @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://datahandler.attachment.test.org" xmlns:impl="http://datahandler.attachment.test.org" xmlns:intf="http://datahandler.attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://datahandler.attachment.test.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://datahandler.attachment.test.org" xmlns:intf="http://datahandler.attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://xml.apache.org/xml-soap"/> + <element name="getContentType"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="tns2:DataHandler"/> + </sequence> + </complexType> + </element> + <element name="getContentTypeResponse"> + <complexType> + <sequence> + <element name="getContentTypeReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="saveContent"> + <complexType> + <sequence> + <element name="arg_0_1" nillable="true" type="tns2:DataHandler"/> + <element name="arg_1_1" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="saveContentResponse"> + <complexType> + <sequence> + <element name="saveContentReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoContent"> + <complexType> + <sequence> + <element name="arg_0_2" nillable="true" type="tns2:DataHandler"/> + </sequence> + </complexType> + </element> + <element name="echoContentResponse"> + <complexType> + <sequence> + <element name="echoContentReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="getNoOfBytes"> + <complexType> + <sequence> + <element name="arg_0_3" nillable="true" type="tns2:DataHandler"/> + </sequence> + </complexType> + </element> + <element name="getNoOfBytesResponse"> + <complexType> + <sequence> + <element name="getNoOfBytesReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="executeClass"> + <complexType> + <sequence> + <element name="arg_0_4" nillable="true" type="tns2:DataHandler"/> + <element name="arg_1_4" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="executeClassResponse"> + <complexType> + <sequence> + <element name="executeClassReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoContentRequest"> + + <wsdl:part element="impl:echoContent" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getContentTypeRequest"> + + <wsdl:part element="impl:getContentType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getContentTypeResponse"> + + <wsdl:part element="impl:getContentTypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="executeClassResponse"> + + <wsdl:part element="impl:executeClassResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getNoOfBytesResponse"> + + <wsdl:part element="impl:getNoOfBytesResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="executeClassRequest"> + + <wsdl:part element="impl:executeClass" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="saveContentResponse"> + + <wsdl:part element="impl:saveContentResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="saveContentRequest"> + + <wsdl:part element="impl:saveContent" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getNoOfBytesRequest"> + + <wsdl:part element="impl:getNoOfBytes" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoContentResponse"> + + <wsdl:part element="impl:echoContentResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="DataHandlerService"> + + <wsdl:operation name="getContentType"> + + <wsdl:input message="impl:getContentTypeRequest" name="getContentTypeRequest"/> + + <wsdl:output message="impl:getContentTypeResponse" name="getContentTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="saveContent"> + + <wsdl:input message="impl:saveContentRequest" name="saveContentRequest"/> + + <wsdl:output message="impl:saveContentResponse" name="saveContentResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoContent"> + + <wsdl:input message="impl:echoContentRequest" name="echoContentRequest"/> + + <wsdl:output message="impl:echoContentResponse" name="echoContentResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getNoOfBytes"> + + <wsdl:input message="impl:getNoOfBytesRequest" name="getNoOfBytesRequest"/> + + <wsdl:output message="impl:getNoOfBytesResponse" name="getNoOfBytesResponse"/> + + </wsdl:operation> + + <wsdl:operation name="executeClass"> + + <wsdl:input message="impl:executeClassRequest" name="executeClassRequest"/> + + <wsdl:output message="impl:executeClassResponse" name="executeClassResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="DataHandlerServiceSoapBinding" type="impl:DataHandlerService"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="getContentType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getContentTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getContentTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="saveContent"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="saveContentRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="saveContentResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoContent"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoContentRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoContentResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getNoOfBytes"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getNoOfBytesRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getNoOfBytesResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="executeClass"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="executeClassRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="executeClassResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="DataHandlerServiceService"> + + <wsdl:port binding="impl:DataHandlerServiceSoapBinding" name="DataHandlerService"> + + <wsdlsoap:address location="http://localhost:9080/DataHandlerService/services/DataHandlerService"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/Enumeration.wsdl b/test/resources/wsdl/Enumeration.wsdl new file mode 100644 index 0000000..15f72ce --- /dev/null +++ b/test/resources/wsdl/Enumeration.wsdl @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions targetNamespace="http://enumeration.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://enumeration.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://enumeration.test.apache.org" xmlns:tns="http://enumeration.test.apache.org"> + + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type1"> + <xsd:sequence> + <xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" /> + <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" /> + </xsd:sequence> + <xsd:attribute name="att_enum_int" type="tns:TypeInt"/> + <xsd:attribute name="att_enum_string" type="tns:TypeString"/> + <xsd:attribute name="att_enum_kind"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="CHEQUE" /> + <xsd:enumeration value="CREDIT_CARD" /> + <xsd:enumeration value="TRANSFER" /> + <xsd:enumeration value="WITHDRAWAL" /> + <xsd:enumeration value="AUTOMATIC" /> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:complexType> + + <xsd:simpleType name="TypeInt"> + <xsd:restriction base="xsd:int"> + <xsd:enumeration value="0" /> + <xsd:enumeration value="1" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="TypeString"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="one" /> + <xsd:enumeration value="two" /> + </xsd:restriction> + </xsd:simpleType> + + </xsd:schema> + </types> + + + <message name="input"> + <part name="parameters" element="tns:getInput" /> + </message> + + <message name="output"> + <part name="parameters" element="tns:getInputResponse" /> + </message> + + <portType name="EnumerationWS"> + <operation name="getInput"> + <input message="tns:input" /> + <output message="tns:output" /> + </operation> + </portType> + + <binding name="EnumerationWSBinding" type="tns:EnumerationWS"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="getInput"> + <soap:operation /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + + <service name="EnumerationWSService"> + <port name="sampleWS" binding="tns:EnumerationWSBinding"> + <soap:address location="http://localhost:9080/Enumeration/services/sampleWS" /> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/ExceptionTest.wsdl b/test/resources/wsdl/ExceptionTest.wsdl new file mode 100644 index 0000000..557ed0f --- /dev/null +++ b/test/resources/wsdl/ExceptionTest.wsdl @@ -0,0 +1,97 @@ +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl"> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types"> + <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <complexType name="SpecialDetailStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="OutOfBoundStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="specialDetail" type="tns:SpecialDetailStruct"/> + </sequence> + </complexType> + </schema> + </types> + <message name="DivByZeroFault"> + <part name="faultstruct1" type="ns2:DivByZeroStruct"/> + </message> + <message name="OutOfBoundFault"> + <part name="faultstruct1" type="ns2:OutOfBoundStruct"/> + </message> + <message name="SpecialDetailFault"> + <part name="faultstruct1" type="ns2:SpecialDetailStruct"/> + </message> + <message name="divRequest"> + <part name="int0" type="xsd:int"/> + <part name="int1" type="xsd:int"/> + </message> + <message name="divResponse"> + <part name="addReturn" type="xsd:int"/> + </message> + <portType name="MathOps"> + <operation name="div" parameterOrder ="int0 int1"> + <input message="tns:divRequest"/> + <output message="tns:divResponse"/> + <fault name="DivByZero" message="tns:DivByZeroFault"/> + <fault name="OutOfBound" message="tns:OutOfBoundFault"/> + <fault name="NormalDetail" message="tns:SpecialDetailFault"/> + </operation> + </portType> + <binding name="MathOpsBinding" type="tns:MathOps"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="div"> + <soap:operation soapAction="MathOps#div"/> + <input name="divRequest"> + <soap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </input> + <output name="divResponse"> + <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </output> + <fault name="DivByZero"> + <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + <fault name="OutOfBound"> + <soap:fault name="OutOfBound" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + <fault name="NormalDetail"> + <soap:fault name="NormalDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + </operation> + </binding> + <service name="MathOpsService"> + <port name="MathOps" binding="tns:MathOpsBinding"> + <soap:address location="http://localhost/axis/MathOps"/> + </port> + </service> + <!-- Fault messages --> +</definitions> diff --git a/test/resources/wsdl/ExceptionTestDoc.wsdl b/test/resources/wsdl/ExceptionTestDoc.wsdl new file mode 100644 index 0000000..e51b20f --- /dev/null +++ b/test/resources/wsdl/ExceptionTestDoc.wsdl @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <complexType name="OutOfBoundStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="specialDetail" nillable="true" type="impl:SpecialDetailStruct"/> + </sequence> + </complexType> + <complexType name="SpecialDetailStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <element name="OutOfBoundStruct" nillable="true" type="impl:OutOfBoundStruct"/> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/> + <element name="SpecialDetailStruct" nillable="true" type="impl:SpecialDetailStruct"/> + </schema> + </wsdl:types> + + <wsdl:message name="OutOfBoundStruct"> + + <wsdl:part element="impl:OutOfBoundStruct" name="fault"/> + + </wsdl:message> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="DivByZeroStruct"> + + <wsdl:part element="impl:DivByZeroStruct" name="fault"/> + + </wsdl:message> + + <wsdl:message name="SpecialDetailStruct"> + + <wsdl:part element="impl:SpecialDetailStruct" name="fault"/> + + </wsdl:message> + + <wsdl:portType name="MathOps"> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/> + + <wsdl:fault message="impl:SpecialDetailStruct" name="SpecialDetailStruct"/> + + <wsdl:fault message="impl:OutOfBoundStruct" name="OutOfBoundStruct"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + <wsdl:fault name="DivByZeroStruct"> + + <wsdlsoap:fault name="DivByZeroStruct" use="literal"/> + + </wsdl:fault> + + <wsdl:fault name="SpecialDetailStruct"> + + <wsdlsoap:fault name="SpecialDetailStruct" use="literal"/> + + </wsdl:fault> + + <wsdl:fault name="OutOfBoundStruct"> + + <wsdlsoap:fault name="OutOfBoundStruct" use="literal"/> + + </wsdl:fault> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="MathOpsService"> + + <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps"> + + <wsdlsoap:address location="http://localhost/axis/MathOps"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/ExtensibilityQuery.wsdl b/test/resources/wsdl/ExtensibilityQuery.wsdl new file mode 100644 index 0000000..27a2738 --- /dev/null +++ b/test/resources/wsdl/ExtensibilityQuery.wsdl @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + +<definitions name="ExtensibilityQuery" targetNamespace="urn:ExtensibilityQuery" + +xmlns="http://schemas.xmlsoap.org/wsdl/" + +xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + +xmlns:tns="urn:ExtensibilityQuery" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <types> + + <xsd:schema attributeFormDefault="qualified" + + elementFormDefault="qualified" targetNamespace="urn:ExtensibilityQuery"> + + + + <xsd:complexType name="ExtensibilityType"> + + <xsd:sequence> + + <xsd:any namespace="##any"/> + + </xsd:sequence> + + </xsd:complexType> + + + + <xsd:element name="query"> + + <xsd:complexType> + + <xsd:sequence> + + <xsd:any namespace="##any" /> + + </xsd:sequence> + + </xsd:complexType> + + </xsd:element> + + + + <xsd:element name="queryResponse"> + + <xsd:complexType> + + <xsd:sequence> + + <xsd:any namespace="##any" /> + + </xsd:sequence> + + </xsd:complexType> + + </xsd:element> + + + + </xsd:schema> + + </types> + + + + <message name="queryIn"> + + <part element="tns:query" name="parameters" /> + + </message> + + + + <message name="queryOut"> + + <part element="tns:queryResponse" name="parameters" /> + + </message> + + + + <portType name="ExtensibilityQueryPortType"> + + <operation name="query"> + + <input message="tns:queryIn" /> + + <output message="tns:queryOut" /> + + </operation> + + </portType> + + + + <binding name="ExtensibilityQueryBinding" type="tns:ExtensibilityQueryPortType"> + + <soap:binding style="document" + + transport="http://schemas.xmlsoap.org/soap/http" /> + + <operation name="query"> + + <soap:operation soapAction="ExtensibilityQuery#query" /> + + <input> + + <soap:body use="literal" /> + + </input> + + <output> + + <soap:body use="literal" /> + + </output> + + </operation> + + </binding> + + + + <service name="ExtensibilityQuery"> + + <port binding="tns:ExtensibilityQueryBinding" name="ExtensibilityQueryPort"> + + <soap:address location="http://localhost:8080/axis/testXSDANY"/> + + </port> + + </service> + +</definitions> + + + diff --git a/test/resources/wsdl/FaultMapping.wsdl b/test/resources/wsdl/FaultMapping.wsdl new file mode 100644 index 0000000..557ed0f --- /dev/null +++ b/test/resources/wsdl/FaultMapping.wsdl @@ -0,0 +1,97 @@ +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl"> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types"> + <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <complexType name="SpecialDetailStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="OutOfBoundStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="specialDetail" type="tns:SpecialDetailStruct"/> + </sequence> + </complexType> + </schema> + </types> + <message name="DivByZeroFault"> + <part name="faultstruct1" type="ns2:DivByZeroStruct"/> + </message> + <message name="OutOfBoundFault"> + <part name="faultstruct1" type="ns2:OutOfBoundStruct"/> + </message> + <message name="SpecialDetailFault"> + <part name="faultstruct1" type="ns2:SpecialDetailStruct"/> + </message> + <message name="divRequest"> + <part name="int0" type="xsd:int"/> + <part name="int1" type="xsd:int"/> + </message> + <message name="divResponse"> + <part name="addReturn" type="xsd:int"/> + </message> + <portType name="MathOps"> + <operation name="div" parameterOrder ="int0 int1"> + <input message="tns:divRequest"/> + <output message="tns:divResponse"/> + <fault name="DivByZero" message="tns:DivByZeroFault"/> + <fault name="OutOfBound" message="tns:OutOfBoundFault"/> + <fault name="NormalDetail" message="tns:SpecialDetailFault"/> + </operation> + </portType> + <binding name="MathOpsBinding" type="tns:MathOps"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="div"> + <soap:operation soapAction="MathOps#div"/> + <input name="divRequest"> + <soap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </input> + <output name="divResponse"> + <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </output> + <fault name="DivByZero"> + <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + <fault name="OutOfBound"> + <soap:fault name="OutOfBound" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + <fault name="NormalDetail"> + <soap:fault name="NormalDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + </operation> + </binding> + <service name="MathOpsService"> + <port name="MathOps" binding="tns:MathOpsBinding"> + <soap:address location="http://localhost/axis/MathOps"/> + </port> + </service> + <!-- Fault messages --> +</definitions> diff --git a/test/resources/wsdl/FaultMappingDoc.wsdl b/test/resources/wsdl/FaultMappingDoc.wsdl new file mode 100644 index 0000000..e51b20f --- /dev/null +++ b/test/resources/wsdl/FaultMappingDoc.wsdl @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <complexType name="OutOfBoundStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="specialDetail" nillable="true" type="impl:SpecialDetailStruct"/> + </sequence> + </complexType> + <complexType name="SpecialDetailStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <element name="OutOfBoundStruct" nillable="true" type="impl:OutOfBoundStruct"/> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/> + <element name="SpecialDetailStruct" nillable="true" type="impl:SpecialDetailStruct"/> + </schema> + </wsdl:types> + + <wsdl:message name="OutOfBoundStruct"> + + <wsdl:part element="impl:OutOfBoundStruct" name="fault"/> + + </wsdl:message> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="DivByZeroStruct"> + + <wsdl:part element="impl:DivByZeroStruct" name="fault"/> + + </wsdl:message> + + <wsdl:message name="SpecialDetailStruct"> + + <wsdl:part element="impl:SpecialDetailStruct" name="fault"/> + + </wsdl:message> + + <wsdl:portType name="MathOps"> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/> + + <wsdl:fault message="impl:SpecialDetailStruct" name="SpecialDetailStruct"/> + + <wsdl:fault message="impl:OutOfBoundStruct" name="OutOfBoundStruct"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + <wsdl:fault name="DivByZeroStruct"> + + <wsdlsoap:fault name="DivByZeroStruct" use="literal"/> + + </wsdl:fault> + + <wsdl:fault name="SpecialDetailStruct"> + + <wsdlsoap:fault name="SpecialDetailStruct" use="literal"/> + + </wsdl:fault> + + <wsdl:fault name="OutOfBoundStruct"> + + <wsdlsoap:fault name="OutOfBoundStruct" use="literal"/> + + </wsdl:fault> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="MathOpsService"> + + <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps"> + + <wsdlsoap:address location="http://localhost/axis/MathOps"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/FourLevelTestDoc.wsdl b/test/resources/wsdl/FourLevelTestDoc.wsdl new file mode 100644 index 0000000..7c82a05 --- /dev/null +++ b/test/resources/wsdl/FourLevelTestDoc.wsdl @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="LicenseUsageHistoryService" targetNamespace="urn:org.apache:ws-axis/c/test/v1_0" xmlns:impl="urn:org.apache:ws-axis/c/test/v1_0" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"> + <types> + <schema targetNamespace="urn:org.apache:ws-axis/c/test/v1_0" xmlns:impl="urn:org.apache:ws-axis/c/test/v1_0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified"> + <complexType name="FourthLevelElemType"> + <sequence> + <element name="SampleString" type="xsd:string"/> + <element name="SampleInt" type="xsd:int"/> + </sequence> + </complexType> + <complexType name="ThirdLevelElemType"> + <sequence> + <element name="FourthLevelElem" type="impl:FourthLevelElemType" maxOccurs="unbounded"/> + </sequence> + </complexType> + <complexType name="SecondLevelElemType"> + <sequence> + <element name="ThirdLevelElem" type="impl:ThirdLevelElemType" maxOccurs="unbounded"/> + </sequence> + </complexType> + <complexType name="FirstLevelElemType"> + <sequence> + <element name="SecondLevelElem" type="impl:SecondLevelElemType" maxOccurs="unbounded"/> + </sequence> + </complexType> + <element name="FirstLevelElem" type="impl:FirstLevelElemType"/> + </schema> + </types> + <message name="TestDocRequest"> + <part element="impl:FirstLevelElem" name="inputPart"/> + </message> + <message name="TestDocResponse"> + <part element="impl:FirstLevelElem" name="outputPart"/> + </message> + <portType name="FourLevelTestDocInterface"> + <operation name="RetrieveTestDoc"> + <input message="impl:TestDocRequest" name="TestDocRequest"/> + <output message="impl:TestDocResponse" name="TestDocResponse"/> + </operation> + </portType> + <binding name="FourLevelTestDocBinding" type="impl:FourLevelTestDocInterface"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="RetrieveTestDoc"> + <soap:operation soapAction="FourLevelTestDocService#RetrieveTestDoc" style="document"/> + <input name="TestDocRequest"> + <soap:body namespace="urn:org.apache:ws-axis/c/test/v1_0" use="literal"/> + </input> + <output name="TestDocResponse"> + <soap:body namespace="urn:org.apache:ws-axis/c/test/v1_0" use="literal"/> + </output> + </operation> + </binding> + <service name="FourLevelTestDocService"> + <port binding="impl:FourLevelTestDocBinding" name="FourLevelTestDoc"> + <soap:address location="http://localhost:80/axis/FourLevelTestDoc"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/InOut.wsdl b/test/resources/wsdl/InOut.wsdl new file mode 100644 index 0000000..11f6afa --- /dev/null +++ b/test/resources/wsdl/InOut.wsdl @@ -0,0 +1,429 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <element name="noParametersNoReturn"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="noParametersNoReturnResponse"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="noParametersIntReturn"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="noParametersIntReturnResponse"> + <complexType> + <sequence> + <element name="noParametersIntReturnReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="multiParametersNoReturn"> + <complexType> + <sequence> + <element name="arg_0_2" nillable="true" type="xsd:string"/> + <element name="arg_1_2" type="xsd:int"/> + <element name="arg_2_2" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="multiParametersNoReturnResponse"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="multiComplexParametersIntReturn"> + <complexType> + <sequence> + <element name="arg_0_3" nillable="true" type="xsd:string"/> + <element name="arg_1_3" nillable="true" type="impl:ComplexType1"/> + <element name="arg_2_3" type="xsd:int"/> + <element name="arg_3_3" type="xsd:double"/> + <element maxOccurs="unbounded" name="arg_4_3" type="xsd:string"/> + </sequence> + </complexType> + </element> + <complexType name="ComplexType1"> + <sequence> + <element name="ctLong" type="xsd:long"/> + <element maxOccurs="unbounded" name="ctIntArray" type="xsd:int"/> + <element name="ctString" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="ComplexType2"> + <sequence> + <element name="ctLong" type="xsd:long"/> + <element maxOccurs="unbounded" name="ctIntArray" type="xsd:int"/> + <element name="ctString" nillable="true" type="xsd:string"/> + <element name="ctComplex" nillable="true" type="impl:ComplexType1"/> + </sequence> + </complexType> + <element name="complexParameterComplexReturn"> + <complexType> + <sequence> + <element name="complexRequest" nillable="true" type="impl:ComplexType2"/> + </sequence> + </complexType> + </element> + <element name="complexParameterComplexReturnResponse"> + <complexType> + <sequence> + <element name="complexResponse" nillable="true" type="impl:ComplexType2"/> + </sequence> + </complexType> + </element> + <element name="multiComplexParametersIntReturnResponse"> + <complexType> + <sequence> + <element name="multiComplexParametersIntReturnReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="multiComplexParametersNilIntReturn"> + <complexType> + <sequence> + <element name="arg_0_4" nillable="true" type="xsd:string"/> + <element name="arg_1_4" nillable="true" type="impl:ComplexNilType1"/> + <element name="arg_2_4" nillable="true" type="xsd:int"/> + <element name="arg_3_4" nillable="true" type="xsd:double"/> + <element maxOccurs="unbounded" name="arg_4_4" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <complexType name="ComplexNilType1"> + <sequence> + <element name="ctLong" nillable="true" type="xsd:long"/> + <element maxOccurs="unbounded" name="ctIntArray" nillable="true" type="xsd:int"/> + <element name="ctString" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <element name="multiComplexParametersNilIntReturnResponse"> + <complexType> + <sequence> + <element name="multiComplexParametersNilIntReturnReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="multiArrayParametersIntReturn"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_5" type="xsd:int"/> + <element maxOccurs="unbounded" minOccurs="0" name="arg_1_5" type="xsd:double"/> + <element maxOccurs="unbounded" minOccurs="0" name="arg_2_5" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="multiArrayParametersIntReturnResponse"> + <complexType> + <sequence> + <element name="multiArrayParametersIntReturnReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="noParametersIntReturnResponse"> + + <wsdl:part element="impl:noParametersIntReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="noParametersNoReturnRequest"> + + <wsdl:part element="impl:noParametersNoReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiComplexParametersIntReturnResponse"> + + <wsdl:part element="impl:multiComplexParametersIntReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiArrayParametersIntReturnRequest"> + + <wsdl:part element="impl:multiArrayParametersIntReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiComplexParametersNilIntReturnResponse"> + + <wsdl:part element="impl:multiComplexParametersNilIntReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="noParametersNoReturnResponse"> + + <wsdl:part element="impl:noParametersNoReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiParametersNoReturnRequest"> + + <wsdl:part element="impl:multiParametersNoReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="complexParameterComplexReturnRequest"> + <wsdl:part element="impl:complexParameterComplexReturn" name="parameters"/> + </wsdl:message> + <wsdl:message name="complexParameterComplexReturnResponse"> + <wsdl:part element="impl:complexParameterComplexReturnResponse" name="parameters"/> + </wsdl:message> + + <wsdl:message name="noParametersIntReturnRequest"> + + <wsdl:part element="impl:noParametersIntReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiComplexParametersIntReturnRequest"> + + <wsdl:part element="impl:multiComplexParametersIntReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiComplexParametersNilIntReturnRequest"> + + <wsdl:part element="impl:multiComplexParametersNilIntReturn" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiArrayParametersIntReturnResponse"> + + <wsdl:part element="impl:multiArrayParametersIntReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="multiParametersNoReturnResponse"> + + <wsdl:part element="impl:multiParametersNoReturnResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="InOut"> + + <wsdl:operation name="noParametersNoReturn"> + + <wsdl:input message="impl:noParametersNoReturnRequest" name="noParametersNoReturnRequest"/> + + <wsdl:output message="impl:noParametersNoReturnResponse" name="noParametersNoReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="noParametersIntReturn"> + + <wsdl:input message="impl:noParametersIntReturnRequest" name="noParametersIntReturnRequest"/> + + <wsdl:output message="impl:noParametersIntReturnResponse" name="noParametersIntReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="multiParametersNoReturn"> + + <wsdl:input message="impl:multiParametersNoReturnRequest" name="multiParametersNoReturnRequest"/> + + <wsdl:output message="impl:multiParametersNoReturnResponse" name="multiParametersNoReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="complexParameterComplexReturn"> + + <wsdl:input message="impl:complexParameterComplexReturnRequest" name="complexParameterComplexReturnRequest"/> + + <wsdl:output message="impl:complexParameterComplexReturnResponse" name="complexParameterComplexReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="multiComplexParametersIntReturn"> + + <wsdl:input message="impl:multiComplexParametersIntReturnRequest" name="multiComplexParametersIntReturnRequest"/> + + <wsdl:output message="impl:multiComplexParametersIntReturnResponse" name="multiComplexParametersIntReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="multiComplexParametersNilIntReturn"> + + <wsdl:input message="impl:multiComplexParametersNilIntReturnRequest" name="multiComplexParametersNilIntReturnRequest"/> + + <wsdl:output message="impl:multiComplexParametersNilIntReturnResponse" name="multiComplexParametersNilIntReturnResponse"/> + + </wsdl:operation> + + <wsdl:operation name="multiArrayParametersIntReturn"> + + <wsdl:input message="impl:multiArrayParametersIntReturnRequest" name="multiArrayParametersIntReturnRequest"/> + + <wsdl:output message="impl:multiArrayParametersIntReturnResponse" name="multiArrayParametersIntReturnResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="InOutSoapBinding" type="impl:InOut"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="noParametersNoReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="noParametersNoReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="noParametersNoReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="noParametersIntReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="noParametersIntReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="noParametersIntReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="multiParametersNoReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="multiParametersNoReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="multiParametersNoReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="complexParameterComplexReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="complexParameterComplexReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="complexParameterComplexReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="multiComplexParametersIntReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="multiComplexParametersIntReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="multiComplexParametersIntReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="multiComplexParametersNilIntReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="multiComplexParametersNilIntReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="multiComplexParametersNilIntReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="multiArrayParametersIntReturn"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="multiArrayParametersIntReturnRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="multiArrayParametersIntReturnResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="InOutService"> + + <wsdl:port binding="impl:InOutSoapBinding" name="InOut"> + + <wsdlsoap:address location="http://localhost:9080/InOut/services/InOut"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> + diff --git a/test/resources/wsdl/InteropTestRound1.wsdl b/test/resources/wsdl/InteropTestRound1.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/InteropTestRound1.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/InteropTestRound1Doc.wsdl b/test/resources/wsdl/InteropTestRound1Doc.wsdl new file mode 100644 index 0000000..be1d09b --- /dev/null +++ b/test/resources/wsdl/InteropTestRound1Doc.wsdl @@ -0,0 +1,774 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="echoString"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoStringResponse"> + <complexType> + <sequence> + <element name="echoStringReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoStringArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="arg_0_1" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoStringArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="echoStringArrayReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoInteger"> + <complexType> + <sequence> + <element name="arg_0_2" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoIntegerResponse"> + <complexType> + <sequence> + <element name="echoIntegerReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoIntegerArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="arg_0_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoIntegerArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="echoIntegerArrayReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoFloat"> + <complexType> + <sequence> + <element name="arg_0_4" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoFloatResponse"> + <complexType> + <sequence> + <element name="echoFloatReturn" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="arg_0_5" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="echoFloatArrayReturn" type="xsd:float"/> + </sequence> + </complexType> + </element> + <complexType name="SOAPStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <element name="echoStruct"> + <complexType> + <sequence> + <element name="arg_0_6" nillable="true" type="impl:SOAPStruct"/> + </sequence> + </complexType> + </element> + <element name="echoStructResponse"> + <complexType> + <sequence> + <element name="echoStructReturn" nillable="true" type="impl:SOAPStruct"/> + </sequence> + </complexType> + </element> + <element name="echoStructArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="arg_0_7" type="impl:SOAPStruct"/> + </sequence> + </complexType> + </element> + <element name="echoStructArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="echoStructArrayReturn" type="impl:SOAPStruct"/> + </sequence> + </complexType> + </element> + <element name="echoVoid"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="echoVoidResponse"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="echoBase64"> + <complexType> + <sequence> + <element name="arg_0_9" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="echoBase64Response"> + <complexType> + <sequence> + <element name="echoBase64Return" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="echoDate"> + <complexType> + <sequence> + <element name="arg_0_10" nillable="true" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + <element name="echoDateResponse"> + <complexType> + <sequence> + <element name="echoDateReturn" nillable="true" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + <element name="echoHexBinary"> + <complexType> + <sequence> + <element name="arg_0_11" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + <element name="echoHexBinaryResponse"> + <complexType> + <sequence> + <element name="echoHexBinaryReturn" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + <element name="echoDecimal"> + <complexType> + <sequence> + <element name="arg_0_12" nillable="true" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + <element name="echoDecimalResponse"> + <complexType> + <sequence> + <element name="echoDecimalReturn" nillable="true" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + <element name="echoBoolean"> + <complexType> + <sequence> + <element name="arg_0_13" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="echoBooleanResponse"> + <complexType> + <sequence> + <element name="echoBooleanReturn" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoBooleanResponse"> + + <wsdl:part element="impl:echoBooleanResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoBase64Response"> + + <wsdl:part element="impl:echoBase64Response" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoVoidRequest"> + + <wsdl:part element="impl:echoVoid" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStringArrayRequest"> + + <wsdl:part element="impl:echoStringArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoDecimalResponse"> + + <wsdl:part element="impl:echoDecimalResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoFloatResponse"> + + <wsdl:part element="impl:echoFloatResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoBase64Request"> + + <wsdl:part element="impl:echoBase64" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoDateResponse"> + + <wsdl:part element="impl:echoDateResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoBooleanRequest"> + + <wsdl:part element="impl:echoBoolean" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoHexBinaryRequest"> + + <wsdl:part element="impl:echoHexBinary" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoHexBinaryResponse"> + + <wsdl:part element="impl:echoHexBinaryResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoFloatRequest"> + + <wsdl:part element="impl:echoFloat" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntegerResponse"> + + <wsdl:part element="impl:echoIntegerResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoFloatArrayRequest"> + + <wsdl:part element="impl:echoFloatArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStringArrayResponse"> + + <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStructArrayRequest"> + + <wsdl:part element="impl:echoStructArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStructRequest"> + + <wsdl:part element="impl:echoStruct" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntegerRequest"> + + <wsdl:part element="impl:echoInteger" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoDateRequest"> + + <wsdl:part element="impl:echoDate" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntegerArrayRequest"> + + <wsdl:part element="impl:echoIntegerArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoDecimalRequest"> + + <wsdl:part element="impl:echoDecimal" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStructResponse"> + + <wsdl:part element="impl:echoStructResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoFloatArrayResponse"> + + <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStringResponse"> + + <wsdl:part element="impl:echoStringResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoVoidResponse"> + + <wsdl:part element="impl:echoVoidResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStructArrayResponse"> + + <wsdl:part element="impl:echoStructArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntegerArrayResponse"> + + <wsdl:part element="impl:echoIntegerArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoStringRequest"> + + <wsdl:part element="impl:echoString" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="InteropTestPortTypeDoc"> + + <wsdl:operation name="echoString"> + + <wsdl:input message="impl:echoStringRequest" name="echoStringRequest"/> + + <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoStringArray"> + + <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/> + + <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoInteger"> + + <wsdl:input message="impl:echoIntegerRequest" name="echoIntegerRequest"/> + + <wsdl:output message="impl:echoIntegerResponse" name="echoIntegerResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoIntegerArray"> + + <wsdl:input message="impl:echoIntegerArrayRequest" name="echoIntegerArrayRequest"/> + + <wsdl:output message="impl:echoIntegerArrayResponse" name="echoIntegerArrayResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoFloat"> + + <wsdl:input message="impl:echoFloatRequest" name="echoFloatRequest"/> + + <wsdl:output message="impl:echoFloatResponse" name="echoFloatResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoFloatArray"> + + <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/> + + <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoStruct"> + + <wsdl:input message="impl:echoStructRequest" name="echoStructRequest"/> + + <wsdl:output message="impl:echoStructResponse" name="echoStructResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoStructArray"> + + <wsdl:input message="impl:echoStructArrayRequest" name="echoStructArrayRequest"/> + + <wsdl:output message="impl:echoStructArrayResponse" name="echoStructArrayResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoVoid"> + + <wsdl:input message="impl:echoVoidRequest" name="echoVoidRequest"/> + + <wsdl:output message="impl:echoVoidResponse" name="echoVoidResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoBase64"> + + <wsdl:input message="impl:echoBase64Request" name="echoBase64Request"/> + + <wsdl:output message="impl:echoBase64Response" name="echoBase64Response"/> + + </wsdl:operation> + + <wsdl:operation name="echoDate"> + + <wsdl:input message="impl:echoDateRequest" name="echoDateRequest"/> + + <wsdl:output message="impl:echoDateResponse" name="echoDateResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoHexBinary"> + + <wsdl:input message="impl:echoHexBinaryRequest" name="echoHexBinaryRequest"/> + + <wsdl:output message="impl:echoHexBinaryResponse" name="echoHexBinaryResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoDecimal"> + + <wsdl:input message="impl:echoDecimalRequest" name="echoDecimalRequest"/> + + <wsdl:output message="impl:echoDecimalResponse" name="echoDecimalResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoBoolean"> + + <wsdl:input message="impl:echoBooleanRequest" name="echoBooleanRequest"/> + + <wsdl:output message="impl:echoBooleanResponse" name="echoBooleanResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="InteropBaseSoapBinding" type="impl:InteropTestPortTypeDoc"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="echoString"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStringRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoStringResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoStringArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStringArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoStringArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoInteger"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoIntegerRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoIntegerResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoIntegerArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoIntegerArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoIntegerArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoFloat"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoFloatRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoFloatResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoFloatArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoFloatArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoFloatArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoStruct"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStructRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoStructResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoStructArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStructArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoStructArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoVoid"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoVoidRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoVoidResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoBase64"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoBase64Request"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoBase64Response"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoDate"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoDateRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoDateResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoHexBinary"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoHexBinaryRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoHexBinaryResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoDecimal"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoDecimalRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoDecimalResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoBoolean"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoBooleanRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoBooleanResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="InteropTestPortTypeDocService"> + + <wsdl:port binding="impl:InteropBaseSoapBinding" name="InteropBaseDoc"> + + <wsdlsoap:address location="http://localhost/axis/InteropBaseDoc"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/LargeReturningString.wsdl b/test/resources/wsdl/LargeReturningString.wsdl new file mode 100644 index 0000000..9b031da --- /dev/null +++ b/test/resources/wsdl/LargeReturningString.wsdl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://largereturningstring.test.apache.org" xmlns:impl="http://largereturningstring.test.apache.org" xmlns:intf="http://largereturningstring.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://largereturningstring.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://largereturningstring.test.apache.org" xmlns:intf="http://largereturningstring.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <element name="getLargeString"> + <complexType> + <sequence> + <element name="size" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="getLargeStringResponse"> + <complexType> + <sequence> + <element name="getLargeStringReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="getLargeStringRequest"> + + <wsdl:part element="intf:getLargeString" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getLargeStringResponse"> + + <wsdl:part element="intf:getLargeStringResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="LargeReturningString"> + + <wsdl:operation name="getLargeString"> + + <wsdl:input message="intf:getLargeStringRequest" name="getLargeStringRequest"/> + + <wsdl:output message="intf:getLargeStringResponse" name="getLargeStringResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="LargeReturningStringSoapBinding" type="intf:LargeReturningString"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="getLargeString"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getLargeStringRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getLargeStringResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="LargeReturningStringService"> + + <wsdl:port binding="intf:LargeReturningStringSoapBinding" name="LargeReturningString"> + + <wsdlsoap:address location="http://localhost:9080/LargeReturningString/services/LargeReturningString"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/LimitedAllTest.wsdl b/test/resources/wsdl/LimitedAllTest.wsdl new file mode 100644 index 0000000..75324b0 --- /dev/null +++ b/test/resources/wsdl/LimitedAllTest.wsdl @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoAll"> + <s:complexType> + <s:sequence> + <s:element name="inputAll" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoAllResponse"> + <s:complexType> + <s:sequence> + <s:element name="return" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="AllComplexType"> + <s:all> + <s:element name="Value0" type="s:int" /> + <s:element minOccurs="0" name="Value1" type="s:int" /> + <s:element minOccurs="0" name="Value2" type="s:string" /> + </s:all> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoAllSoapIn"> + <part name="parameters" element="s0:echoAll" /> + </message> + <message name="echoAllSoapOut"> + <part name="parameters" element="s0:echoAllResponse" /> + </message> + + <portType name="AllTestSoap"> + + + <operation name="echoAll"> + <input message="s0:echoAllSoapIn" /> + <output message="s0:echoAllSoapOut" /> + </operation> + + </portType> + + + <binding name="AllTestSoap" type="s0:AllTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoAll"> + <soap:operation soapAction="SimpleAllTest#echoAll" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="AllTestSoap12" type="s0:AllTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoAll"> + <soap12:operation soapAction="All#echoAll" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="AllTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="AllTestSoap" binding="s0:AllTestSoap"> + <soap:address location="http://localhost:90/axis/All" /> + </port> + <port name="AllTestSoap12" binding="s0:AllTestSoap12"> + <soap12:address location="http://localhost:90/axis/All" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/ManyTypeRefRoot.wsdl b/test/resources/wsdl/ManyTypeRefRoot.wsdl new file mode 100644 index 0000000..13dec3d --- /dev/null +++ b/test/resources/wsdl/ManyTypeRefRoot.wsdl @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions + targetNamespace="http://manytyperefroot.test.apache.org" + xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:tns="http://manytyperefroot.test.apache.org" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://manytyperefroot.test.apache.org" + xmlns:tns="http://manytyperefroot.test.apache.org"> + + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="types" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Type1" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type1"> + <xsd:sequence> + <xsd:element name="kind" minOccurs="0" type="xsd:string"/> + <xsd:element name="index" minOccurs="0" type="xsd:int"/> + </xsd:sequence> + </xsd:complexType> + + </xsd:schema> + </types> + + + <message name="input"> + <part name="parameters" element="tns:getInput" /> + </message> + + <message name="output"> + <part name="parameters" element="tns:getInputResponse" /> + </message> + + <portType name="ManyTypeRefRoot"> + <operation name="getInput"> + <input message="tns:input" /> + <output message="tns:output" /> + </operation> + </portType> + + <binding name="ManyTypeRefRootBinding" type="tns:ManyTypeRefRoot"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="getInput"> + <soap:operation/> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + + <service name="ManyTypeRefRootService"> + <port name="sampleWS" binding="tns:ManyTypeRefRootBinding"> + <soap:address location="http://localhost:9080/ManyTypeRefRoot/services/sampleWS" /> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/MathOps.wsdl b/test/resources/wsdl/MathOps.wsdl new file mode 100644 index 0000000..f7f810f --- /dev/null +++ b/test/resources/wsdl/MathOps.wsdl @@ -0,0 +1,71 @@ +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl"> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types"> + <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + </schema> + </types> + <message name="DivByZeroFault"> + <part name="faultstruct1" type="ns2:DivByZeroStruct"/> + </message> + <message name="divRequest"> + <part name="int0" type="xsd:int"/> + <part name="int1" type="xsd:int"/> + </message> + <message name="divResponse"> + <part name="addReturn" type="xsd:int"/> + </message> + <portType name="MathOps"> + <operation name="div" parameterOrder ="int0 int1"> + <input message="tns:divRequest"/> + <output message="tns:divResponse"/> + <fault name="DivByZero" message="tns:DivByZeroFault"/> + </operation> + </portType> + <binding name="MathOpsBinding" type="tns:MathOps"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="div"> + <soap:operation soapAction="MathOps#div"/> + <input name="divRequest"> + <soap:body + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </input> + <output name="divResponse"> + <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://localhost/axis/MathOps" + use="encoded"/> + </output> + <fault name="DivByZero"> + <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/> + </fault> + </operation> + </binding> + <service name="MathOpsService"> + <port name="MathOps" binding="tns:MathOpsBinding"> + <soap:address location="http://localhost/axis/MathOps"/> + </port> + </service> + <!-- Fault messages --> +</definitions> diff --git a/test/resources/wsdl/MathOpsDoc.wsdl b/test/resources/wsdl/MathOpsDoc.wsdl new file mode 100644 index 0000000..e85ae96 --- /dev/null +++ b/test/resources/wsdl/MathOpsDoc.wsdl @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <complexType name="DivByZeroStruct"> + <sequence> + <element name="varString" nillable="true" type="xsd:string"/> + <element name="varInt" type="xsd:int"/> + <element name="varFloat" type="xsd:float"/> + </sequence> + </complexType> + <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/> + </schema> + </wsdl:types> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="DivByZeroStruct"> + + <wsdl:part element="impl:DivByZeroStruct" name="fault"/> + + </wsdl:message> + + <wsdl:portType name="MathOps"> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + <wsdl:fault name="DivByZeroStruct"> + + <wsdlsoap:fault name="DivByZeroStruct" use="literal"/> + + </wsdl:fault> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="MathOpsService"> + + <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps"> + + <wsdlsoap:address location="http://localhost/axis/MathOps"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/MinOccurTest.wsdl b/test/resources/wsdl/MinOccurTest.wsdl new file mode 100644 index 0000000..29d8c78 --- /dev/null +++ b/test/resources/wsdl/MinOccurTest.wsdl @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoAll"> + <s:complexType> + <s:sequence> + <s:element name="inputAll" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoAllResponse"> + <s:complexType> + <s:sequence> + <s:element name="return" type="s1:AllComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="AllComplexType"> + <s:sequence> + <s:element minOccurs="1" maxOccurs="1" name="Value0" type="s:int" /> + <s:element name="Value1" type="s:int" /> + <s:element minOccurs="0" name="Value2" type="s:int" /> + <s:element minOccurs="0" name="Value3" type="s:string" nillable="true" /> + <s:element minOccurs="0" name="Value4" type="s:int" nillable="true" /> + <s:element minOccurs="0" name="Value5" type="s:string" /> + <s:element minOccurs="1" maxOccurs="1" name="Value6" type="s:string" /> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoAllSoapIn"> + <part name="parameters" element="s0:echoAll" /> + </message> + <message name="echoAllSoapOut"> + <part name="parameters" element="s0:echoAllResponse" /> + </message> + + <portType name="AllTestSoap"> + + + <operation name="echoAll"> + <input message="s0:echoAllSoapIn" /> + <output message="s0:echoAllSoapOut" /> + </operation> + + </portType> + + + <binding name="AllTestSoap" type="s0:AllTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoAll"> + <soap:operation soapAction="SimpleAllTest#echoAll" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="AllTestSoap12" type="s0:AllTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoAll"> + <soap12:operation soapAction="All#echoAll" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="AllTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="AllTestSoap" binding="s0:AllTestSoap"> + <soap:address location="http://localhost:90/axis/All" /> + </port> + <port name="AllTestSoap12" binding="s0:AllTestSoap12"> + <soap12:address location="http://localhost:90/axis/All" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/MultiOut.wsdl b/test/resources/wsdl/MultiOut.wsdl new file mode 100644 index 0000000..9590b29 --- /dev/null +++ b/test/resources/wsdl/MultiOut.wsdl @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://localhost/axis/MultiOut" + xmlns:apachesoap="http://xml.apache.org/xml-soap" + xmlns:impl="http://localhost/axis/MultiOut" + xmlns:intf="http://localhost/axis/MultiOut" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <wsdl:types> + <schema elementFormDefault="qualified" + targetNamespace="http://localhost/axis/MultiOut" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:apachesoap="http://xml.apache.org/xml-soap" + xmlns:impl="http://localhost/axis/MultiOut" + xmlns:intf="http://localhost/axis/MultiOut" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="get0"> + <complexType> + <sequence> + </sequence> + </complexType> + </element> + + <element name="get"> + <complexType> + <sequence> + <element name="out1" type="xsd:string"/> + <element nillable="true" name="out14" type="xsd:integer"/> + <element name="out15" type="xsd:int"/> + <element name="out16" type="xsd:long"/> + <element name="out17" type="xsd:short"/> + <element name="out18" type="xsd:decimal"/> + <element name="out19" type="xsd:float"/> + <element name="out20" type="xsd:double"/> + <element name="out21" type="xsd:boolean"/> + <element name="out22" type="xsd:byte"/> + +<!-- + <element name="out1" type="xsd:string"/> + <element name="out2" type="xsd:normalizedString"/> + <element name="out3" type="xsd:token"/> + <element name="out4" type="xsd:language"/> + <element name="out5" type="xsd:Name"/> + <element name="out6" type="xsd:NCName"/> + <element name="out7" type="xsd:ID"/> + <element name="out8" type="xsd:IDREF"/> + <element name="out9" type="xsd:IDREFS"/> + <element name="out10" type="xsd:ENTITY"/> + <element name="out11" type="xsd:ENTITIES"/> + <element name="out12" type="xsd:NMTOKEN"/> + <element name="out13" type="xsd:NMTOKENS"/> + <element name="out14" type="xsd:integer"/> + <element name="out15" type="xsd:int"/> + <element name="out16" type="xsd:long"/> + <element name="out17" type="xsd:short"/> + <element name="out18" type="xsd:decimal"/> + <element name="out19" type="xsd:float"/> + <element name="out20" type="xsd:double"/> + <element name="out21" type="xsd:boolean"/> + <element name="out22" type="xsd:byte"/> + <element name="out23" type="xsd:QName"/> + <element name="out24" type="xsd:NOTATION"/> + <element name="out25" type="xsd:dateTime"/> + <element name="out26" type="xsd:date"/> + <element name="out27" type="xsd:time"/> + <element name="out28" type="xsd:gYearMonth"/> + <element name="out29" type="xsd:gYear"/> + <element name="out30" type="xsd:gMonthDay"/> + <element name="out31" type="xsd:gDay"/> + <element name="out32" type="xsd:gMonth"/> + <element name="out33" type="xsd:duration"/> + <element name="out34" type="xsd:nonNegativeInteger"/> + <element name="out35" type="xsd:unsignedByte"/> + <element name="out36" type="xsd:unsignedInt"/> + <element name="out37" type="xsd:unsignedLong"/> + <element name="out38" type="xsd:unsignedShort"/> + <element name="out39" type="xsd:nonPositiveInteger"/> + <element name="out40" type="xsd:positiveInteger"/> + <element name="out41" type="xsd:negativeInteger"/> + <element name="out42" type="xsd:base64Binary"/> + <element name="out43" type="xsd:hexBinary"/> + <element name="out44" type="xsd:anyURI"/> +--> + + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="get0"> + <wsdl:part element="impl:get0" name="parameters"/> + </wsdl:message> + <wsdl:message name="get"> + <wsdl:part element="impl:get" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="MultiOut"> + <wsdl:operation name="get"> + <wsdl:input message="impl:get0" name="get0"/> + <wsdl:output message="impl:get" name="get"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="MultiOutSoapBinding" type="impl:MultiOut"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="get"> + <wsdlsoap:operation soapAction="MultiOut#get"/> + <wsdl:input name="get0"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="get"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="MultiOut"> + <wsdl:port binding="impl:MultiOutSoapBinding" name="MultiOut"> + <wsdlsoap:address location="http://localhost/axis/MultiOut"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/NestedArrays.wsdl b/test/resources/wsdl/NestedArrays.wsdl new file mode 100644 index 0000000..17760b7 --- /dev/null +++ b/test/resources/wsdl/NestedArrays.wsdl @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <complexType name="ArrayOfArrayOf_xsd_int"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="impl:ArrayOf_xsd_int"/> + </sequence> + </complexType> + <complexType name="ArrayOf_xsd_int"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="xsd:int"/> + </sequence> + </complexType> + <element name="sendNestedArrays"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_0" type="impl:ArrayOfArrayOf_xsd_int"/> + </sequence> + </complexType> + </element> + <element name="sendNestedArraysResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="sendNestedArraysReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="sendNestedArraysResponse"> + + <wsdl:part element="impl:sendNestedArraysResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="sendNestedArraysRequest"> + + <wsdl:part element="impl:sendNestedArrays" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="NestedArrays"> + + <wsdl:operation name="sendNestedArrays"> + + <wsdl:input message="impl:sendNestedArraysRequest" name="sendNestedArraysRequest"/> + + <wsdl:output message="impl:sendNestedArraysResponse" name="sendNestedArraysResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="NestedArraysSoapBinding" type="impl:NestedArrays"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="sendNestedArrays"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="sendNestedArraysRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="sendNestedArraysResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="NestedArraysService"> + + <wsdl:port binding="impl:NestedArraysSoapBinding" name="NestedArrays"> + + <wsdlsoap:address location="http://lion:9080/NestedArrays/services/NestedArrays"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/NestedComplex.wsdl b/test/resources/wsdl/NestedComplex.wsdl new file mode 100644 index 0000000..6384ce1 --- /dev/null +++ b/test/resources/wsdl/NestedComplex.wsdl @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://nestedcomplex.test.apache.org" xmlns:impl="http://nestedcomplex.test.apache.org" xmlns:intf="http://nestedcomplex.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://nestedcomplex.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://nestedcomplex.test.apache.org" xmlns:intf="http://nestedcomplex.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <complexType name="ComplexType2"> + <sequence> + <element maxOccurs="unbounded" name="complexType1Array" nillable="true" type="impl:ComplexType1"/> + </sequence> + </complexType> + <complexType name="ComplexType1"> + <sequence> + <element name="simpleArrays" nillable="true" type="impl:SimpleArrays"/> + <element name="ct1_string" nillable="true" type="xsd:string"/> + <element name="ct1_int" type="xsd:int"/> + </sequence> + </complexType> + <complexType name="SimpleArrays"> + <sequence> + <element maxOccurs="unbounded" name="intArray" type="xsd:int"/> + <element maxOccurs="unbounded" name="stringArray" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <element name="echoNestedComplex"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="impl:ComplexType2"/> + </sequence> + </complexType> + </element> + <element name="echoNestedComplexResponse"> + <complexType> + <sequence> + <element name="echoNestedComplexReturn" nillable="true" type="impl:ComplexType2"/> + </sequence> + </complexType> + </element> + <element name="echoNestedComplexArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_1" type="impl:ComplexType1"/> + </sequence> + </complexType> + </element> + <element name="echoNestedComplexArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoNestedComplexArrayReturn" type="impl:ComplexType1"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoNestedComplexArrayResponse"> + <wsdl:part element="impl:echoNestedComplexArrayResponse" name="parameters"/> + </wsdl:message> + + <wsdl:message name="echoNestedComplexArrayRequest"> + <wsdl:part element="impl:echoNestedComplexArray" name="parameters"/> + </wsdl:message> + + <wsdl:message name="echoNestedComplexResponse"> + <wsdl:part element="impl:echoNestedComplexResponse" name="parameters"/> + </wsdl:message> + + <wsdl:message name="echoNestedComplexRequest"> + <wsdl:part element="impl:echoNestedComplex" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="NestedComplex"> + <wsdl:operation name="echoNestedComplex"> + <wsdl:input message="impl:echoNestedComplexRequest" name="echoNestedComplexRequest"/> + <wsdl:output message="impl:echoNestedComplexResponse" name="echoNestedComplexResponse"/> + </wsdl:operation> + + <wsdl:operation name="echoNestedComplexArray"> + <wsdl:input message="impl:echoNestedComplexArrayRequest" name="echoNestedComplexArrayRequest"/> + <wsdl:output message="impl:echoNestedComplexArrayResponse" name="echoNestedComplexArrayResponse"/> + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="NestedComplexSoapBinding" type="impl:NestedComplex"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="echoNestedComplex"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoNestedComplexRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoNestedComplexResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="echoNestedComplexArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoNestedComplexArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoNestedComplexArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="NestedComplexService"> + <wsdl:port binding="impl:NestedComplexSoapBinding" name="NestedComplex"> + <wsdlsoap:address location="http://tiger:7001/NestedComplex/services/NestedComplex"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> + diff --git a/test/resources/wsdl/NillableArrays.wsdl b/test/resources/wsdl/NillableArrays.wsdl new file mode 100644 index 0000000..42028f0 --- /dev/null +++ b/test/resources/wsdl/NillableArrays.wsdl @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://arrays.test.apache.org" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://arrays.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <element name="echoBooleanArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_0" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="echoBooleanArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoBooleanArrayReturn" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="echoShortArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_2" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="echoShortArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoShortArrayReturn" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="echoIntArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoIntArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoIntArrayReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoLongArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_4" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="echoLongArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoLongArrayReturn" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_5" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoFloatArrayReturn" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoDoubleArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_6" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="echoDoubleArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoDoubleArrayReturn" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="echoStringArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_7" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoStringArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoStringArrayReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + <wsdl:message name="echoDoubleArrayRequest"> + <wsdl:part element="impl:echoDoubleArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoIntArrayResponse"> + <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoShortArrayRequest"> + <wsdl:part element="impl:echoShortArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoShortArrayResponse"> + <wsdl:part element="impl:echoShortArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoIntArrayRequest"> + <wsdl:part element="impl:echoIntArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoDoubleArrayResponse"> + <wsdl:part element="impl:echoDoubleArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoBooleanArrayResponse"> + <wsdl:part element="impl:echoBooleanArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoBooleanArrayRequest"> + <wsdl:part element="impl:echoBooleanArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoLongArrayRequest"> + <wsdl:part element="impl:echoLongArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoFloatArrayRequest"> + <wsdl:part element="impl:echoFloatArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoStringArrayRequest"> + <wsdl:part element="impl:echoStringArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoLongArrayResponse"> + <wsdl:part element="impl:echoLongArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoStringArrayResponse"> + <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoFloatArrayResponse"> + <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="NillableArrays"> + <wsdl:operation name="echoBooleanArray"> + <wsdl:input message="impl:echoBooleanArrayRequest" name="echoBooleanArrayRequest"/> + <wsdl:output message="impl:echoBooleanArrayResponse" name="echoBooleanArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoShortArray"> + <wsdl:input message="impl:echoShortArrayRequest" name="echoShortArrayRequest"/> + <wsdl:output message="impl:echoShortArrayResponse" name="echoShortArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoIntArray"> + <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/> + <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoLongArray"> + <wsdl:input message="impl:echoLongArrayRequest" name="echoLongArrayRequest"/> + <wsdl:output message="impl:echoLongArrayResponse" name="echoLongArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoFloatArray"> + <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/> + <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoDoubleArray"> + <wsdl:input message="impl:echoDoubleArrayRequest" name="echoDoubleArrayRequest"/> + <wsdl:output message="impl:echoDoubleArrayResponse" name="echoDoubleArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoStringArray"> + <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/> + <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="NillableArraysSoapBinding" type="impl:NillableArrays"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="echoBooleanArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoBooleanArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoBooleanArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoShortArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoShortArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoShortArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoIntArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoIntArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoIntArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoLongArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoLongArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoLongArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoFloatArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoFloatArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoFloatArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoDoubleArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoDoubleArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoDoubleArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoStringArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoStringArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoStringArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="NillableArraysService"> + <wsdl:port binding="impl:NillableArraysSoapBinding" name="NillableArraysPort"> + <wsdlsoap:address location="http://lion:9080/NillableArrays/services/NillableArraysPort"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/OtherFaultException.wsdl b/test/resources/wsdl/OtherFaultException.wsdl new file mode 100644 index 0000000..56b66d1 --- /dev/null +++ b/test/resources/wsdl/OtherFaultException.wsdl @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + + <wsdl:portType name="MathOps"> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="MathOpsService"> + + <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps"> + + <wsdlsoap:address location="http://localhost/axis/MathOps"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/PlainTextAttachment.wsdl b/test/resources/wsdl/PlainTextAttachment.wsdl new file mode 100644 index 0000000..89b3fb3 --- /dev/null +++ b/test/resources/wsdl/PlainTextAttachment.wsdl @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://PlainTextAttachment" + xmlns:impl="http://PlainTextAttachment" + xmlns:intf="http://PlainTextAttachment" + xmlns:tns2="http://xml.apache.org/xml-soap" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <wsdl:types> + <schema elementFormDefault="qualified" + targetNamespace="http://PlainTextAttachment" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:impl="http://PlainTextAttachment" + xmlns:intf="http://PlainTextAttachment" + xmlns:tns2="http://xml.apache.org/xml-soap" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <element name="echoText"> + <complexType> + <sequence> + <element name="arg2" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoTextResponse"> + <complexType> + <sequence> + <element name="echoTextReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoTextRequest"> + <wsdl:part element="impl:echoText" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoTextResponse"> + <wsdl:part element="impl:echoTextResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="AttachmentBindingImpl"> + <wsdl:operation name="echoText"> + <wsdl:input message="impl:echoTextRequest" name="echoTextRequest"/> + <wsdl:output message="impl:echoTextResponse" name="echoTextResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="PlainTextAttachmentSoapBinding" type="impl:AttachmentBindingImpl"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="echoText"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoTextRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoTextResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="AttachmentBindingImplService"> + <wsdl:port binding="impl:PlainTextAttachmentSoapBinding" name="PlainTextAttachment"> + <wsdlsoap:address location="http://localhost:9080/PlainTextAttachment/services/PlainTextAttachment"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/PrimitiveAndArray.wsdl b/test/resources/wsdl/PrimitiveAndArray.wsdl new file mode 100644 index 0000000..083cbca --- /dev/null +++ b/test/resources/wsdl/PrimitiveAndArray.wsdl @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <element name="sendPrimitiveAndArray"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element maxOccurs="unbounded" minOccurs="0" name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <complexType name="ComplexReturn"> + <sequence> + <element name="returnInt" type="xsd:int"/> + <element maxOccurs="unbounded" name="returnArray" type="xsd:int"/> + </sequence> + </complexType> + <element name="sendPrimitiveAndArrayResponse"> + <complexType> + <sequence> + <element name="sendPrimitiveAndArrayReturn" nillable="true" type="impl:ComplexReturn"/> + </sequence> + </complexType> + </element> + <element name="sendArrayAndPrimitive"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_1" type="xsd:int"/> + <element name="arg_1_1" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="sendArrayAndPrimitiveResponse"> + <complexType> + <sequence> + <element name="sendArrayAndPrimitiveReturn" nillable="true" type="impl:ComplexReturn"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="sendPrimitiveAndArrayResponse"> + + <wsdl:part element="impl:sendPrimitiveAndArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="sendPrimitiveAndArrayRequest"> + + <wsdl:part element="impl:sendPrimitiveAndArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="sendArrayAndPrimitiveResponse"> + + <wsdl:part element="impl:sendArrayAndPrimitiveResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="sendArrayAndPrimitiveRequest"> + + <wsdl:part element="impl:sendArrayAndPrimitive" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="PrimitiveAndArray"> + + <wsdl:operation name="sendPrimitiveAndArray"> + + <wsdl:input message="impl:sendPrimitiveAndArrayRequest" name="sendPrimitiveAndArrayRequest"/> + + <wsdl:output message="impl:sendPrimitiveAndArrayResponse" name="sendPrimitiveAndArrayResponse"/> + + </wsdl:operation> + + <wsdl:operation name="sendArrayAndPrimitive"> + + <wsdl:input message="impl:sendArrayAndPrimitiveRequest" name="sendArrayAndPrimitiveRequest"/> + + <wsdl:output message="impl:sendArrayAndPrimitiveResponse" name="sendArrayAndPrimitiveResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="PrimitiveAndArraySoapBinding" type="impl:PrimitiveAndArray"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="sendPrimitiveAndArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="sendPrimitiveAndArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="sendPrimitiveAndArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="sendArrayAndPrimitive"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="sendArrayAndPrimitiveRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="sendArrayAndPrimitiveResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="PrimitiveAndArrayService"> + + <wsdl:port binding="impl:PrimitiveAndArraySoapBinding" name="PrimitiveAndArray"> + + <wsdlsoap:address location="http://lion:9080/PrimitiveAndArray/services/PrimitiveAndArray"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/RPCAllTest.wsdl b/test/resources/wsdl/RPCAllTest.wsdl new file mode 100644 index 0000000..1a86d52 --- /dev/null +++ b/test/resources/wsdl/RPCAllTest.wsdl @@ -0,0 +1,101 @@ +<?xml version="1.0"?> + +<!-- WSDL description of the MAST ADEC TWIG api. --> + +<definitions name="urn:ADEC_MAST" + targetNamespace="urn:ADEC_MAST" + xmlns:typens="urn:ADEC_MAST" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns="http://schemas.xmlsoap.org/wsdl/"> + + <!-- Types for search - result elements, directory categories --> + + <types> + <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ADEC_MAST"> + + <xsd:complexType name="SummaryResult"> + <xsd:sequence> + <xsd:element minOccurs="1" maxOccurs="1" name="NonAllIntValue" type="xsd:int" /> + <xsd:element minOccurs="1" maxOccurs="1" name="NonAllDoubleValue" type="xsd:double" /> + </xsd:sequence> + <xsd:all> + <xsd:element name="length" type="xsd:int"/> + <xsd:element minOccurs="0" name="width" type="xsd:int"/> + <xsd:element minOccurs="0" name="depth" type="xsd:double"/> + <xsd:element minOccurs="0" name="color" type="xsd:string"/> + </xsd:all> + <xsd:sequence> + <xsd:element minOccurs="1" maxOccurs="1" name="NonAllStringValue" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="SummaryResultArray"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SummaryResult[]"/> + </xsd:restriction> + </xsd:complexContent> + + </xsd:complexType> + + </xsd:schema> + </types> + + <!-- Messages for ADEC MAST Web APIs - get summary by position. --> + + <message name="doGetSummary"> + <part name="length" type="xsd:int"/> + <part name="width" type="xsd:int"/> + <part name="depth" type="xsd:double"/> + <part name="color" type="xsd:string"/> + </message> + + <message name="doGetSummaryResponse"> + <part name="return" type="typens:SummaryResult"/> + </message> + + <!-- Port for ADEC MAST Web APIs, "ADEC_MAST" --> + + <portType name="ADEC_MAST_Port"> + + <operation name="doGetSummary"> + <input message="typens:doGetSummary"/> + <output message="typens:doGetSummaryResponse"/> + </operation> + + </portType> + + + <!-- Binding for ADEC MAST Web APIs - RPC, SOAP over HTTP --> + + <binding name="ADEC_MAST_Binding" type="typens:ADEC_MAST_Port"> + <soap:binding style="rpc" + transport="http://schemas.xmlsoap.org/soap/http"/> + + <operation name="doGetSummary"> + <soap:operation soapAction="urn:ADEC_MAST#doGetSummary"/> + <input> + <soap:body use="encoded" + namespace="urn:ADEC_MAST" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" + namespace="urn:ADEC_MAST" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + + </binding> + + <!-- Endpoint for ADEC MAST Web APIs --> + <service name="ADEC_MAST_Service"> + <port name="ADEC_MAST_Port" binding="typens:ADEC_MAST_Binding"> + <soap:address location="http://faxafloi.stsci.edu:4547/soap/"/> + </port> + </service> + +</definitions> diff --git a/test/resources/wsdl/RecurseTypes.wsdl b/test/resources/wsdl/RecurseTypes.wsdl new file mode 100644 index 0000000..4c3546a --- /dev/null +++ b/test/resources/wsdl/RecurseTypes.wsdl @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions + targetNamespace="http://recursetypes.test.apache.org" + xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:tns="http://recursetypes.test.apache.org" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema elementFormDefault="qualified" + targetNamespace="http://recursetypes.test.apache.org" + xmlns="http://www.w3.org/2001/XMLSchema" + > + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type1"> + <xsd:sequence> + <xsd:element name="followings" maxOccurs="unbounded" minOccurs="0" type="tns:Type1" /> + <xsd:element name="kind" type="xsd:string" /> + <xsd:element name="index" type="xsd:int" /> + </xsd:sequence> + <xsd:attribute name="att_kind" type="tns:Kind" /> + </xsd:complexType> + + <xsd:simpleType name="Kind"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="CHEQUE" /> + <xsd:enumeration value="CREDIT_CARD" /> + <xsd:enumeration value="TRANSFER" /> + <xsd:enumeration value="WITHDRAWAL" /> + <xsd:enumeration value="AUTOMATIC" /> + </xsd:restriction> + </xsd:simpleType> + + </xsd:schema> + </types> + + + <message name="input"> + <part name="parameters" element="tns:getInput" /> + </message> + + <message name="output"> + <part name="parameters" element="tns:getInputResponse" /> + </message> + + <portType name="RecurseTypesWS"> + <operation name="getInput"> + <input message="tns:input" /> + <output message="tns:output" /> + </operation> + </portType> + + <binding name="RecurseTypesWSBinding" type="tns:RecurseTypesWS"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="getInput"> + <soap:operation /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + + <service name="RecurseTypesWSService"> + <port name="sampleWS" binding="tns:RecurseTypesWSBinding"> + <soap:address location="http://localhost:9080/RecurseTypes/services/sampleWS" /> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest1.wsdl b/test/resources/wsdl/RpcHttpHeaderTest1.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest1.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest2.wsdl b/test/resources/wsdl/RpcHttpHeaderTest2.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest2.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest3.wsdl b/test/resources/wsdl/RpcHttpHeaderTest3.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest3.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest4.wsdl b/test/resources/wsdl/RpcHttpHeaderTest4.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest4.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest5.wsdl b/test/resources/wsdl/RpcHttpHeaderTest5.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest5.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest7.wsdl b/test/resources/wsdl/RpcHttpHeaderTest7.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest7.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcHttpHeaderTest8.wsdl b/test/resources/wsdl/RpcHttpHeaderTest8.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcHttpHeaderTest8.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest1.wsdl b/test/resources/wsdl/RpcSoapHeaderTest1.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest1.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest10.wsdl b/test/resources/wsdl/RpcSoapHeaderTest10.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest10.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest2.wsdl b/test/resources/wsdl/RpcSoapHeaderTest2.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest2.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest3.wsdl b/test/resources/wsdl/RpcSoapHeaderTest3.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest3.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest4.wsdl b/test/resources/wsdl/RpcSoapHeaderTest4.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest4.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest6.wsdl b/test/resources/wsdl/RpcSoapHeaderTest6.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest6.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest8.wsdl b/test/resources/wsdl/RpcSoapHeaderTest8.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest8.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/RpcSoapHeaderTest9.wsdl b/test/resources/wsdl/RpcSoapHeaderTest9.wsdl new file mode 100644 index 0000000..f7d1945 --- /dev/null +++ b/test/resources/wsdl/RpcSoapHeaderTest9.wsdl @@ -0,0 +1,333 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOfstring"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfint"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOffloat"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOfSOAPStruct"> + <complexContent> + <restriction base="SOAP-ENC:Array"> + <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SOAPStruct"> + <all> + <element name="varString" type="string"/> + <element name="varInt" type="int"/> + <element name="varFloat" type="float"/> + </all> + </complexType> + </schema> + </types> + + <message name="echoStringRequest"> + <part name="inputString" type="xsd:string"/> + </message> + <message name="echoStringResponse"> + <part name="return" type="xsd:string"/> + </message> + <message name="echoStringArrayRequest"> + <part name="inputStringArray" type="s:ArrayOfstring"/> + </message> + <message name="echoStringArrayResponse"> + <part name="return" type="s:ArrayOfstring"/> + </message> + <message name="echoIntegerRequest"> + <part name="inputInteger" type="xsd:int"/> + </message> + <message name="echoIntegerResponse"> + <part name="return" type="xsd:int"/> + </message> + <message name="echoIntegerArrayRequest"> + <part name="inputIntegerArray" type="s:ArrayOfint"/> + </message> + <message name="echoIntegerArrayResponse"> + <part name="return" type="s:ArrayOfint"/> + </message> + <message name="echoFloatRequest"> + <part name="inputFloat" type="xsd:float"/> + </message> + <message name="echoFloatResponse"> + <part name="return" type="xsd:float"/> + </message> + <message name="echoFloatArrayRequest"> + <part name="inputFloatArray" type="s:ArrayOffloat"/> + </message> + <message name="echoFloatArrayResponse"> + <part name="return" type="s:ArrayOffloat"/> + </message> + <message name="echoStructRequest"> + <part name="inputStruct" type="s:SOAPStruct"/> + </message> + <message name="echoStructResponse"> + <part name="return" type="s:SOAPStruct"/> + </message> + <message name="echoStructArrayRequest"> + <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoStructArrayResponse"> + <part name="return" type="s:ArrayOfSOAPStruct"/> + </message> + <message name="echoVoidRequest"/> + <message name="echoVoidResponse"/> + <message name="echoBase64Request"> + <part name="inputBase64" type="xsd:base64Binary"/> + </message> + <message name="echoBase64Response"> + <part name="return" type="xsd:base64Binary"/> + </message> + <message name="echoDateRequest"> + <part name="inputDate" type="xsd:dateTime"/> + </message> + <message name="echoDateResponse"> + <part name="return" type="xsd:dateTime"/> + </message> + <message name="echoHexBinaryRequest"> + <part name="inputHexBinary" type="xsd:hexBinary"/> + </message> + <message name="echoHexBinaryResponse"> + <part name="return" type="xsd:hexBinary"/> + </message> + <message name="echoDecimalRequest"> + <part name="inputDecimal" type="xsd:decimal"/> + </message> + <message name="echoDecimalResponse"> + <part name="return" type="xsd:decimal"/> + </message> + <message name="echoBooleanRequest"> + <part name="inputBoolean" type="xsd:boolean"/> + </message> + <message name="echoBooleanResponse"> + <part name="return" type="xsd:boolean"/> + </message> + + <portType name="InteropTestPortType"> + <operation name="echoString" parameterOrder="inputString"> + <input message="tns:echoStringRequest"/> + <output message="tns:echoStringResponse"/> + </operation> + <operation name="echoStringArray" parameterOrder="inputStringArray"> + <input message="tns:echoStringArrayRequest"/> + <output message="tns:echoStringArrayResponse"/> + </operation> + <operation name="echoInteger" parameterOrder="inputInteger"> + <input message="tns:echoIntegerRequest"/> + <output message="tns:echoIntegerResponse"/> + </operation> + <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> + <input message="tns:echoIntegerArrayRequest"/> + <output message="tns:echoIntegerArrayResponse"/> + </operation> + <operation name="echoFloat" parameterOrder="inputFloat"> + <input message="tns:echoFloatRequest"/> + <output message="tns:echoFloatResponse"/> + </operation> + <operation name="echoFloatArray" parameterOrder="inputFloatArray"> + <input message="tns:echoFloatArrayRequest"/> + <output message="tns:echoFloatArrayResponse"/> + </operation> + <operation name="echoStruct" parameterOrder="inputStruct"> + <input message="tns:echoStructRequest"/> + <output message="tns:echoStructResponse"/> + </operation> + <operation name="echoStructArray" parameterOrder="inputStructArray"> + <input message="tns:echoStructArrayRequest"/> + <output message="tns:echoStructArrayResponse"/> + </operation> + <operation name="echoVoid"> + <input message="tns:echoVoidRequest"/> + <output message="tns:echoVoidResponse"/> + </operation> + <operation name="echoBase64" parameterOrder="inputBase64"> + <input message="tns:echoBase64Request"/> + <output message="tns:echoBase64Response"/> + </operation> + <operation name="echoDate" parameterOrder="inputDate"> + <input message="tns:echoDateRequest"/> + <output message="tns:echoDateResponse"/> + </operation> + <operation name="echoHexBinary" parameterOrder="inputHexBinary"> + <input message="tns:echoHexBinaryRequest"/> + <output message="tns:echoHexBinaryResponse"/> + </operation> + <operation name="echoDecimal" parameterOrder="inputDecimal"> + <input message="tns:echoDecimalRequest"/> + <output message="tns:echoDecimalResponse"/> + </operation> + <operation name="echoBoolean" parameterOrder="inputBoolean"> + <input message="tns:echoBooleanRequest"/> + <output message="tns:echoBooleanResponse"/> + </operation> + </portType> + + <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoString"> + <soap:operation soapAction="InteropBase#echoString"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStringArray"> + <soap:operation soapAction="InteropBase#echoStringArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoInteger"> + <soap:operation soapAction="InteropBase#echoInteger"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoIntegerArray"> + <soap:operation soapAction="InteropBase#echoIntegerArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloat"> + <soap:operation soapAction="InteropBase#echoFloat"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoFloatArray"> + <soap:operation soapAction="InteropBase#echoFloatArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStruct"> + <soap:operation soapAction="InteropBase#echoStruct"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoStructArray"> + <soap:operation soapAction="InteropBase#echoStructArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoVoid"> + <soap:operation soapAction="InteropBase#echoVoid"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBase64"> + <soap:operation soapAction="InteropBase#echoBase64"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDate"> + <soap:operation soapAction="InteropBase#echoDate"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoHexBinary"> + <soap:operation soapAction="InteropBase#echoHexBinary"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoDecimal"> + <soap:operation soapAction="InteropBase#echoDecimal"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="echoBoolean"> + <soap:operation soapAction="InteropBase#echoBoolean"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + <service name="InteropBase"> + <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest"> + <soap:address location="http://localhost/axis/InteropBase"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/SimpleArray.wsdl b/test/resources/wsdl/SimpleArray.wsdl new file mode 100644 index 0000000..ef42ca1 --- /dev/null +++ b/test/resources/wsdl/SimpleArray.wsdl @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + + <element name="intItem" type="int" /> + <complexType name="intArrayType"> + <sequence> + <element ref="s:intItem" minOccurs="0" maxOccurs="unbounded" /> + </sequence> + </complexType> + + + </schema> + </types> + <message name="echoIntArrayRequest"> + <part name ="inputIntArrayType" type="s:intArrayType"/> + </message> + <message name="echoIntArrayResponse"> + <part name ="return" type="s:intArrayType"/> + </message> + + <portType name="ArrayTestPortType"> + <operation name="echoIntArray" parameterOrder="inputIntArrayType"> + <input message="tns:echoIntArrayRequest"/> + <output message="tns:echoIntArrayResponse"/> + </operation> + </portType> + + <binding name="ArrayTestSoapBinding" type="tns:ArrayTestPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="echoIntArray"> + <soap:operation soapAction="array#echoIntArray"/> + <input> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + + </binding> + <service name="array"> + <port binding="tns:ArrayTestSoapBinding" name="arrayTest"> + <soap:address location="http://localhost/axis/array"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/SimpleArrayDoc.wsdl b/test/resources/wsdl/SimpleArrayDoc.wsdl new file mode 100644 index 0000000..d079513 --- /dev/null +++ b/test/resources/wsdl/SimpleArrayDoc.wsdl @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <complexType name="intArrayType"> + <sequence> + <element maxOccurs="unbounded" name="intItem" type="xsd:int"/> + </sequence> + </complexType> + <element name="echoIntArray"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="impl:intArrayType"/> + </sequence> + </complexType> + </element> + <element name="echoIntArrayResponse"> + <complexType> + <sequence> + <element name="echoIntArrayReturn" nillable="true" type="impl:intArrayType"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoIntArrayRequest"> + + <wsdl:part element="impl:echoIntArray" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntArrayResponse"> + + <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="ArrayTestPortType"> + + <wsdl:operation name="echoIntArray"> + + <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/> + + <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="arrayTestSoapBinding" type="impl:ArrayTestPortType"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="echoIntArray"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoIntArrayRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoIntArrayResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="array"> + + <wsdl:port binding="impl:arrayTestSoapBinding" name="arrayTest"> + + <wsdlsoap:address location="http://localhost/axis/array"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/SimpleArrays.wsdl b/test/resources/wsdl/SimpleArrays.wsdl new file mode 100644 index 0000000..ae60352 --- /dev/null +++ b/test/resources/wsdl/SimpleArrays.wsdl @@ -0,0 +1,299 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://arrays.test.apache.org" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://arrays.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <element name="echoBooleanArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_0" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="echoBooleanArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoBooleanArrayReturn" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="echoByteArray"> + <complexType> + <sequence> + <element name="arg_0_1" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="echoByteArrayResponse"> + <complexType> + <sequence> + <element name="echoByteArrayReturn" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="echoShortArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_2" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="echoShortArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoShortArrayReturn" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="echoIntArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoIntArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoIntArrayReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="echoLongArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_4" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="echoLongArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoLongArrayReturn" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_5" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoFloatArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoFloatArrayReturn" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="echoDoubleArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_6" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="echoDoubleArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoDoubleArrayReturn" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="echoStringArray"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="arg_0_7" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="echoStringArrayResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="echoStringArrayReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + <wsdl:message name="echoDoubleArrayRequest"> + <wsdl:part element="impl:echoDoubleArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoIntArrayResponse"> + <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoByteArrayRequest"> + <wsdl:part element="impl:echoByteArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoShortArrayRequest"> + <wsdl:part element="impl:echoShortArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoShortArrayResponse"> + <wsdl:part element="impl:echoShortArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoIntArrayRequest"> + <wsdl:part element="impl:echoIntArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoDoubleArrayResponse"> + <wsdl:part element="impl:echoDoubleArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoBooleanArrayResponse"> + <wsdl:part element="impl:echoBooleanArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoBooleanArrayRequest"> + <wsdl:part element="impl:echoBooleanArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoLongArrayRequest"> + <wsdl:part element="impl:echoLongArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoFloatArrayRequest"> + <wsdl:part element="impl:echoFloatArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoByteArrayResponse"> + <wsdl:part element="impl:echoByteArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoStringArrayRequest"> + <wsdl:part element="impl:echoStringArray" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoLongArrayResponse"> + <wsdl:part element="impl:echoLongArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoStringArrayResponse"> + <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/> + </wsdl:message> + <wsdl:message name="echoFloatArrayResponse"> + <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="SimpleArrays"> + <wsdl:operation name="echoBooleanArray"> + <wsdl:input message="impl:echoBooleanArrayRequest" name="echoBooleanArrayRequest"/> + <wsdl:output message="impl:echoBooleanArrayResponse" name="echoBooleanArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoByteArray"> + <wsdl:input message="impl:echoByteArrayRequest" name="echoByteArrayRequest"/> + <wsdl:output message="impl:echoByteArrayResponse" name="echoByteArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoShortArray"> + <wsdl:input message="impl:echoShortArrayRequest" name="echoShortArrayRequest"/> + <wsdl:output message="impl:echoShortArrayResponse" name="echoShortArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoIntArray"> + <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/> + <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoLongArray"> + <wsdl:input message="impl:echoLongArrayRequest" name="echoLongArrayRequest"/> + <wsdl:output message="impl:echoLongArrayResponse" name="echoLongArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoFloatArray"> + <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/> + <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoDoubleArray"> + <wsdl:input message="impl:echoDoubleArrayRequest" name="echoDoubleArrayRequest"/> + <wsdl:output message="impl:echoDoubleArrayResponse" name="echoDoubleArrayResponse"/> + </wsdl:operation> + <wsdl:operation name="echoStringArray"> + <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/> + <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="SimpleArraysSoapBinding" type="impl:SimpleArrays"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="echoBooleanArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoBooleanArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoBooleanArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoByteArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoByteArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoByteArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoShortArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoShortArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoShortArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoIntArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoIntArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoIntArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoLongArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoLongArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoLongArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoFloatArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoFloatArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoFloatArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoDoubleArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoDoubleArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoDoubleArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="echoStringArray"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoStringArrayRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="echoStringArrayResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="SimpleArraysService"> + <wsdl:port binding="impl:SimpleArraysSoapBinding" name="SimpleArraysPort"> + <wsdlsoap:address location="http://lion:9080/SimpleArrays/services/SimpleArraysPort"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/SimpleChoice.wsdl b/test/resources/wsdl/SimpleChoice.wsdl new file mode 100644 index 0000000..37329ed --- /dev/null +++ b/test/resources/wsdl/SimpleChoice.wsdl @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" /> + <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" /> + </s:choice> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interoperable testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/SimpleRef.wsdl b/test/resources/wsdl/SimpleRef.wsdl new file mode 100644 index 0000000..58e2a99 --- /dev/null +++ b/test/resources/wsdl/SimpleRef.wsdl @@ -0,0 +1,114 @@ +<?xml version="1.0"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + +<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + + + <types> + + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd"> + + <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> + + + + <element name="intItem" type="int" /> + + <complexType name="intType"> + + <sequence> + + <element ref="s:intItem" /> + + </sequence> + + </complexType> + + + + + + </schema> + + </types> + + <message name="echoIntRequest"> + + <part name ="inputIntType" type="s:intType"/> + + </message> + + <message name="echoIntResponse"> + + <part name ="return" type="s:intType"/> + + </message> + + + + <portType name="RefTestPortType"> + + <operation name="echoInt" parameterOrder="inputIntType"> + + <input message="tns:echoIntRequest"/> + + <output message="tns:echoIntResponse"/> + + </operation> + + </portType> + + + + <binding name="RefTestSoapBinding" type="tns:RefTestPortType"> + + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + + <operation name="echoInt"> + + <soap:operation soapAction="ref#echoInt"/> + + <input> + + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + + </input> + + <output> + + <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + + </output> + + </operation> + + + + </binding> + + <service name="ref"> + + <port binding="tns:RefTestSoapBinding" name="RefTest"> + + <soap:address location="http://localhost/axis/ref"/> + + </port> + + </service> + +</definitions> + diff --git a/test/resources/wsdl/SimpleRefDoc.wsdl b/test/resources/wsdl/SimpleRefDoc.wsdl new file mode 100644 index 0000000..543a472 --- /dev/null +++ b/test/resources/wsdl/SimpleRefDoc.wsdl @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <complexType name="intType"> + <sequence> + <element name="intItem" type="xsd:int"/> + </sequence> + </complexType> + <element name="echoInt"> + <complexType> + <sequence> + <element name="arg_0_0" nillable="true" type="impl:intType"/> + </sequence> + </complexType> + </element> + <element name="echoIntResponse"> + <complexType> + <sequence> + <element name="echoIntReturn" nillable="true" type="impl:intType"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="echoIntRequest"> + + <wsdl:part element="impl:echoInt" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="echoIntResponse"> + + <wsdl:part element="impl:echoIntResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="RefTestPortType"> + + <wsdl:operation name="echoInt"> + + <wsdl:input message="impl:echoIntRequest" name="echoIntRequest"/> + + <wsdl:output message="impl:echoIntResponse" name="echoIntResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="refSoapBinding" type="impl:RefTestPortType"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="echoInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoIntRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="echoIntResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="ref"> + + <wsdl:port binding="impl:refSoapBinding" name="RefTest"> + + <wsdlsoap:address location="http://localhost/axis/ref"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/SimpleTypeArray.wsdl b/test/resources/wsdl/SimpleTypeArray.wsdl new file mode 100644 index 0000000..410ec86 --- /dev/null +++ b/test/resources/wsdl/SimpleTypeArray.wsdl @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions targetNamespace="http://simpletypearray.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypearray.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema targetNamespace="http://simpletypearray.test.apache.org" xmlns:tns="http://simpletypearray.test.apache.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="input" type="tns:Type"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type"> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:int"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="input" type="tns:Type"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + </xsd:schema> + </types> + <message name="output"> + <part name="parameters" element="tns:getInputResponse"/> + </message> + <message name="input"> + <part name="parameters" element="tns:getInput"/> + </message> + <portType name="SimpleTypeArrayWS"> + <operation name="getInput"> + <input message="tns:input"/> + <output message="tns:output"/> + </operation> + </portType> + <binding name="SimpleTypeArrayWSBinding" type="tns:SimpleTypeArrayWS"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="getInput"> + <soap:operation/> + <input> + <soap:body use="literal"/> + </input> + <output> + <soap:body use="literal"/> + </output> + </operation> + </binding> + <service name="SimpleTypeArrayWSService"> + <port name="sampleWS" binding="tns:SimpleTypeArrayWSBinding"> + <soap:address location="http://localhost:9080/SimpleTypeArray/services/sampleWS"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl b/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl new file mode 100644 index 0000000..15e4eba --- /dev/null +++ b/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions targetNamespace="http://simpletypeinnerunbounded.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypeinnerunbounded.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://simpletypeinnerunbounded.test.apache.org" xmlns:tns="http://simpletypeinnerunbounded.test.apache.org"> + + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type1"> + <xsd:sequence> + <xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" /> + <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" /> + <xsd:element maxOccurs="100" minOccurs="1" name="ident"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="att_enum_int" type="tns:TypeInt"/> + <xsd:attribute name="att_enum_string" type="tns:TypeString"/> + <xsd:attribute name="att_enum_kind"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="CHEQUE" /> + <xsd:enumeration value="CREDIT_CARD" /> + <xsd:enumeration value="TRANSFER" /> + <xsd:enumeration value="WITHDRAWAL" /> + <xsd:enumeration value="AUTOMATIC" /> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:complexType> + + <xsd:simpleType name="TypeInt"> + <xsd:restriction base="xsd:int"> + <xsd:enumeration value="0" /> + <xsd:enumeration value="1" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="TypeString"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="one" /> + <xsd:enumeration value="two" /> + </xsd:restriction> + </xsd:simpleType> + + </xsd:schema> + </types> + + + <message name="input"> + <part name="parameters" element="tns:getInput" /> + </message> + + <message name="output"> + <part name="parameters" element="tns:getInputResponse" /> + </message> + + <portType name="SimpleTypeInnerUnboundedWS"> + <operation name="getInput"> + <input message="tns:input" /> + <output message="tns:output" /> + </operation> + </portType> + + <binding name="SimpleTypeInnerUnboundedWSBinding" type="tns:SimpleTypeInnerUnboundedWS"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="getInput"> + <soap:operation /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + + <service name="SimpleTypeInnerUnboundedWSService"> + <port name="sampleWS" binding="tns:SimpleTypeInnerUnboundedWSBinding"> + <soap:address location="http://localhost:9080/SimpleTypeInnerUnbounded/services/sampleWS"/> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl b/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl new file mode 100644 index 0000000..3aceb9f --- /dev/null +++ b/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<definitions targetNamespace="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:tns="http://simpletypeinnerunboundedinoutput.test.apache.org"> + + <xsd:element name="getInput"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getInputResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="Type1"> + <xsd:sequence> + <!--xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" /> + <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" /--> + <xsd:element maxOccurs="100" minOccurs="1" name="ident"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + <!--xsd:attribute name="att_enum_int" type="tns:TypeInt"/> + <xsd:attribute name="att_enum_string" type="tns:TypeString"/> + <xsd:attribute name="att_enum_kind"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="CHEQUE" /> + <xsd:enumeration value="CREDIT_CARD" /> + <xsd:enumeration value="TRANSFER" /> + <xsd:enumeration value="WITHDRAWAL" /> + <xsd:enumeration value="AUTOMATIC" /> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute--> + </xsd:complexType> + + <xsd:simpleType name="TypeInt"> + <xsd:restriction base="xsd:int"> + <xsd:enumeration value="0" /> + <xsd:enumeration value="1" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="TypeString"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="one" /> + <xsd:enumeration value="two" /> + </xsd:restriction> + </xsd:simpleType> + + </xsd:schema> + </types> + + + <message name="input"> + <part name="parameters" element="tns:getInput" /> + </message> + + <message name="output"> + <part name="parameters" element="tns:getInputResponse" /> + </message> + + <portType name="SimpleTypeInnerUnboundedInOutputWS"> + <operation name="getInput"> + <input message="tns:input" /> + <output message="tns:output" /> + </operation> + </portType> + + <binding name="SimpleTypeInnerUnboundedInOutputWSBinding" type="tns:SimpleTypeInnerUnboundedInOutputWS"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="getInput"> + <soap:operation /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + + <service name="SimpleTypeInnerUnboundedInOutputWSService"> + <port name="sampleWS" binding="tns:SimpleTypeInnerUnboundedInOutputWSBinding"> + <soap:address location="http://localhost:9080/SimpleTypeInnerUnboundedInOutput/services/sampleWS" /> + </port> + </service> +</definitions> diff --git a/test/resources/wsdl/StockQuotes.wsdl b/test/resources/wsdl/StockQuotes.wsdl new file mode 100644 index 0000000..a5be851 --- /dev/null +++ b/test/resources/wsdl/StockQuotes.wsdl @@ -0,0 +1,48 @@ +<?xml version='1.0' encoding='UTF-8'?>
+<definitions name='net.xmethods.services.stockquote.StockQuote'
+ targetNamespace='http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/'
+ xmlns:tns='http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/'
+ xmlns:electric='http://www.themindelectric.com/'
+ xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+ xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+ xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
+ xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
+ xmlns='http://schemas.xmlsoap.org/wsdl/'>
+
+<message name='getQuoteResponse1'>
+ <part name='Result' type='xsd:float'/>
+</message>
+<message name='getQuoteRequest1'>
+ <part name='symbol' type='xsd:string'/>
+</message>
+
+<portType name='net.xmethods.services.stockquote.StockQuotePortType'>
+ <operation name='getQuote' parameterOrder='symbol'>
+ <input message='tns:getQuoteRequest1'/>
+ <output message='tns:getQuoteResponse1'/>
+ </operation>
+</portType>
+
+<binding name='net.xmethods.services.stockquote.StockQuoteBinding'
+ type='tns:net.xmethods.services.stockquote.StockQuotePortType'>
+ <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
+ <operation name='getQuote'>
+ <soap:operation soapAction='urn:xmethods-delayed-quotes#getQuote'/>
+ <input>
+ <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
+ encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
+ </input>
+ <output><soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
+ encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
+ </output>
+ </operation>
+</binding>
+
+<service name='net.xmethods.services.stockquote.StockQuoteService'>
+ <documentation>net.xmethods.services.stockquote.StockQuote web service</documentation>
+ <port name='net.xmethods.services.stockquote.StockQuotePort'
+ binding='tns:net.xmethods.services.stockquote.StockQuoteBinding'>
+ <soap:address location='http://64.124.140.30:9090/soap'/>
+ </port></service>
+
+</definitions>
diff --git a/test/resources/wsdl/TestTransportTimeout.wsdl b/test/resources/wsdl/TestTransportTimeout.wsdl new file mode 100644 index 0000000..9a469d6 --- /dev/null +++ b/test/resources/wsdl/TestTransportTimeout.wsdl @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="add"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="addResponse"> + <complexType> + <sequence> + <element name="addReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="sub"> + <complexType> + <sequence> + <element name="arg_0_1" type="xsd:int"/> + <element name="arg_1_1" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="subResponse"> + <complexType> + <sequence> + <element name="subReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mul"> + <complexType> + <sequence> + <element name="arg_0_2" type="xsd:int"/> + <element name="arg_1_2" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mulResponse"> + <complexType> + <sequence> + <element name="mulReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_3" type="xsd:int"/> + <element name="arg_1_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="subResponse"> + + <wsdl:part element="impl:subResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulResponse"> + + <wsdl:part element="impl:mulResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="subRequest"> + + <wsdl:part element="impl:sub" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulRequest"> + + <wsdl:part element="impl:mul" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addResponse"> + + <wsdl:part element="impl:addResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addRequest"> + + <wsdl:part element="impl:add" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="Timeout"> + + <wsdl:operation name="add"> + + <wsdl:input message="impl:addRequest" name="addRequest"/> + + <wsdl:output message="impl:addResponse" name="addResponse"/> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdl:input message="impl:subRequest" name="subRequest"/> + + <wsdl:output message="impl:subResponse" name="subResponse"/> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdl:input message="impl:mulRequest" name="mulRequest"/> + + <wsdl:output message="impl:mulResponse" name="mulResponse"/> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="TestTransportTimeoutSoapBinding" type="impl:Timeout"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="add"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="addRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="addResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="subRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="subResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="mulRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="mulResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="TestTransportTimeout"> + + <wsdl:port binding="impl:TestTransportTimeoutSoapBinding" name="TestTransportTimeoutPort"> + + <wsdlsoap:address location="http://localhost/axis/TestTransportTimeout"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/UDDI.wsdl b/test/resources/wsdl/UDDI.wsdl new file mode 100644 index 0000000..1e0e527 --- /dev/null +++ b/test/resources/wsdl/UDDI.wsdl @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="UDDI" + targetNamespace="http://tempuri.org/UDDI/" + xmlns:tns="urn:uddi-org:inquiry_v2"> + + <wsdl:import namespace="urn:uddi-org:inquiry_v2" location="inquire_v2.wsdl" /> + + <wsdl:service name="UDDI"> + <wsdl:port binding="tns:InquireSoap" name="UDDIinquire"> + <soap:address location="http://tempuri.org" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/UnboundedChoice.wsdl b/test/resources/wsdl/UnboundedChoice.wsdl new file mode 100644 index 0000000..69bee20 --- /dev/null +++ b/test/resources/wsdl/UnboundedChoice.wsdl @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="unbounded" name="IntValue" type="s:int" /> + <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" /> + </s:choice> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/UnboundedStringChoice.wsdl b/test/resources/wsdl/UnboundedStringChoice.wsdl new file mode 100644 index 0000000..7a88296 --- /dev/null +++ b/test/resources/wsdl/UnboundedStringChoice.wsdl @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> + <types> + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> + <s:import namespace="http://soapinterop.org/xsd" /> + + + + <s:element name="echoChoice"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + <s:element name="echoChoiceResponse"> + <s:complexType> + <s:sequence> + <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" /> + </s:sequence> + </s:complexType> + </s:element> + + + + </s:schema> + + <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd"> + <s:import namespace="http://soapinterop.org/" /> + + <s:complexType name="ChoiceComplexType"> + <s:sequence> + <s:choice minOccurs="1" maxOccurs="1"> + <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" /> + <s:element minOccurs="0" maxOccurs="5" name="StringValue" type="s:string" /> + </s:choice> + </s:sequence> + </s:complexType> + </s:schema> + + </types> + + + + <message name="echoChoiceSoapIn"> + <part name="parameters" element="s0:echoChoice" /> + </message> + <message name="echoChoiceSoapOut"> + <part name="parameters" element="s0:echoChoiceResponse" /> + </message> + + <portType name="ChoiceTestSoap"> + + + <operation name="echoChoice"> + <input message="s0:echoChoiceSoapIn" /> + <output message="s0:echoChoiceSoapOut" /> + </operation> + + </portType> + + + <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + <operation name="echoChoice"> + <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + + </binding> + +<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap"> + <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + + + <operation name="echoChoice"> + <soap12:operation soapAction="Choice#echoChoice" style="document" /> + <input> + <soap12:body use="literal" /> + </input> + <output> + <soap12:body use="literal" /> + </output> + </operation> + + </binding> + +<service name="ChoiceTest"> + <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation> + <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap"> + <soap:address location="http://localhost:90/axis/Choice" /> + </port> + <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12"> + <soap12:address location="http://localhost:90/axis/Choice" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/test/resources/wsdl/XSDAttribute.wsdl b/test/resources/wsdl/XSDAttribute.wsdl new file mode 100644 index 0000000..2c3f44f --- /dev/null +++ b/test/resources/wsdl/XSDAttribute.wsdl @@ -0,0 +1,1046 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://xsdattribute.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://xsdattribute.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <!-- ############################################ --> + <!-- Define the operation elements and data types --> + <!-- ############################################ --> + + <!-- test boolean as attribute --> + <xsd:element name="getDataBoolean"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataBooleanResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="BooleanType"> + <xsd:attribute name="booleanType" type="xsd:boolean"/> + </xsd:complexType> + + <!-- test byte as attribute --> + <xsd:element name="getDataByte"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataByteResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="ByteType"> + <xsd:attribute name="byteType" type="xsd:byte"/> + </xsd:complexType> + + <!-- test unsigned_byte as attribute --> + <xsd:element name="getDataUnsignedByte"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataUnsignedByteResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="UnsignedByteType"> + <xsd:attribute name="unsignedByteType" type="xsd:unsignedByte"/> + </xsd:complexType> + + <!-- test short as attribute --> + <xsd:element name="getDataShort"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataShortResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="ShortType"> + <xsd:attribute name="shortType" type="xsd:short"/> + </xsd:complexType> + + <!-- test unsigned_short as attribute --> + <xsd:element name="getDataUnsignedShort"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataUnsignedShortResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="UnsignedShortType"> + <xsd:attribute name="unsignedShortType" type="xsd:unsignedShort"/> + </xsd:complexType> + + <!-- test int as attribute --> + <xsd:element name="getDataInt"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataIntResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="IntType"> + <xsd:attribute name="intType" type="xsd:int"/> + </xsd:complexType> + + <!-- test unsigned_int as attribute --> + <xsd:element name="getDataUnsignedInt"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataUnsignedIntResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="UnsignedIntType"> + <xsd:attribute name="unsignedIntType" type="xsd:unsignedInt"/> + </xsd:complexType> + + <!-- test long as attribute --> + <xsd:element name="getDataLong"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataLongResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="LongType"> + <xsd:attribute name="longType" type="xsd:long"/> + </xsd:complexType> + + <!-- test unsigned_long as attribute --> + <xsd:element name="getDataUnsignedLong"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataUnsignedLongResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="UnsignedLongType"> + <xsd:attribute name="unsignedLongType" type="xsd:unsignedLong"/> + </xsd:complexType> + + <!-- test float as attribute --> + <xsd:element name="getDataFloat"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataFloatResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="FloatType"> + <xsd:attribute name="floatType" type="xsd:float"/> + </xsd:complexType> + + <!-- test double as attribute --> + <xsd:element name="getDataDouble"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataDoubleResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="DoubleType"> + <xsd:attribute name="doubleType" type="xsd:double"/> + </xsd:complexType> + + <!-- test string as attribute --> + <xsd:element name="getDataString"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataStringResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="StringType"> + <xsd:attribute name="stringType" type="xsd:string"/> + </xsd:complexType> + + <!-- test date as attribute --> + <xsd:element name="getDataDate"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataDateResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="DateType"> + <xsd:attribute name="dateType" type="xsd:date"/> + </xsd:complexType> + + <!-- test dateTime as attribute --> + <xsd:element name="getDataDateTime"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataDateTimeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="DateTimeType"> + <xsd:attribute name="dateTimeType" type="xsd:dateTime"/> + </xsd:complexType> + + <!-- test time as attribute --> + <xsd:element name="getDataTime"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataTimeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="TimeType"> + <xsd:attribute name="timeType" type="xsd:time"/> + </xsd:complexType> + + + <!-- test duration as attribute --> +<!-- + <xsd:element name="getDataDuration"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataDurationResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="DurationType"> + <xsd:attribute name="durationType" type="xsd:duration"/> + </xsd:complexType> +--> + + <!-- test base64Binary as attribute --> + <xsd:element name="getDataBase64Binary"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataBase64BinaryResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="Base64BinaryType"> + <xsd:attribute name="base64BinaryType" type="xsd:base64Binary"/> + </xsd:complexType> + + <!-- test hexBinary as attribute --> + <xsd:element name="getDataHexBinary"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataHexBinaryResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="HexBinaryType"> + <xsd:attribute name="hexBinaryType" type="xsd:hexBinary"/> + </xsd:complexType> + + <!-- test integer as attribute --> + <xsd:element name="getDataInteger"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataIntegerResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="IntegerType"> + <xsd:attribute name="integerType" type="xsd:integer"/> + </xsd:complexType> + + <!-- test decimal as attribute --> + <xsd:element name="getDataDecimal"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataDecimalResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="DecimalType"> + <xsd:attribute name="decimalType" type="xsd:decimal"/> + </xsd:complexType> + + <!-- test QName as attribute --> + <xsd:element name="getDataQName"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataQNameResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="QNameType"> + <xsd:attribute name="qnameType" type="xsd:QName"/> + </xsd:complexType> + + <!-- test anyURI as attribute --> + <xsd:element name="getDataAnyURI"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getDataAnyURIResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="AnyURIType"> + <xsd:attribute name="anyURIType" type="xsd:anyURI"/> + </xsd:complexType> + + </schema> + + </wsdl:types> + + + <!-- ############################################ --> + <!-- Define the message elements and data types --> + <!-- ############################################ --> + + <!-- test boolean as attribute --> + <wsdl:message name="getDataBooleanRequest"> + <wsdl:part element="impl:getDataBoolean" name="gdboolean"/> + </wsdl:message> + <wsdl:message name="getDataBooleanResponse"> + <wsdl:part element="impl:getDataBooleanResponse" name="gdbooleanr"/> + </wsdl:message> + + <!-- test byte as attribute --> + <wsdl:message name="getDataByteRequest"> + <wsdl:part element="impl:getDataByte" name="gdbyte"/> + </wsdl:message> + <wsdl:message name="getDataByteResponse"> + <wsdl:part element="impl:getDataByteResponse" name="gdbyter"/> + </wsdl:message> + + <!-- test unsigned_byte as attribute --> + <wsdl:message name="getDataUnsignedByteRequest"> + <wsdl:part element="impl:getDataUnsignedByte" name="gdubyte"/> + </wsdl:message> + <wsdl:message name="getDataUnsignedByteResponse"> + <wsdl:part element="impl:getDataUnsignedByteResponse" name="gdubyter"/> + </wsdl:message> + + <!-- test short as attribute --> + <wsdl:message name="getDataShortRequest"> + <wsdl:part element="impl:getDataShort" name="gdshort"/> + </wsdl:message> + <wsdl:message name="getDataShortResponse"> + <wsdl:part element="impl:getDataShortResponse" name="gdshortr"/> + </wsdl:message> + + <!-- test unsigned_short as attribute --> + <wsdl:message name="getDataUnsignedShortRequest"> + <wsdl:part element="impl:getDataUnsignedShort" name="gdushort"/> + </wsdl:message> + <wsdl:message name="getDataUnsignedShortResponse"> + <wsdl:part element="impl:getDataUnsignedShortResponse" name="gdushortr"/> + </wsdl:message> + + <!-- test int as attribute --> + <wsdl:message name="getDataIntRequest"> + <wsdl:part element="impl:getDataInt" name="gdint"/> + </wsdl:message> + <wsdl:message name="getDataIntResponse"> + <wsdl:part element="impl:getDataIntResponse" name="gdintr"/> + </wsdl:message> + + <!-- test unsigned_int as attribute --> + <wsdl:message name="getDataUnsignedIntRequest"> + <wsdl:part element="impl:getDataUnsignedInt" name="gduint"/> + </wsdl:message> + <wsdl:message name="getDataUnsignedIntResponse"> + <wsdl:part element="impl:getDataUnsignedIntResponse" name="gduintr"/> + </wsdl:message> + + <!-- test long as attribute --> + <wsdl:message name="getDataLongRequest"> + <wsdl:part element="impl:getDataLong" name="gdlong"/> + </wsdl:message> + <wsdl:message name="getDataLongResponse"> + <wsdl:part element="impl:getDataLongResponse" name="gdlongr"/> + </wsdl:message> + + <!-- test unsigned_long as attribute --> + <wsdl:message name="getDataUnsignedLongRequest"> + <wsdl:part element="impl:getDataUnsignedLong" name="gdulong"/> + </wsdl:message> + <wsdl:message name="getDataUnsignedLongResponse"> + <wsdl:part element="impl:getDataUnsignedLongResponse" name="gdulongr"/> + </wsdl:message> + + <!-- test float as attribute --> + <wsdl:message name="getDataFloatRequest"> + <wsdl:part element="impl:getDataFloat" name="gdfloat"/> + </wsdl:message> + <wsdl:message name="getDataFloatResponse"> + <wsdl:part element="impl:getDataFloatResponse" name="gdfloatr"/> + </wsdl:message> + + <!-- test double as attribute --> + <wsdl:message name="getDataDoubleRequest"> + <wsdl:part element="impl:getDataDouble" name="gddouble"/> + </wsdl:message> + <wsdl:message name="getDataDoubleResponse"> + <wsdl:part element="impl:getDataDoubleResponse" name="gddoubler"/> + </wsdl:message> + + <!-- test string as attribute --> + <wsdl:message name="getDataStringRequest"> + <wsdl:part element="impl:getDataString" name="gdstring"/> + </wsdl:message> + <wsdl:message name="getDataStringResponse"> + <wsdl:part element="impl:getDataStringResponse" name="gdstringr"/> + </wsdl:message> + + <!-- test date as attribute --> + <wsdl:message name="getDataDateRequest"> + <wsdl:part element="impl:getDataDate" name="gddate"/> + </wsdl:message> + <wsdl:message name="getDataDateResponse"> + <wsdl:part element="impl:getDataDateResponse" name="gddater"/> + </wsdl:message> + + <!-- test dateTime as attribute --> + <wsdl:message name="getDataDateTimeRequest"> + <wsdl:part element="impl:getDataDateTime" name="gddatetime"/> + </wsdl:message> + <wsdl:message name="getDataDateTimeResponse"> + <wsdl:part element="impl:getDataDateTimeResponse" name="gddatetimer"/> + </wsdl:message> + + <!-- test time as attribute --> + <wsdl:message name="getDataTimeRequest"> + <wsdl:part element="impl:getDataTime" name="gdtime"/> + </wsdl:message> + <wsdl:message name="getDataTimeResponse"> + <wsdl:part element="impl:getDataTimeResponse" name="gdtimer"/> + </wsdl:message> + + <!-- test duration as attribute --> +<!-- + <wsdl:message name="getDataDurationRequest"> + <wsdl:part element="impl:getDataDuration" name="gdduration"/> + </wsdl:message> + <wsdl:message name="getDataDurationResponse"> + <wsdl:part element="impl:getDataDurationResponse" name="gddurationr"/> + </wsdl:message> +--> + + <!-- test base64Binary as attribute --> + <wsdl:message name="getDataBase64BinaryRequest"> + <wsdl:part element="impl:getDataBase64Binary" name="gdbase64binary"/> + </wsdl:message> + <wsdl:message name="getDataBase64BinaryResponse"> + <wsdl:part element="impl:getDataBase64BinaryResponse" name="gdbase64binaryr"/> + </wsdl:message> + + <!-- test hexBinary as attribute --> + <wsdl:message name="getDataHexBinaryRequest"> + <wsdl:part element="impl:getDataHexBinary" name="gdhexbinary"/> + </wsdl:message> + <wsdl:message name="getDataHexBinaryResponse"> + <wsdl:part element="impl:getDataHexBinaryResponse" name="gdbhexbinaryr"/> + </wsdl:message> + + <!-- test integer as attribute --> + <wsdl:message name="getDataIntegerRequest"> + <wsdl:part element="impl:getDataInteger" name="gdinteger"/> + </wsdl:message> + <wsdl:message name="getDataIntegerResponse"> + <wsdl:part element="impl:getDataIntegerResponse" name="gdintegerr"/> + </wsdl:message> + + <!-- test decimal as attribute --> + <wsdl:message name="getDataDecimalRequest"> + <wsdl:part element="impl:getDataDecimal" name="gddecimal"/> + </wsdl:message> + <wsdl:message name="getDataDecimalResponse"> + <wsdl:part element="impl:getDataDecimalResponse" name="gddecimalr"/> + </wsdl:message> + + <!-- test QName as attribute --> + <wsdl:message name="getDataQNameRequest"> + <wsdl:part element="impl:getDataQName" name="gdqname"/> + </wsdl:message> + <wsdl:message name="getDataQNameResponse"> + <wsdl:part element="impl:getDataQNameResponse" name="gdqnamer"/> + </wsdl:message> + + <!-- test anyURI as attribute --> + <wsdl:message name="getDataAnyURIRequest"> + <wsdl:part element="impl:getDataAnyURI" name="gdanyuri"/> + </wsdl:message> + <wsdl:message name="getDataAnyURIResponse"> + <wsdl:part element="impl:getDataAnyURIResponse" name="gdanyurir"/> + </wsdl:message> + + + <!-- ############################################ --> + <!-- Define the operations and messages --> + <!-- ############################################ --> + + <wsdl:portType name="XSDAttribute"> + + <!-- test boolean as attribute --> + <wsdl:operation name="getDataBoolean"> + <wsdl:input message="impl:getDataBooleanRequest" name="getDataBooleanRequest"/> + <wsdl:output message="impl:getDataBooleanResponse" name="getDataBooleanResponse"/> + </wsdl:operation> + + <!-- test byte as attribute --> + <wsdl:operation name="getDataByte"> + <wsdl:input message="impl:getDataByteRequest" name="getDataByteRequest"/> + <wsdl:output message="impl:getDataByteResponse" name="getDataByteResponse"/> + </wsdl:operation> + + <!-- test unsigned_byte as attribute --> + <wsdl:operation name="getDataUnsignedByte"> + <wsdl:input message="impl:getDataUnsignedByteRequest" name="getDataUnsignedByteRequest"/> + <wsdl:output message="impl:getDataUnsignedByteResponse" name="getDataUnsignedByteResponse"/> + </wsdl:operation> + + <!-- test short as attribute --> + <wsdl:operation name="getDataShort"> + <wsdl:input message="impl:getDataShortRequest" name="getDataShortRequest"/> + <wsdl:output message="impl:getDataShortResponse" name="getDataShortResponse"/> + </wsdl:operation> + + <!-- test unsigned_short as attribute --> + <wsdl:operation name="getDataUnsignedShort"> + <wsdl:input message="impl:getDataUnsignedShortRequest" name="getDataUnsignedShortRequest"/> + <wsdl:output message="impl:getDataUnsignedShortResponse" name="getDataUnsignedShortResponse"/> + </wsdl:operation> + + <!-- test int as attribute --> + <wsdl:operation name="getDataInt"> + <wsdl:input message="impl:getDataIntRequest" name="getDataIntRequest"/> + <wsdl:output message="impl:getDataIntResponse" name="getDataIntResponse"/> + </wsdl:operation> + + <!-- test unsigned_int as attribute --> + <wsdl:operation name="getDataUnsignedInt"> + <wsdl:input message="impl:getDataUnsignedIntRequest" name="getDataUnsignedIntRequest"/> + <wsdl:output message="impl:getDataUnsignedIntResponse" name="getDataUnsignedIntResponse"/> + </wsdl:operation> + + <!-- test long as attribute --> + <wsdl:operation name="getDataLong"> + <wsdl:input message="impl:getDataLongRequest" name="getDataLongRequest"/> + <wsdl:output message="impl:getDataLongResponse" name="getDataLongResponse"/> + </wsdl:operation> + + <!-- test unsigned_long as attribute --> + <wsdl:operation name="getDataUnsignedLong"> + <wsdl:input message="impl:getDataUnsignedLongRequest" name="getDataUnsignedLongRequest"/> + <wsdl:output message="impl:getDataUnsignedLongResponse" name="getDataUnsignedLongResponse"/> + </wsdl:operation> + + <!-- test float as attribute --> + <wsdl:operation name="getDataFloat"> + <wsdl:input message="impl:getDataFloatRequest" name="getDataFloatRequest"/> + <wsdl:output message="impl:getDataFloatResponse" name="getDataFloatResponse"/> + </wsdl:operation> + + <!-- test double as attribute --> + <wsdl:operation name="getDataDouble"> + <wsdl:input message="impl:getDataDoubleRequest" name="getDataDoubleRequest"/> + <wsdl:output message="impl:getDataDoubleResponse" name="getDataDoubleResponse"/> + </wsdl:operation> + + <!-- test string as attribute --> + <wsdl:operation name="getDataString"> + <wsdl:input message="impl:getDataStringRequest" name="getDataStringRequest"/> + <wsdl:output message="impl:getDataStringResponse" name="getDataStringResponse"/> + </wsdl:operation> + + <!-- test date as attribute --> + <wsdl:operation name="getDataDate"> + <wsdl:input message="impl:getDataDateRequest" name="getDataDateRequest"/> + <wsdl:output message="impl:getDataDateResponse" name="getDataDateResponse"/> + </wsdl:operation> + + <!-- test dateTime as attribute --> + <wsdl:operation name="getDataDateTime"> + <wsdl:input message="impl:getDataDateTimeRequest" name="getDataDateTimeRequest"/> + <wsdl:output message="impl:getDataDateTimeResponse" name="getDataDateTimeResponse"/> + </wsdl:operation> + + <!-- test time as attribute --> + <wsdl:operation name="getDataTime"> + <wsdl:input message="impl:getDataTimeRequest" name="getDataTimeRequest"/> + <wsdl:output message="impl:getDataTimeResponse" name="getDataTimeResponse"/> + </wsdl:operation> + + <!-- test duration as attribute --> +<!-- + <wsdl:operation name="getDataDuration"> + <wsdl:input message="impl:getDataDurationRequest" name="getDataDurationRequest"/> + <wsdl:output message="impl:getDataDurationResponse" name="getDataDurationResponse"/> + </wsdl:operation> +--> + + <!-- test base64Binary as attribute --> + <wsdl:operation name="getDataBase64Binary"> + <wsdl:input message="impl:getDataBase64BinaryRequest" name="getDataBase64BinaryRequest"/> + <wsdl:output message="impl:getDataBase64BinaryResponse" name="getDataBase64BinaryResponse"/> + </wsdl:operation> + + <!-- test hexBinary as attribute --> + <wsdl:operation name="getDataHexBinary"> + <wsdl:input message="impl:getDataHexBinaryRequest" name="getDataHexBinaryRequest"/> + <wsdl:output message="impl:getDataHexBinaryResponse" name="getDataHexBinaryResponse"/> + </wsdl:operation> + + <!-- test integer as attribute --> + <wsdl:operation name="getDataInteger"> + <wsdl:input message="impl:getDataIntegerRequest" name="getDataIntegerRequest"/> + <wsdl:output message="impl:getDataIntegerResponse" name="getDataIntegerResponse"/> + </wsdl:operation> + + <!-- test decimal as attribute --> + <wsdl:operation name="getDataDecimal"> + <wsdl:input message="impl:getDataDecimalRequest" name="getDataDecimalRequest"/> + <wsdl:output message="impl:getDataDecimalResponse" name="getDataDecimalResponse"/> + </wsdl:operation> + + <!-- test QName as attribute --> + <wsdl:operation name="getDataQName"> + <wsdl:input message="impl:getDataQNameRequest" name="getDataQNameRequest"/> + <wsdl:output message="impl:getDataQNameResponse" name="getDataQNameResponse"/> + </wsdl:operation> + + <!-- test anyURI as attribute --> + <wsdl:operation name="getDataAnyURI"> + <wsdl:input message="impl:getDataAnyURIRequest" name="getDataAnyURIRequest"/> + <wsdl:output message="impl:getDataAnyURIResponse" name="getDataAnyURIResponse"/> + </wsdl:operation> + + </wsdl:portType> + + + + <!-- ############################################ --> + <!-- Define the operation bindings --> + <!-- ############################################ --> + + <wsdl:binding name="XSDAttributeSoapBinding" type="impl:XSDAttribute"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <!-- test boolean as attribute --> + <wsdl:operation name="getDataBoolean"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataBooleanRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataBooleanResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test byte as attribute --> + <wsdl:operation name="getDataByte"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataByteRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataByteResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test unsigned_byte as attribute --> + <wsdl:operation name="getDataUnsignedByte"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataUnsignedByteRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataUnsignedByteResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test short as attribute --> + <wsdl:operation name="getDataShort"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataShortRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataShortResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test unsigned_short as attribute --> + <wsdl:operation name="getDataUnsignedShort"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataUnsignedShortRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataUnsignedShortResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test int as attribute --> + <wsdl:operation name="getDataInt"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataIntRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataIntResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test unsigned_int as attribute --> + <wsdl:operation name="getDataUnsignedInt"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataUnsignedIntRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataUnsignedIntResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test long as attribute --> + <wsdl:operation name="getDataLong"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataLongRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataLongResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test unsigned_long as attribute --> + <wsdl:operation name="getDataUnsignedLong"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataUnsignedLongRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataUnsignedLongResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test float as attribute --> + <wsdl:operation name="getDataFloat"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataFloatRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataFloatResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test double as attribute --> + <wsdl:operation name="getDataDouble"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataDoubleRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataDoubleResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test string as attribute --> + <wsdl:operation name="getDataString"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataStringRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataStringResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test date as attribute --> + <wsdl:operation name="getDataDate"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataDateRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataDateResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test dateTime as attribute --> + <wsdl:operation name="getDataDateTime"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataDateTimeRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataDateTimeResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test time as attribute --> + <wsdl:operation name="getDataTime"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataTimeRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataTimeResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test duration as attribute --> +<!-- + <wsdl:operation name="getDataDuration"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataDurationRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataDurationResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> +--> + + <!-- test base64Binary as attribute --> + <wsdl:operation name="getDataBase64Binary"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataBase64BinaryRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataBase64BinaryResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test hexBinary as attribute --> + <wsdl:operation name="getDataHexBinary"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataHexBinaryRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataHexBinaryResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test integer as attribute --> + <wsdl:operation name="getDataInteger"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataIntegerRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataIntegerResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test decimal as attribute --> + <wsdl:operation name="getDataDecimal"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataDecimalRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataDecimalResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test QName as attribute --> + <wsdl:operation name="getDataQName"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataQNameRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataQNameResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + <!-- test anyURI as attribute --> + <wsdl:operation name="getDataAnyURI"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getDataAnyURIRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getDataAnyURIResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + + + + <!-- ############################################ --> + <!-- Define the Service --> + <!-- ############################################ --> + + <wsdl:service name="XSDAttributeService"> + <wsdl:port binding="impl:XSDAttributeSoapBinding" name="XSDAttributePort"> + <wsdlsoap:address location="http://localhost:9080/XSDAttribute/services/XSDAttributePort"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> + diff --git a/test/resources/wsdl/XSDElement.wsdl b/test/resources/wsdl/XSDElement.wsdl new file mode 100644 index 0000000..13309e6 --- /dev/null +++ b/test/resources/wsdl/XSDElement.wsdl @@ -0,0 +1,1422 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://xsdelement.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:tns2="http://complextypes.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://xsdelement.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <element name="setGetDataInt"> + <complexType> + <sequence> + <element name="arg_0_2" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="setGetDataIntResponse"> + <complexType> + <sequence> + <element name="setGetDataIntReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedInt"> + <complexType> + <sequence> + <element name="arg_0_u2" type="xsd:unsignedInt"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedIntResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedIntReturn" type="xsd:unsignedInt"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataLong"> + <complexType> + <sequence> + <element name="arg_0_5" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="setGetDataLongResponse"> + <complexType> + <sequence> + <element name="setGetDataLongReturn" type="xsd:long"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedLong"> + <complexType> + <sequence> + <element name="arg_0_u5" type="xsd:unsignedLong"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedLongResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedLongReturn" type="xsd:unsignedLong"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataByte"> + <complexType> + <sequence> + <element name="arg_0_14" type="xsd:byte"/> + </sequence> + </complexType> + </element> + <element name="setGetDataByteResponse"> + <complexType> + <sequence> + <element name="setGetDataByteReturn" type="xsd:byte"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedByte"> + <complexType> + <sequence> + <element name="arg_0_u14" type="xsd:unsignedByte"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedByteResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedByteReturn" type="xsd:unsignedByte"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataShort"> + <complexType> + <sequence> + <element name="arg_0_26" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="setGetDataShortResponse"> + <complexType> + <sequence> + <element name="setGetDataShortReturn" type="xsd:short"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedShort"> + <complexType> + <sequence> + <element name="arg_0_u26" type="xsd:unsignedShort"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedShortResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedShortReturn" type="xsd:unsignedShort"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataBoolean"> + <complexType> + <sequence> + <element name="arg_0_17" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="setGetDataBooleanResponse"> + <complexType> + <sequence> + <element name="setGetDataBooleanReturn" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataDouble"> + <complexType> + <sequence> + <element name="arg_0_8" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="setGetDataDoubleResponse"> + <complexType> + <sequence> + <element name="setGetDataDoubleReturn" type="xsd:double"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataFloat"> + <complexType> + <sequence> + <element name="arg_0_11" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="setGetDataFloatResponse"> + <complexType> + <sequence> + <element name="setGetDataFloatReturn" type="xsd:float"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataString"> + <complexType> + <sequence> + <element name="arg_0_23" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="setGetDataStringResponse"> + <complexType> + <sequence> + <element name="setGetDataStringReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + + <element name="setGetDateTimeType"> + <complexType> + <sequence> + <element name="arg_0_32" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + <element name="setGetDateTimeTypeResponse"> + <complexType> + <sequence> + <element name="setGetDateTimeTypeReturn" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + + <element name="setGetDateType"> + <complexType> + <sequence> + <element name="arg_0_35" type="xsd:date"/> + </sequence> + </complexType> + </element> + <element name="setGetDateTypeResponse"> + <complexType> + <sequence> + <element name="setGetDateTypeReturn" type="xsd:date"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataDurationType"> + <complexType> + <sequence> + <element name="arg_0_d35" type="xsd:duration"/> + </sequence> + </complexType> + </element> + <element name="setGetDataDurationTypeResponse"> + <complexType> + <sequence> + <element name="setGetDataDurationTypeReturn" type="xsd:duration"/> + </sequence> + </complexType> + </element> + + <element name="setGetTimeType"> + <complexType> + <sequence> + <element name="arg_0_38" type="xsd:time"/> + </sequence> + </complexType> + </element> + <element name="setGetTimeTypeResponse"> + <complexType> + <sequence> + <element name="setGetTimeTypeReturn" type="xsd:time"/> + </sequence> + </complexType> + </element> + + <element name="setGetBase64BinaryType"> + <complexType> + <sequence> + <element name="arg_0_41" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="setGetBase64BinaryTypeResponse"> + <complexType> + <sequence> + <element name="setGetBase64BinaryTypeReturn" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + + <element name="setGetHexBinary"> + <complexType> + <sequence> + <element name="arg_0_44" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + <element name="setGetHexBinaryResponse"> + <complexType> + <sequence> + <element name="setGetHexBinaryReturn" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + + <element name="setGetDecimalType"> + <complexType> + <sequence> + <element name="arg_0_47" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + <element name="setGetDecimalTypeResponse"> + <complexType> + <sequence> + <element name="setGetDecimalTypeReturn" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + + <element name="setGetIntegerType"> + <complexType> + <sequence> + <element name="arg_0_50" type="xsd:integer"/> + </sequence> + </complexType> + </element> + <element name="setGetIntegerTypeResponse"> + <complexType> + <sequence> + <element name="setGetIntegerTypeReturn" type="xsd:integer"/> + </sequence> + </complexType> + </element> + + <element name="getQNameType"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="getQNameTypeResponse"> + <complexType> + <sequence> + <element name="getQNameTypeReturn" type="xsd:QName"/> + </sequence> + </complexType> + </element> + <element name="setQNameType"> + <complexType> + <sequence> + <element name="arg_0_52" type="xsd:QName"/> + </sequence> + </complexType> + </element> + <element name="setQNameTypeResponse"> + <complexType> + <sequence/> + </complexType> + </element> + + <element name="getAnyURIType"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="getAnyURITypeResponse"> + <complexType> + <sequence> + <element name="getAnyURITypeReturn" type="xsd:anyURI"/> + </sequence> + </complexType> + </element> + <element name="setAnyURIType"> + <complexType> + <sequence> + <element name="arg_0_a52" type="xsd:anyURI"/> + </sequence> + </complexType> + </element> + <element name="setAnyURITypeResponse"> + <complexType> + <sequence/> + </complexType> + </element> + + </schema> + + </wsdl:types> + + + + <wsdl:message name="setGetDataIntRequest"> + + <wsdl:part element="impl:setGetDataInt" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedIntRequest"> + + <wsdl:part element="impl:setGetDataUnsignedInt" name="parameters"/> + + </wsdl:message> + + + + + + <wsdl:message name="setGetDataIntResponse"> + + <wsdl:part element="impl:setGetDataIntResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataUnsignedIntResponse"> + + <wsdl:part element="impl:setGetDataUnsignedIntResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataByteRequest"> + + <wsdl:part element="impl:setGetDataByte" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedByteRequest"> + + <wsdl:part element="impl:setGetDataUnsignedByte" name="parameters"/> + + </wsdl:message> + + + <wsdl:message name="setGetDataByteResponse"> + + <wsdl:part element="impl:setGetDataByteResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataUnsignedByteResponse"> + + <wsdl:part element="impl:setGetDataUnsignedByteResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataLongRequest"> + + <wsdl:part element="impl:setGetDataLong" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataLongResponse"> + + <wsdl:part element="impl:setGetDataLongResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedLongRequest"> + + <wsdl:part element="impl:setGetDataUnsignedLong" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedLongResponse"> + + <wsdl:part element="impl:setGetDataUnsignedLongResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataShortRequest"> + + <wsdl:part element="impl:setGetDataShort" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataShortResponse"> + + <wsdl:part element="impl:setGetDataShortResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedShortRequest"> + + <wsdl:part element="impl:setGetDataUnsignedShort" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedShortResponse"> + + <wsdl:part element="impl:setGetDataUnsignedShortResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataBooleanRequest"> + + <wsdl:part element="impl:setGetDataBoolean" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataBooleanResponse"> + + <wsdl:part element="impl:setGetDataBooleanResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataFloatRequest"> + + <wsdl:part element="impl:setGetDataFloat" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataFloatResponse"> + + <wsdl:part element="impl:setGetDataFloatResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDoubleRequest"> + + <wsdl:part element="impl:setGetDataDouble" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDoubleResponse"> + + <wsdl:part element="impl:setGetDataDoubleResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDecimalTypeRequest"> + + <wsdl:part element="impl:setGetDecimalType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDecimalTypeResponse"> + + <wsdl:part element="impl:setGetDecimalTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetHexBinaryRequest"> + + <wsdl:part element="impl:setGetHexBinary" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetHexBinaryResponse"> + + <wsdl:part element="impl:setGetHexBinaryResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetBase64BinaryTypeRequest"> + + <wsdl:part element="impl:setGetBase64BinaryType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetBase64BinaryTypeResponse"> + + <wsdl:part element="impl:setGetBase64BinaryTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTimeTypeRequest"> + + <wsdl:part element="impl:setGetDateTimeType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTimeTypeResponse"> + + <wsdl:part element="impl:setGetDateTimeTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetIntegerTypeRequest"> + + <wsdl:part element="impl:setGetIntegerType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetIntegerTypeResponse"> + + <wsdl:part element="impl:setGetIntegerTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataStringRequest"> + + <wsdl:part element="impl:setGetDataString" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataStringResponse"> + + <wsdl:part element="impl:setGetDataStringResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setAnyURITypeRequest"> + + <wsdl:part element="impl:setAnyURIType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAnyURITypeRequest"> + + <wsdl:part element="impl:getAnyURIType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setAnyURITypeResponse"> + + <wsdl:part element="impl:setAnyURITypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAnyURITypeResponse"> + + <wsdl:part element="impl:getAnyURITypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setQNameTypeRequest"> + + <wsdl:part element="impl:setQNameType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getQNameTypeRequest"> + + <wsdl:part element="impl:getQNameType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setQNameTypeResponse"> + + <wsdl:part element="impl:setQNameTypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getQNameTypeResponse"> + + <wsdl:part element="impl:getQNameTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTypeRequest"> + + <wsdl:part element="impl:setGetDateType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTypeResponse"> + + <wsdl:part element="impl:setGetDateTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDurationTypeRequest"> + + <wsdl:part element="impl:setGetDataDurationType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDurationTypeResponse"> + + <wsdl:part element="impl:setGetDataDurationTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetTimeTypeRequest"> + + <wsdl:part element="impl:setGetTimeType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetTimeTypeResponse"> + + <wsdl:part element="impl:setGetTimeTypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="XSDElement"> + + + + <wsdl:operation name="setGetDataInt"> + + <wsdl:input message="impl:setGetDataIntRequest" name="setGetDataIntRequest"/> + + <wsdl:output message="impl:setGetDataIntResponse" name="setGetDataIntResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedInt"> + + <wsdl:input message="impl:setGetDataUnsignedIntRequest" name="setGetDataUnsignedIntRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedIntResponse" name="setGetDataUnsignedIntResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataLong"> + + <wsdl:input message="impl:setGetDataLongRequest" name="setGetDataLongRequest"/> + + <wsdl:output message="impl:setGetDataLongResponse" name="setGetDataLongResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedLong"> + + <wsdl:input message="impl:setGetDataUnsignedLongRequest" name="setGetDataUnsignedLongRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedLongResponse" name="setGetDataUnsignedLongResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataDouble"> + + <wsdl:input message="impl:setGetDataDoubleRequest" name="setGetDataDoubleRequest"/> + + <wsdl:output message="impl:setGetDataDoubleResponse" name="setGetDataDoubleResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataFloat"> + + <wsdl:input message="impl:setGetDataFloatRequest" name="setGetDataFloatRequest"/> + + <wsdl:output message="impl:setGetDataFloatResponse" name="setGetDataFloatResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataByte"> + + <wsdl:input message="impl:setGetDataByteRequest" name="setGetDataByteRequest"/> + + <wsdl:output message="impl:setGetDataByteResponse" name="setGetDataByteResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedByte"> + + <wsdl:input message="impl:setGetDataUnsignedByteRequest" name="setGetDataUnsignedByteRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedByteResponse" name="setGetDataUnsignedByteResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataBoolean"> + + <wsdl:input message="impl:setGetDataBooleanRequest" name="setGetDataBooleanRequest"/> + + <wsdl:output message="impl:setGetDataBooleanResponse" name="setGetDataBooleanResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataString"> + + <wsdl:input message="impl:setGetDataStringRequest" name="setGetDataStringRequest"/> + + <wsdl:output message="impl:setGetDataStringResponse" name="setGetDataStringResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataShort"> + + <wsdl:input message="impl:setGetDataShortRequest" name="setGetDataShortRequest"/> + + <wsdl:output message="impl:setGetDataShortResponse" name="setGetDataShortResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedShort"> + + <wsdl:input message="impl:setGetDataUnsignedShortRequest" name="setGetDataUnsignedShortRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedShortResponse" name="setGetDataUnsignedShortResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDateTimeType"> + + <wsdl:input message="impl:setGetDateTimeTypeRequest" name="setGetDateTimeTypeRequest"/> + + <wsdl:output message="impl:setGetDateTimeTypeResponse" name="setGetDateTimeTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDateType"> + + <wsdl:input message="impl:setGetDateTypeRequest" name="setGetDateTypeRequest"/> + + <wsdl:output message="impl:setGetDateTypeResponse" name="setGetDateTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataDurationType"> + + <wsdl:input message="impl:setGetDataDurationTypeRequest" name="setGetDataDurationTypeRequest"/> + + <wsdl:output message="impl:setGetDataDurationTypeResponse" name="setGetDataDurationTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetTimeType"> + + <wsdl:input message="impl:setGetTimeTypeRequest" name="setGetTimeTypeRequest"/> + + <wsdl:output message="impl:setGetTimeTypeResponse" name="setGetTimeTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetBase64BinaryType"> + + <wsdl:input message="impl:setGetBase64BinaryTypeRequest" name="setGetBase64BinaryTypeRequest"/> + + <wsdl:output message="impl:setGetBase64BinaryTypeResponse" name="setGetBase64BinaryTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetHexBinary"> + + <wsdl:input message="impl:setGetHexBinaryRequest" name="setGetHexBinaryRequest"/> + + <wsdl:output message="impl:setGetHexBinaryResponse" name="setGetHexBinaryResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDecimalType"> + + <wsdl:input message="impl:setGetDecimalTypeRequest" name="setGetDecimalTypeRequest"/> + + <wsdl:output message="impl:setGetDecimalTypeResponse" name="setGetDecimalTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetIntegerType"> + + <wsdl:input message="impl:setGetIntegerTypeRequest" name="setGetIntegerTypeRequest"/> + + <wsdl:output message="impl:setGetIntegerTypeResponse" name="setGetIntegerTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="setQNameType"> + + <wsdl:input message="impl:setQNameTypeRequest" name="setQNameTypeRequest"/> + + <wsdl:output message="impl:setQNameTypeResponse" name="setQNameTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getQNameType"> + + <wsdl:input message="impl:getQNameTypeRequest" name="getQNameTypeRequest"/> + + <wsdl:output message="impl:getQNameTypeResponse" name="getQNameTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="setAnyURIType"> + + <wsdl:input message="impl:setAnyURITypeRequest" name="setAnyURITypeRequest"/> + + <wsdl:output message="impl:setAnyURITypeResponse" name="setAnyURITypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getAnyURIType"> + + <wsdl:input message="impl:getAnyURITypeRequest" name="getAnyURITypeRequest"/> + + <wsdl:output message="impl:getAnyURITypeResponse" name="getAnyURITypeResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="XSDElementSoapBinding" type="impl:XSDElement"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="setGetDataInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataIntRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataIntResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedIntRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedIntResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataLong"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataLongRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataLongResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedLong"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedLongRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedLongResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataDouble"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataDoubleRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataDoubleResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataFloat"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataFloatRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataFloatResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataByte"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataByteRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataByteResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedByte"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedByteRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedByteResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataBoolean"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataBooleanRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataBooleanResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataString"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataStringRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataStringResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataShort"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataShortRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataShortResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedShort"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedShortRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedShortResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDateTimeType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDateTimeTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDateTimeTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDateType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDateTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDateTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataDurationType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataDurationTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataDurationTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetTimeType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetTimeTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetTimeTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetBase64BinaryType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetBase64BinaryTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetBase64BinaryTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetHexBinary"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetHexBinaryRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetHexBinaryResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDecimalType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDecimalTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDecimalTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetIntegerType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetIntegerTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetIntegerTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getQNameType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getQNameTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getQNameTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setQNameType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setQNameTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setQNameTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getAnyURIType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getAnyURITypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getAnyURITypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setAnyURIType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setAnyURITypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setAnyURITypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="XSDElementService"> + + <wsdl:port binding="impl:XSDElementSoapBinding" name="XSDElementPort"> + + <wsdlsoap:address location="http://localhost:9080/XSDElement/services/XSDElementPort"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/test/resources/wsdl/XSDElementNil.wsdl b/test/resources/wsdl/XSDElementNil.wsdl new file mode 100644 index 0000000..153530b --- /dev/null +++ b/test/resources/wsdl/XSDElementNil.wsdl @@ -0,0 +1,1414 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + +<wsdl:definitions targetNamespace="http://xsdelement.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:tns2="http://complextypes.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://xsdelement.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + + <element name="setGetDataInt"> + <complexType> + <sequence> + <element name="arg_0_2" nillable="true" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="setGetDataIntResponse"> + <complexType> + <sequence> + <element name="setGetDataIntReturn" nillable="true" type="xsd:int"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedInt"> + <complexType> + <sequence> + <element name="arg_0_u2" nillable="true" type="xsd:unsignedInt"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedIntResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedIntReturn" nillable="true" type="xsd:unsignedInt"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataLong"> + <complexType> + <sequence> + <element name="arg_0_5" nillable="true" type="xsd:long"/> + </sequence> + </complexType> + </element> + <element name="setGetDataLongResponse"> + <complexType> + <sequence> + <element name="setGetDataLongReturn" nillable="true" type="xsd:long"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedLong"> + <complexType> + <sequence> + <element name="arg_0_u5" nillable="true" type="xsd:unsignedLong"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedLongResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedLongReturn" nillable="true" type="xsd:unsignedLong"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataByte"> + <complexType> + <sequence> + <element name="arg_0_14" nillable="true" type="xsd:byte"/> + </sequence> + </complexType> + </element> + <element name="setGetDataByteResponse"> + <complexType> + <sequence> + <element name="setGetDataByteReturn" nillable="true" type="xsd:byte"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedByte"> + <complexType> + <sequence> + <element name="arg_0_u14" nillable="true" type="xsd:unsignedByte"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedByteResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedByteReturn" nillable="true" type="xsd:unsignedByte"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataShort"> + <complexType> + <sequence> + <element name="arg_0_26" nillable="true" type="xsd:short"/> + </sequence> + </complexType> + </element> + <element name="setGetDataShortResponse"> + <complexType> + <sequence> + <element name="setGetDataShortReturn" nillable="true" type="xsd:short"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataUnsignedShort"> + <complexType> + <sequence> + <element name="arg_0_u26" nillable="true" type="xsd:unsignedShort"/> + </sequence> + </complexType> + </element> + <element name="setGetDataUnsignedShortResponse"> + <complexType> + <sequence> + <element name="setGetDataUnsignedShortReturn" nillable="true" type="xsd:unsignedShort"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataBoolean"> + <complexType> + <sequence> + <element name="arg_0_17" nillable="true" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + <element name="setGetDataBooleanResponse"> + <complexType> + <sequence> + <element name="setGetDataBooleanReturn" nillable="true" type="xsd:boolean"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataDouble"> + <complexType> + <sequence> + <element name="arg_0_8" nillable="true" type="xsd:double"/> + </sequence> + </complexType> + </element> + <element name="setGetDataDoubleResponse"> + <complexType> + <sequence> + <element name="setGetDataDoubleReturn" nillable="true" type="xsd:double"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataFloat"> + <complexType> + <sequence> + <element name="arg_0_11" nillable="true" type="xsd:float"/> + </sequence> + </complexType> + </element> + <element name="setGetDataFloatResponse"> + <complexType> + <sequence> + <element name="setGetDataFloatReturn" nillable="true" type="xsd:float"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataString"> + <complexType> + <sequence> + <element name="arg_0_23" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="setGetDataStringResponse"> + <complexType> + <sequence> + <element name="setGetDataStringReturn" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + </element> + + <element name="setGetDateTimeType"> + <complexType> + <sequence> + <element name="arg_0_32" nillable="true" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + <element name="setGetDateTimeTypeResponse"> + <complexType> + <sequence> + <element name="setGetDateTimeTypeReturn" nillable="true" type="xsd:dateTime"/> + </sequence> + </complexType> + </element> + + <element name="setGetDateType"> + <complexType> + <sequence> + <element name="arg_0_35" nillable="true" type="xsd:date"/> + </sequence> + </complexType> + </element> + <element name="setGetDateTypeResponse"> + <complexType> + <sequence> + <element name="setGetDateTypeReturn" nillable="true" type="xsd:date"/> + </sequence> + </complexType> + </element> + + <element name="setGetDataDurationType"> + <complexType> + <sequence> + <element name="arg_0_d35" nillable="true" type="xsd:duration"/> + </sequence> + </complexType> + </element> + <element name="setGetDataDurationTypeResponse"> + <complexType> + <sequence> + <element name="setGetDataDurationTypeReturn" nillable="true" type="xsd:duration"/> + </sequence> + </complexType> + </element> + + <element name="setGetTimeType"> + <complexType> + <sequence> + <element name="arg_0_38" nillable="true" type="xsd:time"/> + </sequence> + </complexType> + </element> + <element name="setGetTimeTypeResponse"> + <complexType> + <sequence> + <element name="setGetTimeTypeReturn" nillable="true" type="xsd:time"/> + </sequence> + </complexType> + </element> + + <element name="setGetBase64BinaryType"> + <complexType> + <sequence> + <element name="arg_0_41" nillable="true" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + <element name="setGetBase64BinaryTypeResponse"> + <complexType> + <sequence> + <element name="setGetBase64BinaryTypeReturn" nillable="true" type="xsd:base64Binary"/> + </sequence> + </complexType> + </element> + + <element name="setGetHexBinary"> + <complexType> + <sequence> + <element name="arg_0_44" nillable="true" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + <element name="setGetHexBinaryResponse"> + <complexType> + <sequence> + <element name="setGetHexBinaryReturn" nillable="true" type="xsd:hexBinary"/> + </sequence> + </complexType> + </element> + + <element name="setGetDecimalType"> + <complexType> + <sequence> + <element name="arg_0_47" nillable="true" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + <element name="setGetDecimalTypeResponse"> + <complexType> + <sequence> + <element name="setGetDecimalTypeReturn" nillable="true" type="xsd:decimal"/> + </sequence> + </complexType> + </element> + + <element name="setGetIntegerType"> + <complexType> + <sequence> + <element name="arg_0_50" nillable="true" type="xsd:integer"/> + </sequence> + </complexType> + </element> + <element name="setGetIntegerTypeResponse"> + <complexType> + <sequence> + <element name="setGetIntegerTypeReturn" nillable="true" type="xsd:integer"/> + </sequence> + </complexType> + </element> + + <element name="getQNameType"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="getQNameTypeResponse"> + <complexType> + <sequence> + <element name="getQNameTypeReturn" nillable="true" type="xsd:QName"/> + </sequence> + </complexType> + </element> + <element name="setQNameType"> + <complexType> + <sequence> + <element name="arg_0_52" nillable="true" type="xsd:QName"/> + </sequence> + </complexType> + </element> + <element name="setQNameTypeResponse"> + <complexType> + <sequence/> + </complexType> + </element> + + <element name="getAnyURIType"> + <complexType> + <sequence/> + </complexType> + </element> + <element name="getAnyURITypeResponse"> + <complexType> + <sequence> + <element name="getAnyURITypeReturn" nillable="true" type="xsd:anyURI"/> + </sequence> + </complexType> + </element> + <element name="setAnyURIType"> + <complexType> + <sequence> + <element name="arg_0_a52" nillable="true" type="xsd:anyURI"/> + </sequence> + </complexType> + </element> + <element name="setAnyURITypeResponse"> + <complexType> + <sequence/> + </complexType> + </element> + + </schema> + + </wsdl:types> + + + + <wsdl:message name="setGetDataIntRequest"> + + <wsdl:part element="impl:setGetDataInt" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedIntRequest"> + + <wsdl:part element="impl:setGetDataUnsignedInt" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataIntResponse"> + + <wsdl:part element="impl:setGetDataIntResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataUnsignedIntResponse"> + + <wsdl:part element="impl:setGetDataUnsignedIntResponse" name="parameters"/> + + </wsdl:message> + + + <wsdl:message name="setGetDataByteRequest"> + + <wsdl:part element="impl:setGetDataByte" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedByteRequest"> + + <wsdl:part element="impl:setGetDataUnsignedByte" name="parameters"/> + + </wsdl:message> + + + <wsdl:message name="setGetDataByteResponse"> + + <wsdl:part element="impl:setGetDataByteResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataUnsignedByteResponse"> + + <wsdl:part element="impl:setGetDataUnsignedByteResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setGetDataLongRequest"> + + <wsdl:part element="impl:setGetDataLong" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataLongResponse"> + + <wsdl:part element="impl:setGetDataLongResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedLongRequest"> + + <wsdl:part element="impl:setGetDataUnsignedLong" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedLongResponse"> + + <wsdl:part element="impl:setGetDataUnsignedLongResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataShortRequest"> + + <wsdl:part element="impl:setGetDataShort" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataShortResponse"> + + <wsdl:part element="impl:setGetDataShortResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedShortRequest"> + + <wsdl:part element="impl:setGetDataUnsignedShort" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataUnsignedShortResponse"> + + <wsdl:part element="impl:setGetDataUnsignedShortResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataBooleanRequest"> + + <wsdl:part element="impl:setGetDataBoolean" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataBooleanResponse"> + + <wsdl:part element="impl:setGetDataBooleanResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataFloatRequest"> + + <wsdl:part element="impl:setGetDataFloat" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataFloatResponse"> + + <wsdl:part element="impl:setGetDataFloatResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDoubleRequest"> + + <wsdl:part element="impl:setGetDataDouble" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDoubleResponse"> + + <wsdl:part element="impl:setGetDataDoubleResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDecimalTypeRequest"> + + <wsdl:part element="impl:setGetDecimalType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDecimalTypeResponse"> + + <wsdl:part element="impl:setGetDecimalTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetHexBinaryRequest"> + + <wsdl:part element="impl:setGetHexBinary" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetHexBinaryResponse"> + + <wsdl:part element="impl:setGetHexBinaryResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetBase64BinaryTypeRequest"> + + <wsdl:part element="impl:setGetBase64BinaryType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetBase64BinaryTypeResponse"> + + <wsdl:part element="impl:setGetBase64BinaryTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTimeTypeRequest"> + + <wsdl:part element="impl:setGetDateTimeType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTimeTypeResponse"> + + <wsdl:part element="impl:setGetDateTimeTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetIntegerTypeRequest"> + + <wsdl:part element="impl:setGetIntegerType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetIntegerTypeResponse"> + + <wsdl:part element="impl:setGetIntegerTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataStringRequest"> + + <wsdl:part element="impl:setGetDataString" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataStringResponse"> + + <wsdl:part element="impl:setGetDataStringResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setAnyURITypeRequest"> + + <wsdl:part element="impl:setAnyURIType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAnyURITypeRequest"> + + <wsdl:part element="impl:getAnyURIType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setAnyURITypeResponse"> + + <wsdl:part element="impl:setAnyURITypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAnyURITypeResponse"> + + <wsdl:part element="impl:getAnyURITypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setQNameTypeRequest"> + + <wsdl:part element="impl:setQNameType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getQNameTypeRequest"> + + <wsdl:part element="impl:getQNameType" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="setQNameTypeResponse"> + + <wsdl:part element="impl:setQNameTypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getQNameTypeResponse"> + + <wsdl:part element="impl:getQNameTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTypeRequest"> + + <wsdl:part element="impl:setGetDateType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDateTypeResponse"> + + <wsdl:part element="impl:setGetDateTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDurationTypeRequest"> + + <wsdl:part element="impl:setGetDataDurationType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetDataDurationTypeResponse"> + + <wsdl:part element="impl:setGetDataDurationTypeResponse" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetTimeTypeRequest"> + + <wsdl:part element="impl:setGetTimeType" name="parameters"/> + + </wsdl:message> + + + + <wsdl:message name="setGetTimeTypeResponse"> + + <wsdl:part element="impl:setGetTimeTypeResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="XSDElementNil"> + + <wsdl:operation name="setGetDataInt"> + + <wsdl:input message="impl:setGetDataIntRequest" name="setGetDataIntRequest"/> + + <wsdl:output message="impl:setGetDataIntResponse" name="setGetDataIntResponse"/> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedInt"> + + <wsdl:input message="impl:setGetDataUnsignedIntRequest" name="setGetDataUnsignedIntRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedIntResponse" name="setGetDataUnsignedIntResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataLong"> + + <wsdl:input message="impl:setGetDataLongRequest" name="setGetDataLongRequest"/> + + <wsdl:output message="impl:setGetDataLongResponse" name="setGetDataLongResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedLong"> + + <wsdl:input message="impl:setGetDataUnsignedLongRequest" name="setGetDataUnsignedLongRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedLongResponse" name="setGetDataUnsignedLongResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataDouble"> + + <wsdl:input message="impl:setGetDataDoubleRequest" name="setGetDataDoubleRequest"/> + + <wsdl:output message="impl:setGetDataDoubleResponse" name="setGetDataDoubleResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataFloat"> + + <wsdl:input message="impl:setGetDataFloatRequest" name="setGetDataFloatRequest"/> + + <wsdl:output message="impl:setGetDataFloatResponse" name="setGetDataFloatResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataByte"> + + <wsdl:input message="impl:setGetDataByteRequest" name="setGetDataByteRequest"/> + + <wsdl:output message="impl:setGetDataByteResponse" name="setGetDataByteResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedByte"> + + <wsdl:input message="impl:setGetDataUnsignedByteRequest" name="setGetDataUnsignedByteRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedByteResponse" name="setGetDataUnsignedByteResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataBoolean"> + + <wsdl:input message="impl:setGetDataBooleanRequest" name="setGetDataBooleanRequest"/> + + <wsdl:output message="impl:setGetDataBooleanResponse" name="setGetDataBooleanResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataString"> + + <wsdl:input message="impl:setGetDataStringRequest" name="setGetDataStringRequest"/> + + <wsdl:output message="impl:setGetDataStringResponse" name="setGetDataStringResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataShort"> + + <wsdl:input message="impl:setGetDataShortRequest" name="setGetDataShortRequest"/> + + <wsdl:output message="impl:setGetDataShortResponse" name="setGetDataShortResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataUnsignedShort"> + + <wsdl:input message="impl:setGetDataUnsignedShortRequest" name="setGetDataUnsignedShortRequest"/> + + <wsdl:output message="impl:setGetDataUnsignedShortResponse" name="setGetDataUnsignedShortResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDateTimeType"> + + <wsdl:input message="impl:setGetDateTimeTypeRequest" name="setGetDateTimeTypeRequest"/> + + <wsdl:output message="impl:setGetDateTimeTypeResponse" name="setGetDateTimeTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDateType"> + + <wsdl:input message="impl:setGetDateTypeRequest" name="setGetDateTypeRequest"/> + + <wsdl:output message="impl:setGetDateTypeResponse" name="setGetDateTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDataDurationType"> + + <wsdl:input message="impl:setGetDataDurationTypeRequest" name="setGetDataDurationTypeRequest"/> + + <wsdl:output message="impl:setGetDataDurationTypeResponse" name="setGetDataDurationTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetTimeType"> + + <wsdl:input message="impl:setGetTimeTypeRequest" name="setGetTimeTypeRequest"/> + + <wsdl:output message="impl:setGetTimeTypeResponse" name="setGetTimeTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetBase64BinaryType"> + + <wsdl:input message="impl:setGetBase64BinaryTypeRequest" name="setGetBase64BinaryTypeRequest"/> + + <wsdl:output message="impl:setGetBase64BinaryTypeResponse" name="setGetBase64BinaryTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetHexBinary"> + + <wsdl:input message="impl:setGetHexBinaryRequest" name="setGetHexBinaryRequest"/> + + <wsdl:output message="impl:setGetHexBinaryResponse" name="setGetHexBinaryResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetDecimalType"> + + <wsdl:input message="impl:setGetDecimalTypeRequest" name="setGetDecimalTypeRequest"/> + + <wsdl:output message="impl:setGetDecimalTypeResponse" name="setGetDecimalTypeResponse"/> + + </wsdl:operation> + + + + <wsdl:operation name="setGetIntegerType"> + + <wsdl:input message="impl:setGetIntegerTypeRequest" name="setGetIntegerTypeRequest"/> + + <wsdl:output message="impl:setGetIntegerTypeResponse" name="setGetIntegerTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="setQNameType"> + + <wsdl:input message="impl:setQNameTypeRequest" name="setQNameTypeRequest"/> + + <wsdl:output message="impl:setQNameTypeResponse" name="setQNameTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getQNameType"> + + <wsdl:input message="impl:getQNameTypeRequest" name="getQNameTypeRequest"/> + + <wsdl:output message="impl:getQNameTypeResponse" name="getQNameTypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="setAnyURIType"> + + <wsdl:input message="impl:setAnyURITypeRequest" name="setAnyURITypeRequest"/> + + <wsdl:output message="impl:setAnyURITypeResponse" name="setAnyURITypeResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getAnyURIType"> + + <wsdl:input message="impl:getAnyURITypeRequest" name="getAnyURITypeRequest"/> + + <wsdl:output message="impl:getAnyURITypeResponse" name="getAnyURITypeResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="XSDElementNilSoapBinding" type="impl:XSDElementNil"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="setGetDataInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataIntRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataIntResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedIntRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedIntResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataLong"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataLongRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataLongResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedLong"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedLongRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedLongResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataDouble"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataDoubleRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataDoubleResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataFloat"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataFloatRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataFloatResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataByte"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataByteRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataByteResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedByte"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedByteRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedByteResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataBoolean"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataBooleanRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataBooleanResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataString"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataStringRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataStringResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataShort"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataShortRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataShortResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataUnsignedShort"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataUnsignedShortRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataUnsignedShortResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDateTimeType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDateTimeTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDateTimeTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDateType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDateTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDateTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDataDurationType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDataDurationTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDataDurationTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetTimeType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetTimeTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetTimeTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetBase64BinaryType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetBase64BinaryTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetBase64BinaryTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetHexBinary"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetHexBinaryRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetHexBinaryResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetDecimalType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetDecimalTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetDecimalTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setGetIntegerType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setGetIntegerTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setGetIntegerTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getQNameType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getQNameTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getQNameTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setQNameType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setQNameTypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setQNameTypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getAnyURIType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getAnyURITypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getAnyURITypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="setAnyURIType"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="setAnyURITypeRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="setAnyURITypeResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="XSDElementNilService"> + + <wsdl:port binding="impl:XSDElementNilSoapBinding" name="XSDElementNilPort"> + + <wsdlsoap:address location="http://localhost:9080/XSDElement/services/XSDElementNilPort"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> + diff --git a/test/resources/wsdl/XSD_ENTITIES.wsdl b/test/resources/wsdl/XSD_ENTITIES.wsdl new file mode 100644 index 0000000..56628fb --- /dev/null +++ b/test/resources/wsdl/XSD_ENTITIES.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_ENTITIES.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ENTITIES" + targetNamespace="http://xsd_ENTITIES.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_ENTITIES.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ENTITIES" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ENTITIES" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ENTITIES" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ENTITIES" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:ENTITIES" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:ENTITIES" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ENTITIES" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ENTITIES" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:ENTITIES" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_ENTITIESPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_ENTITIESSOAP" type="tns:XSD_ENTITIESPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_ENTITIESPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_ENTITIESPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_ENTITIESPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_ENTITIESPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_ENTITIESPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_ENTITIESPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_ENTITIES"> + <wsdl:port binding="tns:XSD_ENTITIESSOAP" + name="XSD_ENTITIESSOAP"> + <soap:address + location="http://localhost:9080/XSD_ENTITIES/services/XSD_ENTITIESPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_ENTITY.wsdl b/test/resources/wsdl/XSD_ENTITY.wsdl new file mode 100644 index 0000000..e18be29 --- /dev/null +++ b/test/resources/wsdl/XSD_ENTITY.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_ENTITY.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ENTITY" + targetNamespace="http://xsd_ENTITY.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_ENTITY.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ENTITY" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ENTITY" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ENTITY" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ENTITY" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:ENTITY" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:ENTITY" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ENTITY" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ENTITY" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:ENTITY" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_ENTITYPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_ENTITYSOAP" type="tns:XSD_ENTITYPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_ENTITYPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_ENTITYPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_ENTITYPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_ENTITYPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_ENTITYPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_ENTITYPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_ENTITY"> + <wsdl:port binding="tns:XSD_ENTITYSOAP" + name="XSD_ENTITYSOAP"> + <soap:address + location="http://localhost:9080/XSD_ENTITY/services/XSD_ENTITYPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_ID.wsdl b/test/resources/wsdl/XSD_ID.wsdl new file mode 100644 index 0000000..06f931b --- /dev/null +++ b/test/resources/wsdl/XSD_ID.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_ID.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ID" + targetNamespace="http://xsd_ID.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_ID.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ID" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:ID" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ID" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:ID" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:ID" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:ID" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ID" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:ID" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:ID" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_IDPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_IDSOAP" type="tns:XSD_IDPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_IDPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_IDPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_IDPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_IDPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_IDPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_IDPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_ID"> + <wsdl:port binding="tns:XSD_IDSOAP" + name="XSD_IDSOAP"> + <soap:address + location="http://localhost:9080/XSD_ID/services/XSD_IDPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_IDREF.wsdl b/test/resources/wsdl/XSD_IDREF.wsdl new file mode 100644 index 0000000..8306b44 --- /dev/null +++ b/test/resources/wsdl/XSD_IDREF.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_IDREF.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_IDREF" + targetNamespace="http://xsd_IDREF.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_IDREF.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:IDREF" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:IDREF" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:IDREF" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:IDREF" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:IDREF" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:IDREF" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:IDREF" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:IDREF" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:IDREF" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_IDREFPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_IDREFSOAP" type="tns:XSD_IDREFPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_IDREFPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_IDREFPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_IDREFPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_IDREFPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_IDREFPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_IDREFPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_IDREF"> + <wsdl:port binding="tns:XSD_IDREFSOAP" + name="XSD_IDREFSOAP"> + <soap:address + location="http://localhost:9080/XSD_IDREF/services/XSD_IDREFPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_IDREFS.wsdl b/test/resources/wsdl/XSD_IDREFS.wsdl new file mode 100644 index 0000000..cdec7fb --- /dev/null +++ b/test/resources/wsdl/XSD_IDREFS.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_IDREFS.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_IDREFS" + targetNamespace="http://xsd_IDREFS.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_IDREFS.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:IDREFS" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:IDREFS" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:IDREFS" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:IDREFS" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:IDREFS" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:IDREFS" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:IDREFS" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:IDREFS" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:IDREFS" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_IDREFSPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_IDREFSSOAP" type="tns:XSD_IDREFSPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_IDREFSPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_IDREFSPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_IDREFSPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_IDREFSPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_IDREFSPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_IDREFSPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_IDREFS"> + <wsdl:port binding="tns:XSD_IDREFSSOAP" + name="XSD_IDREFSSOAP"> + <soap:address + location="http://localhost:9080/XSD_IDREFS/services/XSD_IDREFSPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_NCName.wsdl b/test/resources/wsdl/XSD_NCName.wsdl new file mode 100644 index 0000000..b65e656 --- /dev/null +++ b/test/resources/wsdl/XSD_NCName.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_NCName.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NCName" + targetNamespace="http://xsd_NCName.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_NCName.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NCName" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NCName" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NCName" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NCName" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:NCName" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:NCName" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NCName" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NCName" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:NCName" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_NCName"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_NCNameSOAP" type="tns:XSD_NCName"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_NCName#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_NCName#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_NCName#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_NCName#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_NCName#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_NCName#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_NCName"> + <wsdl:port binding="tns:XSD_NCNameSOAP" + name="XSD_NCNameSOAP"> + <soap:address + location="http://localhost:9080/XSD_NCName/services/XSD_NCName" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_NMTOKEN.wsdl b/test/resources/wsdl/XSD_NMTOKEN.wsdl new file mode 100644 index 0000000..184d47c --- /dev/null +++ b/test/resources/wsdl/XSD_NMTOKEN.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_NMTOKEN.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NMTOKEN" + targetNamespace="http://xsd_NMTOKEN.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_NMTOKEN.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NMTOKEN" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NMTOKEN" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NMTOKEN" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NMTOKEN" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:NMTOKEN" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:NMTOKEN" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NMTOKEN" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NMTOKEN" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:NMTOKEN" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_NMTOKENPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_NMTOKENSOAP" type="tns:XSD_NMTOKENPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_NMTOKENPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_NMTOKENPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_NMTOKENPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_NMTOKENPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_NMTOKENPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_NMTOKENPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_NMTOKEN"> + <wsdl:port binding="tns:XSD_NMTOKENSOAP" + name="XSD_NMTOKENSOAP"> + <soap:address + location="http://localhost:9080/XSD_NMTOKEN/services/XSD_NMTOKENPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_NMTOKENS.wsdl b/test/resources/wsdl/XSD_NMTOKENS.wsdl new file mode 100644 index 0000000..6100b1a --- /dev/null +++ b/test/resources/wsdl/XSD_NMTOKENS.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_NMTOKENS.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NMTOKENS" + targetNamespace="http://xsd_NMTOKENS.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_NMTOKENS.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NMTOKENS" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:NMTOKENS" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NMTOKENS" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:NMTOKENS" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:NMTOKENS" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:NMTOKENS" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NMTOKENS" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:NMTOKENS" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:NMTOKENS" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_NMTOKENSPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_NMTOKENSSOAP" type="tns:XSD_NMTOKENSPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_NMTOKENSPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_NMTOKENSPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_NMTOKENSPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_NMTOKENSPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_NMTOKENSPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_NMTOKENSPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_NMTOKENS"> + <wsdl:port binding="tns:XSD_NMTOKENSSOAP" + name="XSD_NMTOKENSSOAP"> + <soap:address + location="http://localhost:9080/XSD_NMTOKENS/services/XSD_NMTOKENSPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_NOTATION.wsdl b/test/resources/wsdl/XSD_NOTATION.wsdl new file mode 100644 index 0000000..30c0fb4 --- /dev/null +++ b/test/resources/wsdl/XSD_NOTATION.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_NOTATION.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xsd_NOTATION.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_NOTATION.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:notation" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:notation" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:notation" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:notation" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:notation" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:notation" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:notation" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:notation" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:notation" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_NOTATIONPort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_NOTATIONSOAP" type="tns:XSD_NOTATIONPort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_NOTATIONPort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_NOTATIONPort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_NOTATIONPort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_NOTATIONPort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_NOTATIONPort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_NOTATIONPort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_NOTATION"> + <wsdl:port binding="tns:XSD_NOTATIONSOAP" + name="XSD_NOTATIONSOAP"> + <soap:address + location="http://localhost:9080/XSD_NOTATION/services/XSD_NOTATIONPort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_Name.wsdl b/test/resources/wsdl/XSD_Name.wsdl new file mode 100644 index 0000000..5198b1c --- /dev/null +++ b/test/resources/wsdl/XSD_Name.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_Name.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_Name" + targetNamespace="http://xsd_Name.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_Name.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:Name" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:Name" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:Name" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:Name" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:Name" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:Name" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:Name" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:Name" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:Name" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_Name"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_NameSOAP" type="tns:XSD_Name"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_Name#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_Name#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_Name#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_Name#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_Name#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_Name#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_Name"> + <wsdl:port binding="tns:XSD_NameSOAP" + name="XSD_NameSOAP"> + <soap:address + location="http://localhost:9080/XSD_Name/services/XSD_Name" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_QName.wsdl b/test/resources/wsdl/XSD_QName.wsdl new file mode 100644 index 0000000..7fca9ff --- /dev/null +++ b/test/resources/wsdl/XSD_QName.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_QName.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_QName" + targetNamespace="http://xsd_QName.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_QName.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:QName" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:QName" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:QName" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:QName" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:QName" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:QName" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:QName" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:QName" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:QName" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_QName"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_QNameSOAP" type="tns:XSD_QName"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_QName#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_QName#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_QName#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_QName#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_QName#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_QName#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_QName"> + <wsdl:port binding="tns:XSD_QNameSOAP" + name="XSD_QNameSOAP"> + <soap:address + location="http://localhost:9080/XSD_QName/services/XSD_QName" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_anyURI.wsdl b/test/resources/wsdl/XSD_anyURI.wsdl new file mode 100644 index 0000000..73410d8 --- /dev/null +++ b/test/resources/wsdl/XSD_anyURI.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_anyURI.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_anyURI" + targetNamespace="http://xsd_anyURI.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_anyURI.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:anyURI" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:anyURI" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:anyURI" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:anyURI" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:anyURI" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:anyURI" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:anyURI" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:anyURI" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:anyURI" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_anyURI"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_anyURISOAP" type="tns:XSD_anyURI"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_anyURI#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_anyURI#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_anyURI#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_anyURI#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_anyURI#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_anyURI#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_anyURI"> + <wsdl:port binding="tns:XSD_anyURISOAP" + name="XSD_anyURISOAP"> + <soap:address + location="http://localhost:9080/XSD_anyURI/services/XSD_anyURI" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_base64Binary.wsdl b/test/resources/wsdl/XSD_base64Binary.wsdl new file mode 100644 index 0000000..e7b1ae8 --- /dev/null +++ b/test/resources/wsdl/XSD_base64Binary.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_base64Binary.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_base64Binary" + targetNamespace="http://xsd_base64Binary.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_base64Binary.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:base64Binary" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:base64Binary" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:base64Binary" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:base64Binary" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:base64Binary" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:base64Binary" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:base64Binary" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:base64Binary" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:base64Binary" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_base64Binary"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_base64BinarySOAP" type="tns:XSD_base64Binary"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_base64Binary#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_base64Binary#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_base64Binary#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_base64Binary#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_base64Binary#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_base64Binary#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_base64Binary"> + <wsdl:port binding="tns:XSD_base64BinarySOAP" + name="XSD_base64BinarySOAP"> + <soap:address + location="http://localhost:9080/XSD_base64Binary/services/XSD_base64Binary" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_boolean.wsdl b/test/resources/wsdl/XSD_boolean.wsdl new file mode 100644 index 0000000..906ba02 --- /dev/null +++ b/test/resources/wsdl/XSD_boolean.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_boolean.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_boolean" + targetNamespace="http://xsd_boolean.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_boolean.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:boolean" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:boolean" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:boolean" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:boolean" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:boolean" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:boolean" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:boolean" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:boolean" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:boolean" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_boolean"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_booleanSOAP" type="tns:XSD_boolean"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_boolean#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_boolean#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_boolean#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_boolean#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_boolean#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_boolean#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_boolean"> + <wsdl:port binding="tns:XSD_booleanSOAP" + name="XSD_booleanSOAP"> + <soap:address + location="http://localhost:9080/XSD_boolean/services/XSD_boolean" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_byte.wsdl b/test/resources/wsdl/XSD_byte.wsdl new file mode 100644 index 0000000..52aa1d3 --- /dev/null +++ b/test/resources/wsdl/XSD_byte.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_byte.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_byte" + targetNamespace="http://xsd_byte.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_byte.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:byte" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:byte" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:byte" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:byte" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:byte" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:byte" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:byte" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:byte" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:byte" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_byte"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_byteSOAP" type="tns:XSD_byte"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_byte#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_byte#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_byte#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_byte#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_byte#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_byte#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_byte"> + <wsdl:port binding="tns:XSD_byteSOAP" + name="XSD_byteSOAP"> + <soap:address + location="http://localhost:9080/XSD_byte/services/XSD_byte" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_date.wsdl b/test/resources/wsdl/XSD_date.wsdl new file mode 100644 index 0000000..013a3f9 --- /dev/null +++ b/test/resources/wsdl/XSD_date.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_date.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_date" + targetNamespace="http://xsd_date.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_date.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:date" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:date" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:date" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:date" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:date" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:date" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:date" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:date" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:date" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_date"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_dateSOAP" type="tns:XSD_date"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_date#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_date#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_date#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_date#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_date#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_date#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_date"> + <wsdl:port binding="tns:XSD_dateSOAP" + name="XSD_dateSOAP"> + <soap:address + location="http://localhost:9080/XSD_date/services/XSD_date" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_dateTime.wsdl b/test/resources/wsdl/XSD_dateTime.wsdl new file mode 100644 index 0000000..5031ca6 --- /dev/null +++ b/test/resources/wsdl/XSD_dateTime.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_dateTime.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_dateTime" + targetNamespace="http://xsd_dateTime.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_dateTime.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:dateTime" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:dateTime" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:dateTime" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:dateTime" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:dateTime" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:dateTime" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:dateTime" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:dateTime" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_dateTime"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_dateTimeSOAP" type="tns:XSD_dateTime"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_dateTime#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_dateTime#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_dateTime#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_dateTime#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_dateTime#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_dateTime#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_dateTime"> + <wsdl:port binding="tns:XSD_dateTimeSOAP" + name="XSD_dateTimeSOAP"> + <soap:address + location="http://localhost:9080/XSD_dateTime/services/XSD_dateTime" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_decimal.wsdl b/test/resources/wsdl/XSD_decimal.wsdl new file mode 100644 index 0000000..587107a --- /dev/null +++ b/test/resources/wsdl/XSD_decimal.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_decimal.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_decimal" + targetNamespace="http://xsd_decimal.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_decimal.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:decimal" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:decimal" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:decimal" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:decimal" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:decimal" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:decimal" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:decimal" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:decimal" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:decimal" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_decimal"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_decimalSOAP" type="tns:XSD_decimal"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_decimal#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_decimal#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_decimal#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_decimal#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_decimal#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_decimal#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_decimal"> + <wsdl:port binding="tns:XSD_decimalSOAP" + name="XSD_decimalSOAP"> + <soap:address + location="http://localhost:9080/XSD_decimal/services/XSD_decimal" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_double.wsdl b/test/resources/wsdl/XSD_double.wsdl new file mode 100644 index 0000000..51eb810 --- /dev/null +++ b/test/resources/wsdl/XSD_double.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_double.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_double" + targetNamespace="http://xsd_double.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_double.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:double" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:double" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:double" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:double" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:double" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:double" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:double" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:double" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:double" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_double"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_doubleSOAP" type="tns:XSD_double"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_double#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_double#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_double#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_double#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_double#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_double#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_double"> + <wsdl:port binding="tns:XSD_doubleSOAP" + name="XSD_doubleSOAP"> + <soap:address + location="http://localhost:9080/XSD_double/services/XSD_double" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_duration.wsdl b/test/resources/wsdl/XSD_duration.wsdl new file mode 100644 index 0000000..31a8b18 --- /dev/null +++ b/test/resources/wsdl/XSD_duration.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_duration.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_duration" + targetNamespace="http://xsd_duration.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_duration.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:duration" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:duration" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:duration" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:duration" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:duration" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:duration" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:duration" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:duration" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:duration" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_duration"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_durationSOAP" type="tns:XSD_duration"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_duration#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_duration#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_duration#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_duration#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_duration#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_duration#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_duration"> + <wsdl:port binding="tns:XSD_durationSOAP" + name="XSD_durationSOAP"> + <soap:address + location="http://localhost:9080/XSD_duration/services/XSD_duration" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_float.wsdl b/test/resources/wsdl/XSD_float.wsdl new file mode 100644 index 0000000..dcc7464 --- /dev/null +++ b/test/resources/wsdl/XSD_float.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_float.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_float" + targetNamespace="http://xsd_float.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_float.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:float" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:float" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:float" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:float" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:float" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:float" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:float" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:float" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:float" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_float"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_floatSOAP" type="tns:XSD_float"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_float#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_float#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_float#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_float#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_float#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_float#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_float"> + <wsdl:port binding="tns:XSD_floatSOAP" + name="XSD_floatSOAP"> + <soap:address + location="http://localhost:9080/XSD_float/services/XSD_float" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_gDay.wsdl b/test/resources/wsdl/XSD_gDay.wsdl new file mode 100644 index 0000000..2508f5d --- /dev/null +++ b/test/resources/wsdl/XSD_gDay.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_gDay.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gDay" + targetNamespace="http://xsd_gDay.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_gDay.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gDay" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gDay" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gDay" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gDay" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:gDay" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:gDay" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gDay" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gDay" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:gDay" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_gDay"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_gDaySOAP" type="tns:XSD_gDay"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_gDay#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_gDay#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_gDay#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_gDay#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_gDay#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_gDay#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_gDay"> + <wsdl:port binding="tns:XSD_gDaySOAP" + name="XSD_gDaySOAP"> + <soap:address + location="http://localhost:9080/XSD_gDay/services/XSD_gDay" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_gMonth.wsdl b/test/resources/wsdl/XSD_gMonth.wsdl new file mode 100644 index 0000000..1d05d42 --- /dev/null +++ b/test/resources/wsdl/XSD_gMonth.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_gMonth.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gMonth" + targetNamespace="http://xsd_gMonth.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_gMonth.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gMonth" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gMonth" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gMonth" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gMonth" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:gMonth" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:gMonth" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gMonth" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gMonth" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:gMonth" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_gMonth"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_gMonthSOAP" type="tns:XSD_gMonth"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_gMonth#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_gMonth#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_gMonth#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_gMonth#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_gMonth#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_gMonth#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_gMonth"> + <wsdl:port binding="tns:XSD_gMonthSOAP" + name="XSD_gMonthSOAP"> + <soap:address + location="http://localhost:9080/XSD_gMonth/services/XSD_gMonth" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_gMonthDay.wsdl b/test/resources/wsdl/XSD_gMonthDay.wsdl new file mode 100644 index 0000000..6d06f45 --- /dev/null +++ b/test/resources/wsdl/XSD_gMonthDay.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_gMonthDay.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gMonthDay" + targetNamespace="http://xsd_gMonthDay.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_gMonthDay.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gMonthDay" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gMonthDay" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gMonthDay" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gMonthDay" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:gMonthDay" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:gMonthDay" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gMonthDay" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gMonthDay" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:gMonthDay" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_gMonthDay"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_gMonthDaySOAP" type="tns:XSD_gMonthDay"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_gMonthDay#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_gMonthDay#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_gMonthDay#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_gMonthDay#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_gMonthDay#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_gMonthDay#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_gMonthDay"> + <wsdl:port binding="tns:XSD_gMonthDaySOAP" + name="XSD_gMonthDaySOAP"> + <soap:address + location="http://localhost:9080/XSD_gMonthDay/services/XSD_gMonthDay" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_gYear.wsdl b/test/resources/wsdl/XSD_gYear.wsdl new file mode 100644 index 0000000..0135260 --- /dev/null +++ b/test/resources/wsdl/XSD_gYear.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_gYear.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gYear" + targetNamespace="http://xsd_gYear.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_gYear.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gYear" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gYear" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gYear" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gYear" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:gYear" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:gYear" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gYear" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gYear" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:gYear" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_gYear"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_gYearSOAP" type="tns:XSD_gYear"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_gYear#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_gYear#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_gYear#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_gYear#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_gYear#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_gYear#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_gYear"> + <wsdl:port binding="tns:XSD_gYearSOAP" + name="XSD_gYearSOAP"> + <soap:address + location="http://localhost:9080/XSD_gYear/services/XSD_gYear" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_gYearMonth.wsdl b/test/resources/wsdl/XSD_gYearMonth.wsdl new file mode 100644 index 0000000..d0bd3f1 --- /dev/null +++ b/test/resources/wsdl/XSD_gYearMonth.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_gYearMonth.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gYearMonth" + targetNamespace="http://xsd_gYearMonth.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_gYearMonth.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gYearMonth" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:gYearMonth" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gYearMonth" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:gYearMonth" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:gYearMonth" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:gYearMonth" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gYearMonth" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:gYearMonth" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:gYearMonth" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_gYearMonth"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_gYearMonthSOAP" type="tns:XSD_gYearMonth"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_gYearMonth#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_gYearMonth#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_gYearMonth#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_gYearMonth#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_gYearMonth#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_gYearMonth#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_gYearMonth"> + <wsdl:port binding="tns:XSD_gYearMonthSOAP" + name="XSD_gYearMonthSOAP"> + <soap:address + location="http://localhost:9080/XSD_gYearMonth/services/XSD_gYearMonth" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_hexBinary.wsdl b/test/resources/wsdl/XSD_hexBinary.wsdl new file mode 100644 index 0000000..1ace268 --- /dev/null +++ b/test/resources/wsdl/XSD_hexBinary.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_hexBinary.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_hexBinary" + targetNamespace="http://xsd_hexBinary.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_hexBinary.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:hexBinary" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:hexBinary" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:hexBinary" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:hexBinary" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:hexBinary" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:hexBinary" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:hexBinary" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:hexBinary" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:hexBinary" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_hexBinary"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_hexBinarySOAP" type="tns:XSD_hexBinary"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_hexBinary#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_hexBinary#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_hexBinary#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_hexBinary#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_hexBinary#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_hexBinary#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_hexBinary"> + <wsdl:port binding="tns:XSD_hexBinarySOAP" + name="XSD_hexBinarySOAP"> + <soap:address + location="http://localhost:9080/XSD_hexBinary/services/XSD_hexBinary" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_int.wsdl b/test/resources/wsdl/XSD_int.wsdl new file mode 100644 index 0000000..897ba94 --- /dev/null +++ b/test/resources/wsdl/XSD_int.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_int.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_int" + targetNamespace="http://xsd_int.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_int.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:int" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:int" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:int" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:int" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:int" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:int" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:int" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:int" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:int" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_int"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_intSOAP" type="tns:XSD_int"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_int#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_int#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_int#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_int#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_int#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_int#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_int"> + <wsdl:port binding="tns:XSD_intSOAP" + name="XSD_intSOAP"> + <soap:address + location="http://localhost:9080/XSD_int/services/XSD_int" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_integer.wsdl b/test/resources/wsdl/XSD_integer.wsdl new file mode 100644 index 0000000..162cc94 --- /dev/null +++ b/test/resources/wsdl/XSD_integer.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_integer.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_integer" + targetNamespace="http://xsd_integer.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_integer.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:integer" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:integer" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:integer" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:integer" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:integer" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:integer" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:integer" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:integer" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:integer" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_integer"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_integerSOAP" type="tns:XSD_integer"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_integer#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_integer#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_integer#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_integer#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_integer#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_integer#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_integer"> + <wsdl:port binding="tns:XSD_integerSOAP" + name="XSD_integerSOAP"> + <soap:address + location="http://localhost:9080/XSD_integer/services/XSD_integer" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_language.wsdl b/test/resources/wsdl/XSD_language.wsdl new file mode 100644 index 0000000..e69a08a --- /dev/null +++ b/test/resources/wsdl/XSD_language.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_language.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_language" + targetNamespace="http://xsd_language.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_language.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:language" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:language" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:language" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:language" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:language" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:language" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:language" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:language" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:language" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_language"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_languageSOAP" type="tns:XSD_language"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_language#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_language#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_language#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_language#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_language#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_language#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_language"> + <wsdl:port binding="tns:XSD_languageSOAP" + name="XSD_languageSOAP"> + <soap:address + location="http://localhost:9080/XSD_language/services/XSD_language" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_long.wsdl b/test/resources/wsdl/XSD_long.wsdl new file mode 100644 index 0000000..8d9b562 --- /dev/null +++ b/test/resources/wsdl/XSD_long.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_long.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_long" + targetNamespace="http://xsd_long.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_long.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:long" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:long" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:long" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:long" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:long" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:long" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:long" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:long" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:long" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_long"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_longSOAP" type="tns:XSD_long"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_long#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_long#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_long#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_long#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_long#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_long#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_long"> + <wsdl:port binding="tns:XSD_longSOAP" + name="XSD_longSOAP"> + <soap:address + location="http://localhost:9080/XSD_long/services/XSD_long" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_negativeInteger.wsdl b/test/resources/wsdl/XSD_negativeInteger.wsdl new file mode 100644 index 0000000..70abcda --- /dev/null +++ b/test/resources/wsdl/XSD_negativeInteger.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_negativeInteger.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_negativeInteger" + targetNamespace="http://xsd_negativeInteger.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_negativeInteger.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:negativeInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:negativeInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:negativeInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:negativeInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:negativeInteger" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:negativeInteger" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:negativeInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:negativeInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:negativeInteger" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_negativeInteger"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_negativeIntegerSOAP" type="tns:XSD_negativeInteger"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_negativeInteger#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_negativeInteger#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_negativeInteger#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_negativeInteger#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_negativeInteger#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_negativeInteger#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_negativeInteger"> + <wsdl:port binding="tns:XSD_negativeIntegerSOAP" + name="XSD_negativeIntegerSOAP"> + <soap:address + location="http://localhost:9080/XSD_negativeInteger/services/XSD_negativeInteger" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_nonNegativeInteger.wsdl b/test/resources/wsdl/XSD_nonNegativeInteger.wsdl new file mode 100644 index 0000000..b3baf36 --- /dev/null +++ b/test/resources/wsdl/XSD_nonNegativeInteger.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_nonNegativeInteger.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_nonNegativeInteger" + targetNamespace="http://xsd_nonNegativeInteger.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_nonNegativeInteger.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:nonNegativeInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:nonNegativeInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:nonNegativeInteger" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:nonNegativeInteger" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_nonNegativeInteger"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_nonNegativeIntegerSOAP" type="tns:XSD_nonNegativeInteger"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_nonNegativeInteger#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_nonNegativeInteger#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_nonNegativeInteger#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_nonNegativeInteger#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_nonNegativeInteger#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_nonNegativeInteger#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_nonNegativeInteger"> + <wsdl:port binding="tns:XSD_nonNegativeIntegerSOAP" + name="XSD_nonNegativeIntegerSOAP"> + <soap:address + location="http://localhost:9080/XSD_nonNegativeInteger/services/XSD_nonNegativeInteger" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_nonPositiveInteger.wsdl b/test/resources/wsdl/XSD_nonPositiveInteger.wsdl new file mode 100644 index 0000000..ab95c37 --- /dev/null +++ b/test/resources/wsdl/XSD_nonPositiveInteger.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_nonPositiveInteger.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_nonPositiveInteger" + targetNamespace="http://xsd_nonPositiveInteger.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_nonPositiveInteger.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:nonPositiveInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:nonPositiveInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:nonPositiveInteger" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:nonPositiveInteger" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:nonPositiveInteger" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_nonPositiveInteger"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_nonPositiveIntegerSOAP" type="tns:XSD_nonPositiveInteger"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_nonPositiveInteger#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_nonPositiveInteger#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_nonPositiveInteger#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_nonPositiveInteger#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_nonPositiveInteger#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_nonPositiveInteger#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_nonPositiveInteger"> + <wsdl:port binding="tns:XSD_nonPositiveIntegerSOAP" + name="XSD_nonPositiveIntegerSOAP"> + <soap:address + location="http://localhost:9080/XSD_nonPositiveInteger/services/XSD_nonPositiveInteger" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_normalizedString.wsdl b/test/resources/wsdl/XSD_normalizedString.wsdl new file mode 100644 index 0000000..4e44c2e --- /dev/null +++ b/test/resources/wsdl/XSD_normalizedString.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_normalizedString.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_normalizedString" + targetNamespace="http://xsd_normalizedString.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_normalizedString.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:normalizedString" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:normalizedString" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:normalizedString" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:normalizedString" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:normalizedString" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:normalizedString" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:normalizedString" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:normalizedString" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:normalizedString" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_normalizedString"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_normalizedStringSOAP" type="tns:XSD_normalizedString"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_normalizedString#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_normalizedString#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_normalizedString#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_normalizedString#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_normalizedString#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_normalizedString#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_normalizedString"> + <wsdl:port binding="tns:XSD_normalizedStringSOAP" + name="XSD_normalizedStringSOAP"> + <soap:address + location="http://localhost:9080/XSD_normalizedString/services/XSD_normalizedString" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_positiveInteger.wsdl b/test/resources/wsdl/XSD_positiveInteger.wsdl new file mode 100644 index 0000000..ce5c1bb --- /dev/null +++ b/test/resources/wsdl/XSD_positiveInteger.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_positiveInteger.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_positiveInteger" + targetNamespace="http://xsd_positiveInteger.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_positiveInteger.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:positiveInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:positiveInteger" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:positiveInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:positiveInteger" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:positiveInteger" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:positiveInteger" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:positiveInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:positiveInteger" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:positiveInteger" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_positiveInteger"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_positiveIntegerSOAP" type="tns:XSD_positiveInteger"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_positiveInteger#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_positiveInteger#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_positiveInteger#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_positiveInteger#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_positiveInteger#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_positiveInteger#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_positiveInteger"> + <wsdl:port binding="tns:XSD_positiveIntegerSOAP" + name="XSD_positiveIntegerSOAP"> + <soap:address + location="http://localhost:9080/XSD_positiveInteger/services/XSD_positiveInteger" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_short.wsdl b/test/resources/wsdl/XSD_short.wsdl new file mode 100644 index 0000000..f707d77 --- /dev/null +++ b/test/resources/wsdl/XSD_short.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_short.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_short" + targetNamespace="http://xsd_short.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_short.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:short" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:short" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:short" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:short" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:short" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:short" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:short" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:short" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:short" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_short"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_shortSOAP" type="tns:XSD_short"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_short#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_short#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_short#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_short#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_short#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_short#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_short"> + <wsdl:port binding="tns:XSD_shortSOAP" + name="XSD_shortSOAP"> + <soap:address + location="http://localhost:9080/XSD_short/services/XSD_short" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_string.wsdl b/test/resources/wsdl/XSD_string.wsdl new file mode 100644 index 0000000..f325e17 --- /dev/null +++ b/test/resources/wsdl/XSD_string.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_string.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_string" + targetNamespace="http://xsd_string.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_string.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:string" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:string" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:string" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:string" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:string" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:string" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_string"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_stringSOAP" type="tns:XSD_string"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_string#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_string#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_string#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_string#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_string#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_string#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_string"> + <wsdl:port binding="tns:XSD_stringSOAP" + name="XSD_stringSOAP"> + <soap:address + location="http://localhost:9080/XSD_string/services/XSD_string" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_time.wsdl b/test/resources/wsdl/XSD_time.wsdl new file mode 100644 index 0000000..fc47d5a --- /dev/null +++ b/test/resources/wsdl/XSD_time.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_time.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_time" + targetNamespace="http://xsd_time.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_time.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:time" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:time" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:time" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:time" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:time" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:time" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:time" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:time" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:time" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_time"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_timeSOAP" type="tns:XSD_time"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_time#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_time#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_time#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_time#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_time#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_time#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_time"> + <wsdl:port binding="tns:XSD_timeSOAP" + name="XSD_timeSOAP"> + <soap:address + location="http://localhost:9080/XSD_time/services/XSD_time" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_token.wsdl b/test/resources/wsdl/XSD_token.wsdl new file mode 100644 index 0000000..6ff5990 --- /dev/null +++ b/test/resources/wsdl/XSD_token.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_token.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_token" + targetNamespace="http://xsd_token.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_token.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:token" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:token" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:token" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:token" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:token" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:token" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:token" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:token" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:token" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_token"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_tokenSOAP" type="tns:XSD_token"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_token#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_token#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_token#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_token#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_token#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_token#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_token"> + <wsdl:port binding="tns:XSD_tokenSOAP" + name="XSD_tokenSOAP"> + <soap:address + location="http://localhost:9080/XSD_token/services/XSD_token" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_unsignedByte.wsdl b/test/resources/wsdl/XSD_unsignedByte.wsdl new file mode 100644 index 0000000..4b13551 --- /dev/null +++ b/test/resources/wsdl/XSD_unsignedByte.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_unsignedByte.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedByte" + targetNamespace="http://xsd_unsignedByte.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_unsignedByte.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedByte" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedByte" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedByte" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedByte" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:unsignedByte" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:unsignedByte" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedByte" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedByte" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_unsignedByte"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_unsignedByteSOAP" type="tns:XSD_unsignedByte"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_unsignedByte#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_unsignedByte#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_unsignedByte#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_unsignedByte#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_unsignedByte#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_unsignedByte#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_unsignedByte"> + <wsdl:port binding="tns:XSD_unsignedByteSOAP" + name="XSD_unsignedByteSOAP"> + <soap:address + location="http://localhost:9080/XSD_unsignedByte/services/XSD_unsignedByte" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_unsignedInt.wsdl b/test/resources/wsdl/XSD_unsignedInt.wsdl new file mode 100644 index 0000000..2c60e37 --- /dev/null +++ b/test/resources/wsdl/XSD_unsignedInt.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_unsignedInt.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedInt" + targetNamespace="http://xsd_unsignedInt.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_unsignedInt.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedInt" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedInt" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:unsignedInt" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:unsignedInt" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedInt" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedInt" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:unsignedInt" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_unsignedInt"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_unsignedIntSOAP" type="tns:XSD_unsignedInt"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_unsignedInt#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_unsignedInt#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_unsignedInt#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_unsignedInt#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_unsignedInt#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_unsignedInt#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_unsignedInt"> + <wsdl:port binding="tns:XSD_unsignedIntSOAP" + name="XSD_unsignedIntSOAP"> + <soap:address + location="http://localhost:9080/XSD_unsignedInt/services/XSD_unsignedInt" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_unsignedLong.wsdl b/test/resources/wsdl/XSD_unsignedLong.wsdl new file mode 100644 index 0000000..04de8dd --- /dev/null +++ b/test/resources/wsdl/XSD_unsignedLong.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_unsignedLong.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedLong" + targetNamespace="http://xsd_unsignedLong.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_unsignedLong.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedLong" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedLong" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedLong" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedLong" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:unsignedLong" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:unsignedLong" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedLong" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedLong" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:unsignedLong" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_unsignedLong"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_unsignedLongSOAP" type="tns:XSD_unsignedLong"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_unsignedLong#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_unsignedLong#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_unsignedLong#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_unsignedLong#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_unsignedLong#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_unsignedLong#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_unsignedLong"> + <wsdl:port binding="tns:XSD_unsignedLongSOAP" + name="XSD_unsignedLongSOAP"> + <soap:address + location="http://localhost:9080/XSD_unsignedLong/services/XSD_unsignedLong" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/XSD_unsignedShort.wsdl b/test/resources/wsdl/XSD_unsignedShort.wsdl new file mode 100644 index 0000000..9338c34 --- /dev/null +++ b/test/resources/wsdl/XSD_unsignedShort.wsdl @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://xsd_unsignedShort.test.apache.org" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedShort" + targetNamespace="http://xsd_unsignedShort.test.apache.org"> + <wsdl:types> + <xsd:schema + targetNamespace="http://xsd_unsignedShort.test.apache.org" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="asNonNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedShort" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AsNonNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nonNillableElement" + type="xsd:unsignedShort" nillable="false" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedShort" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asNillableElementRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="nillableElement" + type="xsd:unsignedShort" nillable="true" minOccurs="1" maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="RequiredAttributeElement"> + <xsd:attribute name="requiredAttribute" type="xsd:unsignedShort" + use="required" /> + </xsd:complexType> + <xsd:element name="asRequiredAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asRequiredAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="RequiredAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="OptionalAttributeElement"> + <xsd:attribute name="optionalAttribute" type="xsd:unsignedShort" + use="optional" /> + </xsd:complexType> + <xsd:element name="asOptionalAttributeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asOptionalAttributeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="OptionalAttributeElement" + maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedShort" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asArrayRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arrayElement" + type="xsd:unsignedShort" nillable="false" minOccurs="1" + maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="SimpleComplexType"> + <xsd:sequence> + <xsd:element name="complexTypeElement" + type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" nillable="false" /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="asComplexTypeResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="asComplexTypeRequest"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="SimpleComplexType" + type="tns:SimpleComplexType" nillable="false" minOccurs="1" + maxOccurs="1" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types> + <wsdl:message name="asNonNillableElementResponse"> + <wsdl:part element="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:message> + <wsdl:message name="asNonNillableElementRequest"> + <wsdl:part element="tns:AsNonNillableElementRequest" + name="parameters" /> + </wsdl:message> + <wsdl:message name="asNillableElementResponse"> + <wsdl:part name="asNillableElementResponse" + element="tns:asNillableElementResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asNillableElementRequest"> + <wsdl:part name="asNillableElementRequest" + element="tns:asNillableElementRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeResponse"> + <wsdl:part name="asRequiredAttributeResponse" + element="tns:asRequiredAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asRequiredAttributeRequest"> + <wsdl:part name="asRequiredAttributeRequest" + element="tns:asRequiredAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeResponse"> + <wsdl:part name="asOptionalAttributeResponse" + element="tns:asOptionalAttributeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asOptionalAttributeRequest"> + <wsdl:part name="asOptionalAttributeRequest" + element="tns:asOptionalAttributeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayResponse"> + <wsdl:part name="asArrayResponse" + element="tns:asArrayResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asArrayRequest"> + <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeResponse"> + <wsdl:part name="asComplexTypeResponse" + element="tns:asComplexTypeResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="asComplexTypeRequest"> + <wsdl:part name="asComplexTypeRequest" + element="tns:asComplexTypeRequest"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="XSD_unsignedShort"> + <wsdl:operation name="asNonNillableElement"> + <wsdl:input message="tns:asNonNillableElementRequest" + name="asNonNillableElementRequest" /> + <wsdl:output message="tns:asNonNillableElementResponse" + name="asNonNillableElementResponse" /> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <wsdl:input message="tns:asNillableElementRequest" + name="asNillableElementRequest"> + </wsdl:input> + <wsdl:output message="tns:asNillableElementResponse" + name="asNillableElementResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input> + <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <wsdl:input message="tns:asArrayRequest"></wsdl:input> + <wsdl:output message="tns:asArrayResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input> + <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="XSD_unsignedShortSOAP" type="tns:XSD_unsignedShort"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="asNonNillableElement"> + <soap:operation + soapAction="XSD_unsignedShort#asNonNillableElement" style="document" /> + <wsdl:input name="asNonNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNonNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asNillableElement"> + <soap:operation soapAction="XSD_unsignedShort#asNillableElement" + style="document" /> + <wsdl:input name="asNillableElementRequest"> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output name="asNillableElementResponse"> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asRequiredAttribute"> + <soap:operation + soapAction="XSD_unsignedShort#asRequiredAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asOptionalAttribute"> + <soap:operation + soapAction="XSD_unsignedShort#asOptionalAttribute" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asArray"> + <soap:operation soapAction="XSD_unsignedShort#asArray" style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="asComplexType"> + <soap:operation soapAction="XSD_unsignedShort#asComplexType" + style="document" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="XSD_unsignedShort"> + <wsdl:port binding="tns:XSD_unsignedShortSOAP" + name="XSD_unsignedShortSOAP"> + <soap:address + location="http://localhost:9080/XSD_unsignedShort/services/XSD_unsignedShort" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/test/resources/wsdl/inquire_v2.wsdl b/test/resources/wsdl/inquire_v2.wsdl new file mode 100644 index 0000000..44cf70c --- /dev/null +++ b/test/resources/wsdl/inquire_v2.wsdl @@ -0,0 +1,273 @@ +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:uddi-org:inquiry_v2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:uddi="urn:uddi-org:api_v2" targetNamespace="urn:uddi-org:inquiry_v2" name="UDDI_Inquiry_API_V2"> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> +<!-- See the License for the specific language governing permissions and --> +<!-- limitations under the License. --> + + <documentation> + Copyright (c) 2000 - 2002 by Accenture, Ariba, Inc., Commerce One, Inc. + Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., + Intel Corporation, International Business Machines Corporation, + Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc., + and VeriSign, Inc. All Rights Reserved. + + WSDL Service Interface for UDDI Inquiry API V2.0 + + This WSDL document defines the inquiry API calls for interacting with + the UDDI registry. The complete UDDI API specification is available + at http://www.uddi.org/specification.html. + </documentation> + <types> + <xsd:schema targetNamespace="urn:uddi-org:inquiry_v2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:import namespace="urn:uddi-org:api_v2" schemaLocation="http://www.uddi.org/schema/uddi_v2.xsd"/> + </xsd:schema> + </types> + <message name="bindingDetail"> + <part name="body" element="uddi:bindingDetail"/> + </message> + <message name="businessDetail"> + <part name="body" element="uddi:businessDetail"/> + </message> + <message name="businessDetailExt"> + <part name="body" element="uddi:businessDetailExt"/> + </message> + <message name="businessList"> + <part name="body" element="uddi:businessList"/> + </message> + <message name="dispositionReport"> + <part name="body" element="uddi:dispositionReport"/> + </message> + <message name="find_binding"> + <part name="body" element="uddi:find_binding"/> + </message> + <message name="find_business"> + <part name="body" element="uddi:find_business"/> + </message> + <message name="find_relatedBusinesses"> + <part name="body" element="uddi:find_relatedBusinesses"/> + </message> + <message name="find_service"> + <part name="body" element="uddi:find_service"/> + </message> + <message name="find_tModel"> + <part name="body" element="uddi:find_tModel"/> + </message> + <message name="get_bindingDetail"> + <part name="body" element="uddi:get_bindingDetail"/> + </message> + <message name="get_businessDetail"> + <part name="body" element="uddi:get_businessDetail"/> + </message> + <message name="get_businessDetailExt"> + <part name="body" element="uddi:get_businessDetailExt"/> + </message> + <message name="get_serviceDetail"> + <part name="body" element="uddi:get_serviceDetail"/> + </message> + <message name="get_tModelDetail"> + <part name="body" element="uddi:get_tModelDetail"/> + </message> + <message name="relatedBusinessesList"> + <part name="body" element="uddi:relatedBusinessesList"/> + </message> + <message name="serviceDetail"> + <part name="body" element="uddi:serviceDetail"/> + </message> + <message name="serviceList"> + <part name="body" element="uddi:serviceList"/> + </message> + <message name="tModelDetail"> + <part name="body" element="uddi:tModelDetail"/> + </message> + <message name="tModelList"> + <part name="body" element="uddi:tModelList"/> + </message> + <portType name="Inquire"> + <documentation> + This portType defines all of the UDDI inquiry operations. + </documentation> + <operation name="find_binding"> + <input message="tns:find_binding"/> + <output message="tns:bindingDetail"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="find_business"> + <input message="tns:find_business"/> + <output message="tns:businessList"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="find_relatedBusinesses"> + <input message="tns:find_relatedBusinesses"/> + <output message="tns:relatedBusinessesList"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="find_service"> + <input message="tns:find_service"/> + <output message="tns:serviceList"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="find_tModel"> + <input message="tns:find_tModel"/> + <output message="tns:tModelList"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="get_bindingDetail"> + <input message="tns:get_bindingDetail"/> + <output message="tns:bindingDetail"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="get_businessDetail"> + <input message="tns:get_businessDetail"/> + <output message="tns:businessDetail"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="get_businessDetailExt"> + <input message="tns:get_businessDetailExt"/> + <output message="tns:businessDetailExt"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="get_serviceDetail"> + <input message="tns:get_serviceDetail"/> + <output message="tns:serviceDetail"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + <operation name="get_tModelDetail"> + <input message="tns:get_tModelDetail"/> + <output message="tns:tModelDetail"/> + <fault name="error" message="tns:dispositionReport"/> + </operation> + </portType> + <binding name="InquireSoap" type="tns:Inquire"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <operation name="find_binding"> + <soap:operation soapAction="find_binding" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="find_business"> + <soap:operation soapAction="find_business" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="find_relatedBusinesses"> + <soap:operation soapAction="find_relatedBusinesses" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="find_service"> + <soap:operation soapAction="find_service" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="find_tModel"> + <soap:operation soapAction="find_tModel" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="get_bindingDetail"> + <soap:operation soapAction="get_bindingDetail" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="get_businessDetail"> + <soap:operation soapAction="get_businessDetail" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="get_businessDetailExt"> + <soap:operation soapAction="get_businessDetailExt" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="get_serviceDetail"> + <soap:operation soapAction="get_serviceDetail" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + <operation name="get_tModelDetail"> + <soap:operation soapAction="get_tModelDetail" style="document"/> + <input> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </input> + <output> + <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/> + </output> + <fault name="error"> + <soap:fault name="error" use="literal"/> + </fault> + </operation> + </binding> +</definitions> diff --git a/test/resources/wsdl/interoptestdoclitparameters.wsdl b/test/resources/wsdl/interoptestdoclitparameters.wsdl new file mode 100644 index 0000000..7cf3fa4 --- /dev/null +++ b/test/resources/wsdl/interoptestdoclitparameters.wsdl @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService"
+ targetNamespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://soapinterop.org/WSDLInteropTestDocLit"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd1="http://soapinterop.org/xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <types>
+ <schema targetNamespace="http://soapinterop.org/xsd"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <complexType name="ArrayOfstring_literal">
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="1" name="string" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varFloat" type="xsd:float"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varString" type="xsd:string"/>
+ </all>
+ </complexType>
+
+ <element name="echoString">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArray">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd1:ArrayOfstring_literal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArrayResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd1:ArrayOfstring_literal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStruct">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd1:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStructResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd1:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoVoid">
+ <complexType/>
+ </element>
+ <element name="echoVoidResponse">
+ <complexType/>
+ </element>
+ </schema>
+ </types>
+ <message name="echoString">
+ <part element="xsd1:echoString" name="parameters"/>
+ </message>
+ <message name="echoStringResponse">
+ <part element="xsd1:echoStringResponse" name="parameters"/>
+ </message>
+ <message name="echoStringArray">
+ <part element="xsd1:echoStringArray" name="parameters"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part element="xsd1:echoStringArrayResponse" name="parameters"/>
+ </message>
+ <message name="echoStruct">
+ <part element="xsd1:echoStruct" name="parameters"/>
+ </message>
+ <message name="echoStructResponse">
+ <part element="xsd1:echoStructResponse" name="parameters"/>
+ </message>
+ <message name="echoVoid">
+ <part element="xsd1:echoVoid" name="parameters"/>
+ </message>
+ <message name="echoVoidResponse">
+ <part element="xsd1:echoVoidResponse" name="parameters"/>
+ </message>
+ <portType name="WSDLInteropTestDocLitPortType">
+ <operation name="echoString">
+ <input message="tns:echoString" name="echoString"/>
+ <output message="tns:echoStringResponse" name="echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray">
+ <input message="tns:echoStringArray" name="echoStringArray"/>
+ <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoStruct">
+ <input message="tns:echoStruct" name="echoStruct"/>
+ <output message="tns:echoStructResponse" name="echoStructResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoid" name="echoVoid"/>
+ <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
+ </operation>
+ </portType>
+ <binding name="WSDLInteropTestDocLitPortBinding"
+ type="tns:WSDLInteropTestDocLitPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="http://soapinterop.org/echoString" style="document"/>
+ <input name="echoString">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStringResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="http://soapinterop.org/echoStringArray" style="document"/>
+ <input name="echoStringArray">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStringArrayResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="http://soapinterop.org/echoStruct" style="document"/>
+ <input name="echoStruct">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStructResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="http://soapinterop.org/echoVoid" style="document"/>
+ <input name="echoVoid">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoVoidResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="WSDLInteropTestDocLitService">
+ <port binding="tns:WSDLInteropTestDocLitPortBinding"
+ name="WSDLInteropTestDocLitParamPort">
+ <soap:address
+ location="http://www.whitemesa.net/interop/r3/doclitparam"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/nillableComplexType.wsdl b/test/resources/wsdl/nillableComplexType.wsdl new file mode 100644 index 0000000..ea224c2 --- /dev/null +++ b/test/resources/wsdl/nillableComplexType.wsdl @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/nillableComplexType"
+xmlns="http://schemas.xmlsoap.org/wsdl/"
+xmlns:apachesoap="http://xml.apache.org/xml-soap"
+xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+xmlns:impl="http://localhost/axis/nillableComplexType"
+xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:xs="nillableComplexType">
+ <wsdl:types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:import namespace="nillableComplexType" schemaLocation="nillableComplexType.xsd">
+ </xsd:import>
+ </xsd:schema>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost/axis/nillableComplexType">
+ <xsd:element name="ReportReturn">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ReportReturn"
+ type="xsd:string">
+ </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </wsdl:types>
+
+ <wsdl:message name="ReportRequest">
+ <wsdl:part name="myClass" type="xs:MyClass"/>
+ </wsdl:message>
+
+ <wsdl:message name="ReportResponse">
+ <wsdl:part name="ReportReturn" element="impl:ReportReturn"/>
+ </wsdl:message>
+
+ <wsdl:portType name="nillableComplexType">
+ <wsdl:operation name="Report">
+ <wsdl:input message="impl:ReportRequest" name="ReportRequest"/>
+ <wsdl:output message="impl:ReportResponse" name="ReportResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="nillableComplexTypeSoapBinding" type="impl:nillableComplexType">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Report">
+ <wsdlsoap:operation soapAction="nillableComplexType#Report" style="document"/>
+ <wsdl:input name="ReportRequest">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/nillableComplexType"
+ use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="ReportResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="nillableComplexType">
+ <wsdl:port binding="impl:nillableComplexTypeSoapBinding" name="nillableComplexType">
+ <wsdlsoap:address location="http://localhost/axis/nillableComplexType"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/nillableComplexType.xsd b/test/resources/wsdl/nillableComplexType.xsd new file mode 100644 index 0000000..765be56 --- /dev/null +++ b/test/resources/wsdl/nillableComplexType.xsd @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="nillableComplexType"
+ targetNamespace="nillableComplexType">
+
+<xs:complexType name="MyClass" mixed="true">
+ <xs:sequence>
+ <xs:element name="Name" form="unqualified" nillable="true" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Values" form="unqualified" nillable="true" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:base64Binary">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:NMTOKEN" use="optional" form="unqualified"/>
+</xs:complexType>
+
+</xs:schema>
diff --git a/test/resources/xml/om/axis.xml b/test/resources/xml/om/axis.xml new file mode 100644 index 0000000..bc996c5 --- /dev/null +++ b/test/resources/xml/om/axis.xml @@ -0,0 +1,25 @@ +<?xml version="1.0"?> + +<root> + + <a> + <a.1/> + <a.2/> + <a.3/> + <a.4/> + <a.5/> + </a> + + <b> + <b.1/> + <b.2/> + <b.3/> + <b.4/> + <b.5/> + <b.6/> + <b.7/> + <b.8/> + <b.9/> + </b> + +</root> diff --git a/test/resources/xml/om/basic.xml b/test/resources/xml/om/basic.xml new file mode 100644 index 0000000..88385fb --- /dev/null +++ b/test/resources/xml/om/basic.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<foo> + <bar> + <baz/> + <cheese/> + <baz/> + <cheese/> + <baz/> + </bar> +</foo> diff --git a/test/resources/xml/om/basicupdate.xml b/test/resources/xml/om/basicupdate.xml new file mode 100644 index 0000000..57d458c --- /dev/null +++ b/test/resources/xml/om/basicupdate.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<xu:modifications xmlns:xu="http://www.xmldb.org/xupdate"> + + <xu:append select="/foo/bar/cheese[1]"> + Goudse kaas + <edam type="jong belegen">Rond</edam> + </xu:append> + + <xu:remove select="/foo/bar/baz[2]"/> + + <xu:if test="/foo"> + <xu:insert-before select="/foo/bar/baz[2]"> + <cheese>More cheese!</cheese> + </xu:insert-before> + </xu:if> + + <xu:insert-before select="/foo/bar/baz[2]"> + <cheese>Even more cheese!</cheese> + </xu:insert-before> + + <xu:if test="/bar"> + <xu:insert-before select="/foo/bar/baz[2]"> + <sausages>No sausages today</sausages> + </xu:insert-before> + </xu:if> + + <xu:variable + xmlns:private="http://www.jaxen.org/private" + name="private:twice"> + <cracker/> + <!-- champagne --> + <?oisters with a bit of lemon?> + </xu:variable> + + <xu:variable name="twice" select="'Twice'"/> + + <xu:insert-after + select="/foo/bar" + xmlns:private="http://www.jaxen.org/private" + > + <xu:value-of select="$private:twice"/> + <xu:value-of select="$private:twice"/> + <xu:value-of select="$twice"/> + </xu:insert-after> + +</xu:modifications> diff --git a/test/resources/xml/om/contents.xml b/test/resources/xml/om/contents.xml new file mode 100644 index 0000000..35e3ac7 --- /dev/null +++ b/test/resources/xml/om/contents.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> + +<?xml-stylesheet href="XSL\JavaXML.html.xsl" type="text/xsl"?> +<?xml-stylesheet href="XSL\JavaXML.wml.xsl" type="text/xsl" + media="wap"?> +<?cocoon-process type="xslt"?> + +<!-- Java and XML --> +<JavaXML:Book xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml/" + xmlns:ora="http://www.oreilly.com" + xmlns:unused="http://www.unused.com" + ora:category="Java" +> + <!-- comment one --> + <!-- comment two --> + + <JavaXML:Title>Java and XML</JavaXML:Title> + <JavaXML:Contents xmlns:topic="http://www.oreilly.com/topics"> + <JavaXML:Chapter topic:focus="XML"> + <JavaXML:Heading>Introduction</JavaXML:Heading> + <JavaXML:Topic subSections="7"> + What Is It? + </JavaXML:Topic> + <JavaXML:Topic subSections="3"> + How Do I Use It? + </JavaXML:Topic> + <JavaXML:Topic subSections="4"> + Why Should I Use It? + </JavaXML:Topic> + <JavaXML:Topic subSections="0"> + What's Next? + </JavaXML:Topic> + </JavaXML:Chapter> + + <JavaXML:Chapter topic:focus="XML"> + <JavaXML:Heading>Creating XML</JavaXML:Heading> + <JavaXML:Topic subSections="0">An XML Document</JavaXML:Topic> + <JavaXML:Topic subSections="2">The Header</JavaXML:Topic> + <JavaXML:Topic subSections="6">The Content</JavaXML:Topic> + <JavaXML:Topic subSections="1">What's Next?</JavaXML:Topic> + </JavaXML:Chapter> + + <JavaXML:Chapter topic:focus="Java"> + <JavaXML:Heading>Parsing XML</JavaXML:Heading> + <JavaXML:Topic subSections="3">Getting Prepared</JavaXML:Topic> + <JavaXML:Topic subSections="3">SAX Readers</JavaXML:Topic> + <JavaXML:Topic subSections="9">Content Handlers</JavaXML:Topic> + <JavaXML:Topic subSections="4">Error Handlers</JavaXML:Topic> + <JavaXML:Topic subSections="0"> + A Better Way to Load a Parser + </JavaXML:Topic> + <JavaXML:Topic subSections="4">"Gotcha!"</JavaXML:Topic> + <JavaXML:Topic subSections="0">What's Next?</JavaXML:Topic> + </JavaXML:Chapter> + + <JavaXML:SectionBreak/> + + <JavaXML:Chapter topic:focus="Java"> + <JavaXML:Heading>Web Publishing Frameworks</JavaXML:Heading> + <JavaXML:Topic subSections="4">Selecting a Framework</JavaXML:Topic> + <JavaXML:Topic subSections="4">Installation</JavaXML:Topic> + <JavaXML:Topic subSections="3"> + Using a Publishing Framework + </JavaXML:Topic> + <JavaXML:Topic subSections="2">XSP</JavaXML:Topic> + <JavaXML:Topic subSections="3">Cocoon 2.0 and Beyond</JavaXML:Topic> + <JavaXML:Topic subSections="0">What's Next?</JavaXML:Topic> + </JavaXML:Chapter> + </JavaXML:Contents> +</JavaXML:Book> diff --git a/test/resources/xml/om/defaultNamespace.xml b/test/resources/xml/om/defaultNamespace.xml new file mode 100644 index 0000000..1e32981 --- /dev/null +++ b/test/resources/xml/om/defaultNamespace.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<a xmlns="http://dummyNamespace/"> + <b> + <c>Hello</c> + </b> +</a> diff --git a/test/resources/xml/om/evaluate.xml b/test/resources/xml/om/evaluate.xml new file mode 100644 index 0000000..90d06bd --- /dev/null +++ b/test/resources/xml/om/evaluate.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<evaluate> + <data> + <jumps> + <subject> + <the/> + <fox color="brown"/> + <speed category="quick"/> + </subject> + <over/> + <object> + <the/> + <dog color="unspecified"/> + <speed category="lazy"/> + </object> + </jumps> + </data> + + <!-- there is one element with attribute color="brown" should this + meta-test should succeed --> + + <metatest select="//@color">brown</metatest> + + <!-- there is no element with attribute category="moderate" --> + <metatest select="//speed/@category">moderate</metatest> + +</evaluate> diff --git a/test/resources/xml/om/fibo.xml b/test/resources/xml/om/fibo.xml new file mode 100644 index 0000000..9b5d0ec --- /dev/null +++ b/test/resources/xml/om/fibo.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Fibonacci_Numbers> + <fibonacci index="0">0</fibonacci> + <fibonacci index="1">1</fibonacci> + <fibonacci index="2">1</fibonacci> + <fibonacci index="3">2</fibonacci> + <fibonacci index="4">3</fibonacci> + <fibonacci index="5">5</fibonacci> + <fibonacci index="6">8</fibonacci> + <fibonacci index="7">13</fibonacci> + <fibonacci index="8">21</fibonacci> + <fibonacci index="9">34</fibonacci> + <fibonacci index="10">55</fibonacci> + <fibonacci index="11">89</fibonacci> + <fibonacci index="12">144</fibonacci> + <fibonacci index="13">233</fibonacci> + <fibonacci index="14">377</fibonacci> + <fibonacci index="15">610</fibonacci> + <fibonacci index="16">987</fibonacci> + <fibonacci index="17">1597</fibonacci> + <fibonacci index="18">2584</fibonacci> + <fibonacci index="19">4181</fibonacci> + <fibonacci index="20">6765</fibonacci> + <fibonacci index="21">10946</fibonacci> + <fibonacci index="22">17711</fibonacci> + <fibonacci index="23">28657</fibonacci> + <fibonacci index="24">46368</fibonacci> + <fibonacci index="25">75025</fibonacci> +</Fibonacci_Numbers> diff --git a/test/resources/xml/om/id.xml b/test/resources/xml/om/id.xml new file mode 100644 index 0000000..749ab20 --- /dev/null +++ b/test/resources/xml/om/id.xml @@ -0,0 +1,21 @@ +<?xml version="1.0"?> + +<!DOCTYPE foo [ + +<!ELEMENT foo (bar)> +<!ATTLIST foo id CDATA #IMPLIED> +<!ELEMENT bar (#PCDATA|cheese)*> +<!ATTLIST bar id ID #REQUIRED> +<!ELEMENT cheese (#PCDATA)> +<!ATTLIST cheese kind ID #IMPLIED> +]> + +<foo id="foobar"> + <bar id="fb1"> + baz + <cheese kind="edam">gouda</cheese> + baz + <cheese kind="gouda">cheddar</cheese> + baz + </bar> +</foo> diff --git a/test/resources/xml/om/jaxen24.xml b/test/resources/xml/om/jaxen24.xml new file mode 100644 index 0000000..9b81996 --- /dev/null +++ b/test/resources/xml/om/jaxen24.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<body><p><span></span></p><div></div></body> diff --git a/test/resources/xml/om/jaxen3.xml b/test/resources/xml/om/jaxen3.xml new file mode 100644 index 0000000..a87723a --- /dev/null +++ b/test/resources/xml/om/jaxen3.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration> + <hostname> + <val>2</val> + <attrlist> + <hostname>CE-A</hostname> + </attrlist> + </hostname> + <hostname> + <val>1</val> + <attrlist> + <hostname>CE-B</hostname> + </attrlist> + </hostname> +</Configuration> diff --git a/test/resources/xml/om/lang.xml b/test/resources/xml/om/lang.xml new file mode 100644 index 0000000..49b45db --- /dev/null +++ b/test/resources/xml/om/lang.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<e1 xml:lang="hr"> + <e2 xml:lang="en-US"> + <e3/> + </e2> + <e2 xml:lang="hu"> + <e3/> + <e3/> + <e3 xml:lang="es"/> + </e2> +</e1>
\ No newline at end of file diff --git a/test/resources/xml/om/message.xml b/test/resources/xml/om/message.xml new file mode 100644 index 0000000..3b81df2 --- /dev/null +++ b/test/resources/xml/om/message.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<message> + <header> + <service>lookupformservice</service> + <connectionid>9</connectionid> + <appid>stammdaten</appid> + <action>new</action> + </header> + <body> + <data> + <items> + <item> + <name>iteminfo</name> + <value>ELE</value> + </item> + <item> + <name>parentinfo</name> + <value>Pruefgebiete</value> + </item> + <item> + <name>id</name> + <value>1</value> + </item> + </items> + </data> + </body> +</message> diff --git a/test/resources/xml/om/moreover.xml b/test/resources/xml/om/moreover.xml new file mode 100644 index 0000000..38d4c4f --- /dev/null +++ b/test/resources/xml/om/moreover.xml @@ -0,0 +1,244 @@ +<?xml version="1.0" encoding="iso-8859-1"?> + <moreovernews> + <article code="13563275"> + <url>http://c.moreover.com/click/here.pl?x13563273</url> + <headline_text>e-Commerce Operators Present Version 1.0 of the XML Standard</headline_text> + <source>StockAccess</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.stockaccess.com/index.html</document_url> + <harvest_time>Dec 24 2000 6:28AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13560996"> + <url>http://c.moreover.com/click/here.pl?x13560995</url> + <headline_text>W3C Publishes XML Protocol Requirements Document</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 24 2000 12:22AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13553522"> + <url>http://c.moreover.com/click/here.pl?x13553521</url> + <headline_text>Prowler: Open Source XML-Based Content Management Framework</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 23 2000 2:05PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13549014"> + <url>http://c.moreover.com/click/here.pl?x13549013</url> + <headline_text>The Middleware Company Debuts Public Training Courses in Ejb, J2ee And Xml</headline_text> + <source>Java Industry Connection</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url> + <harvest_time>Dec 23 2000 12:15PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13544468"> + <url>http://c.moreover.com/click/here.pl?x13544467</url> + <headline_text>Revised Working Draft for the W3C XML Information Set</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 23 2000 5:50AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13534837"> + <url>http://c.moreover.com/click/here.pl?x13534836</url> + <headline_text>XML: Its The Great Peacemaker</headline_text> + <source>ZDNet</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.zdnet.com/intweek/</document_url> + <harvest_time>Dec 22 2000 9:05PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13533486"> + <url>http://c.moreover.com/click/here.pl?x13533485</url> + <headline_text>Project eL - The XML Leningrad Codex Markup Project</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 22 2000 8:34PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13533489"> + <url>http://c.moreover.com/click/here.pl?x13533488</url> + <headline_text>XML Linking Language (XLink) and XML Base Specifications Issued as W3C Proposed Recommenda</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 22 2000 8:34PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13533493"> + <url>http://c.moreover.com/click/here.pl?x13533492</url> + <headline_text>W3C Releases XHTML Basic Specification as a W3C Recommendation</headline_text> + <source>Xml</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.xml.com/</document_url> + <harvest_time>Dec 22 2000 8:34PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13521835"> + <url>http://c.moreover.com/click/here.pl?x13521827</url> + <headline_text>Java, Xml And Oracle9i(TM) Make A Great Team</headline_text> + <source>Java Industry Connection</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url> + <harvest_time>Dec 22 2000 3:21PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13512020"> + <url>http://c.moreover.com/click/here.pl?x13511233</url> + <headline_text>Competing initiatives to vie for security standard</headline_text> + <source>ZDNet</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.zdnet.com/eweek/filters/news/</document_url> + <harvest_time>Dec 22 2000 10:54AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13492401"> + <url>http://c.moreover.com/click/here.pl?x13492397</url> + <headline_text>Oracle Provides Developers with Great Xml Reading This Holiday Season</headline_text> + <source>Java Industry Connection</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url> + <harvest_time>Dec 21 2000 8:08PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13491296"> + <url>http://c.moreover.com/click/here.pl?x13491292</url> + <headline_text>XML as the great peacemaker - Extensible Markup Language Accomplished The Seemingly Impossible This Year: It B</headline_text> + <source>Hospitality Net</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.hospitalitynet.org/news/list.htm?c=2000</document_url> + <harvest_time>Dec 21 2000 7:45PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13484761"> + <url>http://c.moreover.com/click/here.pl?x13484758</url> + <headline_text>XML as the great peacemaker</headline_text> + <source>CNET</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://news.cnet.com/news/0-1003.html?tag=st.ne.1002.dir.1003</document_url> + <harvest_time>Dec 21 2000 4:41PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13480897"> + <url>http://c.moreover.com/click/here.pl?x13480896</url> + <headline_text>COOP Switzerland Selects Mercator as Integration Platform</headline_text> + <source>Stockhouse Canada</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.stockhouse.ca/news/</document_url> + <harvest_time>Dec 21 2000 1:55PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13471024"> + <url>http://c.moreover.com/click/here.pl?x13471023</url> + <headline_text>Competing XML Specs Move Toward a Union</headline_text> + <source>Internet World</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://www.internetworld.com/</document_url> + <harvest_time>Dec 21 2000 11:14AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13452281"> + <url>http://c.moreover.com/click/here.pl?x13452280</url> + <headline_text>Next-generation XHTML stripped down for handhelds</headline_text> + <source>CNET</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005</document_url> + <harvest_time>Dec 20 2000 9:11PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13451791"> + <url>http://c.moreover.com/click/here.pl?x13451789</url> + <headline_text>Xml Powers Oracle9i(TM) Dynamic Services</headline_text> + <source>Java Industry Connection</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url> + <harvest_time>Dec 20 2000 9:05PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13442098"> + <url>http://c.moreover.com/click/here.pl?x13442097</url> + <headline_text>XML DOM reference guide</headline_text> + <source>ASPWire</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://aspwire.com/</document_url> + <harvest_time>Dec 20 2000 6:26PM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + <article code="13424118"> + <url>http://c.moreover.com/click/here.pl?x13424117</url> + <headline_text>Repeat/Xqsite And Bowstreet Team to Deliver Integrated Xml Solutions</headline_text> + <source>Java Industry Connection</source> + <media_type>text</media_type> + <cluster>moreover...</cluster> + <tagline> </tagline> + <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url> + <harvest_time>Dec 20 2000 9:04AM</harvest_time> + <access_registration> </access_registration> + <access_status> </access_status> + </article> + </moreovernews> + diff --git a/test/resources/xml/om/much_ado.xml b/test/resources/xml/om/much_ado.xml new file mode 100644 index 0000000..f008fad --- /dev/null +++ b/test/resources/xml/om/much_ado.xml @@ -0,0 +1,6850 @@ +<?xml version="1.0"?> +<PLAY> +<TITLE>Much Ado about Nothing</TITLE> + +<FM> +<P>Text placed in the public domain by Moby Lexical Tools, 1992.</P> +<P>SGML markup by Jon Bosak, 1992-1994.</P> +<P>XML version by Jon Bosak, 1996-1998.</P> +<P>This work may be freely copied and distributed worldwide.</P> +</FM> + + +<PERSONAE> +<TITLE>Dramatis Personae</TITLE> + +<PERSONA>DON PEDRO, prince of Arragon.</PERSONA> +<PERSONA>DON JOHN, his bastard brother.</PERSONA> +<PERSONA>CLAUDIO, a young lord of Florence.</PERSONA> +<PERSONA>BENEDICK, a young lord of Padua.</PERSONA> +<PERSONA>LEONATO, governor of Messina.</PERSONA> +<PERSONA>ANTONIO, his brother.</PERSONA> +<PERSONA>BALTHASAR, attendant on Don Pedro.</PERSONA> + +<PGROUP> +<PERSONA>CONRADE</PERSONA> +<PERSONA>BORACHIO</PERSONA> +<GRPDESCR>followers of Don John.</GRPDESCR> +</PGROUP> + +<PERSONA>FRIAR FRANCIS</PERSONA> +<PERSONA>DOGBERRY, a constable.</PERSONA> +<PERSONA>VERGES, a headborough.</PERSONA> +<PERSONA>A Sexton.</PERSONA> +<PERSONA>A Boy.</PERSONA> +<PERSONA>HERO, daughter to Leonato.</PERSONA> +<PERSONA>BEATRICE, niece to Leonato.</PERSONA> + +<PGROUP> +<PERSONA>MARGARET</PERSONA> +<PERSONA>URSULA</PERSONA> +<GRPDESCR>gentlewomen attending on Hero.</GRPDESCR> +</PGROUP> + +<PERSONA>Messengers, Watch, Attendants, &c. </PERSONA> +</PERSONAE> + +<SCNDESCR>SCENE Messina.</SCNDESCR> + +<PLAYSUBT>MUCH ADO ABOUT NOTHING</PLAYSUBT> + +<ACT><TITLE>ACT I</TITLE> + +<SCENE><TITLE>SCENE I. Before LEONATO'S house.</TITLE> +<STAGEDIR>Enter LEONATO, HERO, and BEATRICE, with a +Messenger</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I learn in this letter that Don Peter of Arragon</LINE> +<LINE>comes this night to Messina.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>He is very near by this: he was not three leagues off</LINE> +<LINE>when I left him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>How many gentlemen have you lost in this action?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>But few of any sort, and none of name.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>A victory is twice itself when the achiever brings</LINE> +<LINE>home full numbers. I find here that Don Peter hath</LINE> +<LINE>bestowed much honour on a young Florentine called Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>Much deserved on his part and equally remembered by</LINE> +<LINE>Don Pedro: he hath borne himself beyond the</LINE> +<LINE>promise of his age, doing, in the figure of a lamb,</LINE> +<LINE>the feats of a lion: he hath indeed better</LINE> +<LINE>bettered expectation than you must expect of me to</LINE> +<LINE>tell you how.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>He hath an uncle here in Messina will be very much</LINE> +<LINE>glad of it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>I have already delivered him letters, and there</LINE> +<LINE>appears much joy in him; even so much that joy could</LINE> +<LINE>not show itself modest enough without a badge of</LINE> +<LINE>bitterness.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Did he break out into tears?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>In great measure.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>A kind overflow of kindness: there are no faces</LINE> +<LINE>truer than those that are so washed. How much</LINE> +<LINE>better is it to weep at joy than to joy at weeping!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I pray you, is Signior Mountanto returned from the</LINE> +<LINE>wars or no?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>I know none of that name, lady: there was none such</LINE> +<LINE>in the army of any sort.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What is he that you ask for, niece?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>My cousin means Signior Benedick of Padua.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>O, he's returned; and as pleasant as ever he was.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>He set up his bills here in Messina and challenged</LINE> +<LINE>Cupid at the flight; and my uncle's fool, reading</LINE> +<LINE>the challenge, subscribed for Cupid, and challenged</LINE> +<LINE>him at the bird-bolt. I pray you, how many hath he</LINE> +<LINE>killed and eaten in these wars? But how many hath</LINE> +<LINE>he killed? for indeed I promised to eat all of his killing.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Faith, niece, you tax Signior Benedick too much;</LINE> +<LINE>but he'll be meet with you, I doubt it not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>He hath done good service, lady, in these wars.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You had musty victual, and he hath holp to eat it:</LINE> +<LINE>he is a very valiant trencherman; he hath an</LINE> +<LINE>excellent stomach.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>And a good soldier too, lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>And a good soldier to a lady: but what is he to a lord?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>A lord to a lord, a man to a man; stuffed with all</LINE> +<LINE>honourable virtues.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>It is so, indeed; he is no less than a stuffed man:</LINE> +<LINE>but for the stuffing,--well, we are all mortal.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>You must not, sir, mistake my niece. There is a</LINE> +<LINE>kind of merry war betwixt Signior Benedick and her:</LINE> +<LINE>they never meet but there's a skirmish of wit</LINE> +<LINE>between them.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Alas! he gets nothing by that. In our last</LINE> +<LINE>conflict four of his five wits went halting off, and</LINE> +<LINE>now is the whole man governed with one: so that if</LINE> +<LINE>he have wit enough to keep himself warm, let him</LINE> +<LINE>bear it for a difference between himself and his</LINE> +<LINE>horse; for it is all the wealth that he hath left,</LINE> +<LINE>to be known a reasonable creature. Who is his</LINE> +<LINE>companion now? He hath every month a new sworn brother.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>Is't possible?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Very easily possible: he wears his faith but as</LINE> +<LINE>the fashion of his hat; it ever changes with the</LINE> +<LINE>next block.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>I see, lady, the gentleman is not in your books.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No; an he were, I would burn my study. But, I pray</LINE> +<LINE>you, who is his companion? Is there no young</LINE> +<LINE>squarer now that will make a voyage with him to the devil?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>He is most in the company of the right noble Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>O Lord, he will hang upon him like a disease: he</LINE> +<LINE>is sooner caught than the pestilence, and the taker</LINE> +<LINE>runs presently mad. God help the noble Claudio! if</LINE> +<LINE>he have caught the Benedick, it will cost him a</LINE> +<LINE>thousand pound ere a' be cured.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>I will hold friends with you, lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Do, good friend.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>You will never run mad, niece.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, not till a hot January.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>Don Pedro is approached.</LINE> +</SPEECH> + + +<STAGEDIR>Enter DON PEDRO, DON JOHN, CLAUDIO, BENEDICK, +and BALTHASAR</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good Signior Leonato, you are come to meet your</LINE> +<LINE>trouble: the fashion of the world is to avoid</LINE> +<LINE>cost, and you encounter it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Never came trouble to my house in the likeness of</LINE> +<LINE>your grace: for trouble being gone, comfort should</LINE> +<LINE>remain; but when you depart from me, sorrow abides</LINE> +<LINE>and happiness takes his leave.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>You embrace your charge too willingly. I think this</LINE> +<LINE>is your daughter.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Her mother hath many times told me so.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Were you in doubt, sir, that you asked her?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Signior Benedick, no; for then were you a child.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>You have it full, Benedick: we may guess by this</LINE> +<LINE>what you are, being a man. Truly, the lady fathers</LINE> +<LINE>herself. Be happy, lady; for you are like an</LINE> +<LINE>honourable father.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>If Signior Leonato be her father, she would not</LINE> +<LINE>have his head on her shoulders for all Messina, as</LINE> +<LINE>like him as she is.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I wonder that you will still be talking, Signior</LINE> +<LINE>Benedick: nobody marks you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>What, my dear Lady Disdain! are you yet living?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Is it possible disdain should die while she hath</LINE> +<LINE>such meet food to feed it as Signior Benedick?</LINE> +<LINE>Courtesy itself must convert to disdain, if you come</LINE> +<LINE>in her presence.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Then is courtesy a turncoat. But it is certain I</LINE> +<LINE>am loved of all ladies, only you excepted: and I</LINE> +<LINE>would I could find in my heart that I had not a hard</LINE> +<LINE>heart; for, truly, I love none.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>A dear happiness to women: they would else have</LINE> +<LINE>been troubled with a pernicious suitor. I thank God</LINE> +<LINE>and my cold blood, I am of your humour for that: I</LINE> +<LINE>had rather hear my dog bark at a crow than a man</LINE> +<LINE>swear he loves me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>God keep your ladyship still in that mind! so some</LINE> +<LINE>gentleman or other shall 'scape a predestinate</LINE> +<LINE>scratched face.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Scratching could not make it worse, an 'twere such</LINE> +<LINE>a face as yours were.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Well, you are a rare parrot-teacher.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>A bird of my tongue is better than a beast of yours.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I would my horse had the speed of your tongue, and</LINE> +<LINE>so good a continuer. But keep your way, i' God's</LINE> +<LINE>name; I have done.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You always end with a jade's trick: I know you of old.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>That is the sum of all, Leonato. Signior Claudio</LINE> +<LINE>and Signior Benedick, my dear friend Leonato hath</LINE> +<LINE>invited you all. I tell him we shall stay here at</LINE> +<LINE>the least a month; and he heartily prays some</LINE> +<LINE>occasion may detain us longer. I dare swear he is no</LINE> +<LINE>hypocrite, but prays from his heart.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>If you swear, my lord, you shall not be forsworn.</LINE> +<STAGEDIR>To DON JOHN</STAGEDIR> +<LINE>Let me bid you welcome, my lord: being reconciled to</LINE> +<LINE>the prince your brother, I owe you all duty.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I thank you: I am not of many words, but I thank</LINE> +<LINE>you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Please it your grace lead on?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Your hand, Leonato; we will go together.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt all except BENEDICK and CLAUDIO</STAGEDIR> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Benedick, didst thou note the daughter of Signior Leonato?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I noted her not; but I looked on her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Is she not a modest young lady?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Do you question me, as an honest man should do, for</LINE> +<LINE>my simple true judgment; or would you have me speak</LINE> +<LINE>after my custom, as being a professed tyrant to their sex?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>No; I pray thee speak in sober judgment.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Why, i' faith, methinks she's too low for a high</LINE> +<LINE>praise, too brown for a fair praise and too little</LINE> +<LINE>for a great praise: only this commendation I can</LINE> +<LINE>afford her, that were she other than she is, she</LINE> +<LINE>were unhandsome; and being no other but as she is, I</LINE> +<LINE>do not like her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Thou thinkest I am in sport: I pray thee tell me</LINE> +<LINE>truly how thou likest her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Would you buy her, that you inquire after her?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Can the world buy such a jewel?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Yea, and a case to put it into. But speak you this</LINE> +<LINE>with a sad brow? or do you play the flouting Jack,</LINE> +<LINE>to tell us Cupid is a good hare-finder and Vulcan a</LINE> +<LINE>rare carpenter? Come, in what key shall a man take</LINE> +<LINE>you, to go in the song?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>In mine eye she is the sweetest lady that ever I</LINE> +<LINE>looked on.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I can see yet without spectacles and I see no such</LINE> +<LINE>matter: there's her cousin, an she were not</LINE> +<LINE>possessed with a fury, exceeds her as much in beauty</LINE> +<LINE>as the first of May doth the last of December. But I</LINE> +<LINE>hope you have no intent to turn husband, have you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I would scarce trust myself, though I had sworn the</LINE> +<LINE>contrary, if Hero would be my wife.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Is't come to this? In faith, hath not the world</LINE> +<LINE>one man but he will wear his cap with suspicion?</LINE> +<LINE>Shall I never see a bachelor of three-score again?</LINE> +<LINE>Go to, i' faith; an thou wilt needs thrust thy neck</LINE> +<LINE>into a yoke, wear the print of it and sigh away</LINE> +<LINE>Sundays. Look Don Pedro is returned to seek you.</LINE> +</SPEECH> + + +<STAGEDIR>Re-enter DON PEDRO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What secret hath held you here, that you followed</LINE> +<LINE>not to Leonato's?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I would your grace would constrain me to tell.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I charge thee on thy allegiance.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>You hear, Count Claudio: I can be secret as a dumb</LINE> +<LINE>man; I would have you think so; but, on my</LINE> +<LINE>allegiance, mark you this, on my allegiance. He is</LINE> +<LINE>in love. With who? now that is your grace's part.</LINE> +<LINE>Mark how short his answer is;--With Hero, Leonato's</LINE> +<LINE>short daughter.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If this were so, so were it uttered.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Like the old tale, my lord: 'it is not so, nor</LINE> +<LINE>'twas not so, but, indeed, God forbid it should be</LINE> +<LINE>so.'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If my passion change not shortly, God forbid it</LINE> +<LINE>should be otherwise.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Amen, if you love her; for the lady is very well worthy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>You speak this to fetch me in, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>By my troth, I speak my thought.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And, in faith, my lord, I spoke mine.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And, by my two faiths and troths, my lord, I spoke mine.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>That I love her, I feel.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>That she is worthy, I know.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>That I neither feel how she should be loved nor</LINE> +<LINE>know how she should be worthy, is the opinion that</LINE> +<LINE>fire cannot melt out of me: I will die in it at the stake.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Thou wast ever an obstinate heretic in the despite</LINE> +<LINE>of beauty.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And never could maintain his part but in the force</LINE> +<LINE>of his will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>That a woman conceived me, I thank her; that she</LINE> +<LINE>brought me up, I likewise give her most humble</LINE> +<LINE>thanks: but that I will have a recheat winded in my</LINE> +<LINE>forehead, or hang my bugle in an invisible baldrick,</LINE> +<LINE>all women shall pardon me. Because I will not do</LINE> +<LINE>them the wrong to mistrust any, I will do myself the</LINE> +<LINE>right to trust none; and the fine is, for the which</LINE> +<LINE>I may go the finer, I will live a bachelor.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I shall see thee, ere I die, look pale with love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>With anger, with sickness, or with hunger, my lord,</LINE> +<LINE>not with love: prove that ever I lose more blood</LINE> +<LINE>with love than I will get again with drinking, pick</LINE> +<LINE>out mine eyes with a ballad-maker's pen and hang me</LINE> +<LINE>up at the door of a brothel-house for the sign of</LINE> +<LINE>blind Cupid.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Well, if ever thou dost fall from this faith, thou</LINE> +<LINE>wilt prove a notable argument.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>If I do, hang me in a bottle like a cat and shoot</LINE> +<LINE>at me; and he that hits me, let him be clapped on</LINE> +<LINE>the shoulder, and called Adam.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Well, as time shall try: 'In time the savage bull</LINE> +<LINE>doth bear the yoke.'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>The savage bull may; but if ever the sensible</LINE> +<LINE>Benedick bear it, pluck off the bull's horns and set</LINE> +<LINE>them in my forehead: and let me be vilely painted,</LINE> +<LINE>and in such great letters as they write 'Here is</LINE> +<LINE>good horse to hire,' let them signify under my sign</LINE> +<LINE>'Here you may see Benedick the married man.'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If this should ever happen, thou wouldst be horn-mad.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Nay, if Cupid have not spent all his quiver in</LINE> +<LINE>Venice, thou wilt quake for this shortly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I look for an earthquake too, then.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Well, you temporize with the hours. In the</LINE> +<LINE>meantime, good Signior Benedick, repair to</LINE> +<LINE>Leonato's: commend me to him and tell him I will</LINE> +<LINE>not fail him at supper; for indeed he hath made</LINE> +<LINE>great preparation.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I have almost matter enough in me for such an</LINE> +<LINE>embassage; and so I commit you--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>To the tuition of God: From my house, if I had it,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>The sixth of July: Your loving friend, Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Nay, mock not, mock not. The body of your</LINE> +<LINE>discourse is sometime guarded with fragments, and</LINE> +<LINE>the guards are but slightly basted on neither: ere</LINE> +<LINE>you flout old ends any further, examine your</LINE> +<LINE>conscience: and so I leave you.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>My liege, your highness now may do me good.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>My love is thine to teach: teach it but how,</LINE> +<LINE>And thou shalt see how apt it is to learn</LINE> +<LINE>Any hard lesson that may do thee good.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Hath Leonato any son, my lord?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>No child but Hero; she's his only heir.</LINE> +<LINE>Dost thou affect her, Claudio?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O, my lord,</LINE> +<LINE>When you went onward on this ended action,</LINE> +<LINE>I look'd upon her with a soldier's eye,</LINE> +<LINE>That liked, but had a rougher task in hand</LINE> +<LINE>Than to drive liking to the name of love:</LINE> +<LINE>But now I am return'd and that war-thoughts</LINE> +<LINE>Have left their places vacant, in their rooms</LINE> +<LINE>Come thronging soft and delicate desires,</LINE> +<LINE>All prompting me how fair young Hero is,</LINE> +<LINE>Saying, I liked her ere I went to wars.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Thou wilt be like a lover presently</LINE> +<LINE>And tire the hearer with a book of words.</LINE> +<LINE>If thou dost love fair Hero, cherish it,</LINE> +<LINE>And I will break with her and with her father,</LINE> +<LINE>And thou shalt have her. Was't not to this end</LINE> +<LINE>That thou began'st to twist so fine a story?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>How sweetly you do minister to love,</LINE> +<LINE>That know love's grief by his complexion!</LINE> +<LINE>But lest my liking might too sudden seem,</LINE> +<LINE>I would have salved it with a longer treatise.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What need the bridge much broader than the flood?</LINE> +<LINE>The fairest grant is the necessity.</LINE> +<LINE>Look, what will serve is fit: 'tis once, thou lovest,</LINE> +<LINE>And I will fit thee with the remedy.</LINE> +<LINE>I know we shall have revelling to-night:</LINE> +<LINE>I will assume thy part in some disguise</LINE> +<LINE>And tell fair Hero I am Claudio,</LINE> +<LINE>And in her bosom I'll unclasp my heart</LINE> +<LINE>And take her hearing prisoner with the force</LINE> +<LINE>And strong encounter of my amorous tale:</LINE> +<LINE>Then after to her father will I break;</LINE> +<LINE>And the conclusion is, she shall be thine.</LINE> +<LINE>In practise let us put it presently.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE II. A room in LEONATO's house.</TITLE> +<STAGEDIR>Enter LEONATO and ANTONIO, meeting</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>How now, brother! Where is my cousin, your son?</LINE> +<LINE>hath he provided this music?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>He is very busy about it. But, brother, I can tell</LINE> +<LINE>you strange news that you yet dreamt not of.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Are they good?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>As the event stamps them: but they have a good</LINE> +<LINE>cover; they show well outward. The prince and Count</LINE> +<LINE>Claudio, walking in a thick-pleached alley in mine</LINE> +<LINE>orchard, were thus much overheard by a man of mine:</LINE> +<LINE>the prince discovered to Claudio that he loved my</LINE> +<LINE>niece your daughter and meant to acknowledge it</LINE> +<LINE>this night in a dance: and if he found her</LINE> +<LINE>accordant, he meant to take the present time by the</LINE> +<LINE>top and instantly break with you of it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Hath the fellow any wit that told you this?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>A good sharp fellow: I will send for him; and</LINE> +<LINE>question him yourself.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No, no; we will hold it as a dream till it appear</LINE> +<LINE>itself: but I will acquaint my daughter withal,</LINE> +<LINE>that she may be the better prepared for an answer,</LINE> +<LINE>if peradventure this be true. Go you and tell her of it.</LINE> +<STAGEDIR>Enter Attendants</STAGEDIR> +<LINE>Cousins, you know what you have to do. O, I cry you</LINE> +<LINE>mercy, friend; go you with me, and I will use your</LINE> +<LINE>skill. Good cousin, have a care this busy time.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE III. The same.</TITLE> +<STAGEDIR>Enter DON JOHN and CONRADE</STAGEDIR> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>What the good-year, my lord! why are you thus out</LINE> +<LINE>of measure sad?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>There is no measure in the occasion that breeds;</LINE> +<LINE>therefore the sadness is without limit.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>You should hear reason.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>And when I have heard it, what blessing brings it?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>If not a present remedy, at least a patient</LINE> +<LINE>sufferance.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I wonder that thou, being, as thou sayest thou art,</LINE> +<LINE>born under Saturn, goest about to apply a moral</LINE> +<LINE>medicine to a mortifying mischief. I cannot hide</LINE> +<LINE>what I am: I must be sad when I have cause and smile</LINE> +<LINE>at no man's jests, eat when I have stomach and wait</LINE> +<LINE>for no man's leisure, sleep when I am drowsy and</LINE> +<LINE>tend on no man's business, laugh when I am merry and</LINE> +<LINE>claw no man in his humour.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Yea, but you must not make the full show of this</LINE> +<LINE>till you may do it without controlment. You have of</LINE> +<LINE>late stood out against your brother, and he hath</LINE> +<LINE>ta'en you newly into his grace; where it is</LINE> +<LINE>impossible you should take true root but by the</LINE> +<LINE>fair weather that you make yourself: it is needful</LINE> +<LINE>that you frame the season for your own harvest.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I had rather be a canker in a hedge than a rose in</LINE> +<LINE>his grace, and it better fits my blood to be</LINE> +<LINE>disdained of all than to fashion a carriage to rob</LINE> +<LINE>love from any: in this, though I cannot be said to</LINE> +<LINE>be a flattering honest man, it must not be denied</LINE> +<LINE>but I am a plain-dealing villain. I am trusted with</LINE> +<LINE>a muzzle and enfranchised with a clog; therefore I</LINE> +<LINE>have decreed not to sing in my cage. If I had my</LINE> +<LINE>mouth, I would bite; if I had my liberty, I would do</LINE> +<LINE>my liking: in the meantime let me be that I am and</LINE> +<LINE>seek not to alter me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Can you make no use of your discontent?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I make all use of it, for I use it only.</LINE> +<LINE>Who comes here?</LINE> +<STAGEDIR>Enter BORACHIO</STAGEDIR> +<LINE>What news, Borachio?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>I came yonder from a great supper: the prince your</LINE> +<LINE>brother is royally entertained by Leonato: and I</LINE> +<LINE>can give you intelligence of an intended marriage.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Will it serve for any model to build mischief on?</LINE> +<LINE>What is he for a fool that betroths himself to</LINE> +<LINE>unquietness?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Marry, it is your brother's right hand.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Who? the most exquisite Claudio?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Even he.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>A proper squire! And who, and who? which way looks</LINE> +<LINE>he?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Marry, on Hero, the daughter and heir of Leonato.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>A very forward March-chick! How came you to this?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Being entertained for a perfumer, as I was smoking a</LINE> +<LINE>musty room, comes me the prince and Claudio, hand</LINE> +<LINE>in hand in sad conference: I whipt me behind the</LINE> +<LINE>arras; and there heard it agreed upon that the</LINE> +<LINE>prince should woo Hero for himself, and having</LINE> +<LINE>obtained her, give her to Count Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Come, come, let us thither: this may prove food to</LINE> +<LINE>my displeasure. That young start-up hath all the</LINE> +<LINE>glory of my overthrow: if I can cross him any way, I</LINE> +<LINE>bless myself every way. You are both sure, and will assist me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>To the death, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Let us to the great supper: their cheer is the</LINE> +<LINE>greater that I am subdued. Would the cook were of</LINE> +<LINE>my mind! Shall we go prove what's to be done?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>We'll wait upon your lordship.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +</ACT> + +<ACT><TITLE>ACT II</TITLE> + +<SCENE><TITLE>SCENE I. A hall in LEONATO'S house.</TITLE> +<STAGEDIR>Enter LEONATO, ANTONIO, HERO, BEATRICE, and others</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Was not Count John here at supper?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>I saw him not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>How tartly that gentleman looks! I never can see</LINE> +<LINE>him but I am heart-burned an hour after.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>He is of a very melancholy disposition.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>He were an excellent man that were made just in the</LINE> +<LINE>midway between him and Benedick: the one is too</LINE> +<LINE>like an image and says nothing, and the other too</LINE> +<LINE>like my lady's eldest son, evermore tattling.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Then half Signior Benedick's tongue in Count John's</LINE> +<LINE>mouth, and half Count John's melancholy in Signior</LINE> +<LINE>Benedick's face,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>With a good leg and a good foot, uncle, and money</LINE> +<LINE>enough in his purse, such a man would win any woman</LINE> +<LINE>in the world, if a' could get her good-will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>By my troth, niece, thou wilt never get thee a</LINE> +<LINE>husband, if thou be so shrewd of thy tongue.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>In faith, she's too curst.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Too curst is more than curst: I shall lessen God's</LINE> +<LINE>sending that way; for it is said, 'God sends a curst</LINE> +<LINE>cow short horns;' but to a cow too curst he sends none.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>So, by being too curst, God will send you no horns.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Just, if he send me no husband; for the which</LINE> +<LINE>blessing I am at him upon my knees every morning and</LINE> +<LINE>evening. Lord, I could not endure a husband with a</LINE> +<LINE>beard on his face: I had rather lie in the woollen.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>You may light on a husband that hath no beard.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>What should I do with him? dress him in my apparel</LINE> +<LINE>and make him my waiting-gentlewoman? He that hath a</LINE> +<LINE>beard is more than a youth, and he that hath no</LINE> +<LINE>beard is less than a man: and he that is more than</LINE> +<LINE>a youth is not for me, and he that is less than a</LINE> +<LINE>man, I am not for him: therefore, I will even take</LINE> +<LINE>sixpence in earnest of the bear-ward, and lead his</LINE> +<LINE>apes into hell.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Well, then, go you into hell?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, but to the gate; and there will the devil meet</LINE> +<LINE>me, like an old cuckold, with horns on his head, and</LINE> +<LINE>say 'Get you to heaven, Beatrice, get you to</LINE> +<LINE>heaven; here's no place for you maids:' so deliver</LINE> +<LINE>I up my apes, and away to Saint Peter for the</LINE> +<LINE>heavens; he shows me where the bachelors sit, and</LINE> +<LINE>there live we as merry as the day is long.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE><STAGEDIR>To HERO</STAGEDIR> Well, niece, I trust you will be ruled</LINE> +<LINE>by your father.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yes, faith; it is my cousin's duty to make curtsy</LINE> +<LINE>and say 'Father, as it please you.' But yet for all</LINE> +<LINE>that, cousin, let him be a handsome fellow, or else</LINE> +<LINE>make another curtsy and say 'Father, as it please</LINE> +<LINE>me.'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Well, niece, I hope to see you one day fitted with a husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Not till God make men of some other metal than</LINE> +<LINE>earth. Would it not grieve a woman to be</LINE> +<LINE>overmastered with a pierce of valiant dust? to make</LINE> +<LINE>an account of her life to a clod of wayward marl?</LINE> +<LINE>No, uncle, I'll none: Adam's sons are my brethren;</LINE> +<LINE>and, truly, I hold it a sin to match in my kindred.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Daughter, remember what I told you: if the prince</LINE> +<LINE>do solicit you in that kind, you know your answer.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>The fault will be in the music, cousin, if you be</LINE> +<LINE>not wooed in good time: if the prince be too</LINE> +<LINE>important, tell him there is measure in every thing</LINE> +<LINE>and so dance out the answer. For, hear me, Hero:</LINE> +<LINE>wooing, wedding, and repenting, is as a Scotch jig,</LINE> +<LINE>a measure, and a cinque pace: the first suit is hot</LINE> +<LINE>and hasty, like a Scotch jig, and full as</LINE> +<LINE>fantastical; the wedding, mannerly-modest, as a</LINE> +<LINE>measure, full of state and ancientry; and then comes</LINE> +<LINE>repentance and, with his bad legs, falls into the</LINE> +<LINE>cinque pace faster and faster, till he sink into his grave.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Cousin, you apprehend passing shrewdly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I have a good eye, uncle; I can see a church by daylight.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>The revellers are entering, brother: make good room.</LINE> +</SPEECH> + +<STAGEDIR>All put on their masks</STAGEDIR> +<STAGEDIR>Enter DON PEDRO, CLAUDIO, BENEDICK, BALTHASAR, +DON JOHN, BORACHIO, MARGARET, URSULA and others, masked</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Lady, will you walk about with your friend?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>So you walk softly and look sweetly and say nothing,</LINE> +<LINE>I am yours for the walk; and especially when I walk away.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>With me in your company?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>I may say so, when I please.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And when please you to say so?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>When I like your favour; for God defend the lute</LINE> +<LINE>should be like the case!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>My visor is Philemon's roof; within the house is Jove.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Why, then, your visor should be thatched.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Speak low, if you speak love.</LINE> +</SPEECH> + + +<STAGEDIR>Drawing her aside</STAGEDIR> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Well, I would you did like me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>So would not I, for your own sake; for I have many</LINE> +<LINE>ill-qualities.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Which is one?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>I say my prayers aloud.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>I love you the better: the hearers may cry, Amen.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>God match me with a good dancer!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Amen.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>And God keep him out of my sight when the dance is</LINE> +<LINE>done! Answer, clerk.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>No more words: the clerk is answered.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>I know you well enough; you are Signior Antonio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>At a word, I am not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>I know you by the waggling of your head.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>To tell you true, I counterfeit him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>You could never do him so ill-well, unless you were</LINE> +<LINE>the very man. Here's his dry hand up and down: you</LINE> +<LINE>are he, you are he.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>At a word, I am not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Come, come, do you think I do not know you by your</LINE> +<LINE>excellent wit? can virtue hide itself? Go to,</LINE> +<LINE>mum, you are he: graces will appear, and there's an</LINE> +<LINE>end.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Will you not tell me who told you so?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>No, you shall pardon me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Nor will you not tell me who you are?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Not now.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>That I was disdainful, and that I had my good wit</LINE> +<LINE>out of the 'Hundred Merry Tales:'--well this was</LINE> +<LINE>Signior Benedick that said so.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>What's he?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I am sure you know him well enough.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Not I, believe me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Did he never make you laugh?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I pray you, what is he?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Why, he is the prince's jester: a very dull fool;</LINE> +<LINE>only his gift is in devising impossible slanders:</LINE> +<LINE>none but libertines delight in him; and the</LINE> +<LINE>commendation is not in his wit, but in his villany;</LINE> +<LINE>for he both pleases men and angers them, and then</LINE> +<LINE>they laugh at him and beat him. I am sure he is in</LINE> +<LINE>the fleet: I would he had boarded me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>When I know the gentleman, I'll tell him what you say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Do, do: he'll but break a comparison or two on me;</LINE> +<LINE>which, peradventure not marked or not laughed at,</LINE> +<LINE>strikes him into melancholy; and then there's a</LINE> +<LINE>partridge wing saved, for the fool will eat no</LINE> +<LINE>supper that night.</LINE> +<STAGEDIR>Music</STAGEDIR> +<LINE>We must follow the leaders.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>In every good thing.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Nay, if they lead to any ill, I will leave them at</LINE> +<LINE>the next turning.</LINE> +</SPEECH> + + +<STAGEDIR>Dance. Then exeunt all except DON JOHN, BORACHIO, +and CLAUDIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Sure my brother is amorous on Hero and hath</LINE> +<LINE>withdrawn her father to break with him about it.</LINE> +<LINE>The ladies follow her and but one visor remains.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>And that is Claudio: I know him by his bearing.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Are not you Signior Benedick?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>You know me well; I am he.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Signior, you are very near my brother in his love:</LINE> +<LINE>he is enamoured on Hero; I pray you, dissuade him</LINE> +<LINE>from her: she is no equal for his birth: you may</LINE> +<LINE>do the part of an honest man in it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>How know you he loves her?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I heard him swear his affection.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>So did I too; and he swore he would marry her to-night.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Come, let us to the banquet.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt DON JOHN and BORACHIO</STAGEDIR> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Thus answer I in the name of Benedick,</LINE> +<LINE>But hear these ill news with the ears of Claudio.</LINE> +<LINE>'Tis certain so; the prince wooes for himself.</LINE> +<LINE>Friendship is constant in all other things</LINE> +<LINE>Save in the office and affairs of love:</LINE> +<LINE>Therefore, all hearts in love use their own tongues;</LINE> +<LINE>Let every eye negotiate for itself</LINE> +<LINE>And trust no agent; for beauty is a witch</LINE> +<LINE>Against whose charms faith melteth into blood.</LINE> +<LINE>This is an accident of hourly proof,</LINE> +<LINE>Which I mistrusted not. Farewell, therefore, Hero!</LINE> +</SPEECH> + + +<STAGEDIR>Re-enter BENEDICK</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Count Claudio?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Yea, the same.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Come, will you go with me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Whither?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Even to the next willow, about your own business,</LINE> +<LINE>county. What fashion will you wear the garland of?</LINE> +<LINE>about your neck, like an usurer's chain? or under</LINE> +<LINE>your arm, like a lieutenant's scarf? You must wear</LINE> +<LINE>it one way, for the prince hath got your Hero.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I wish him joy of her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Why, that's spoken like an honest drovier: so they</LINE> +<LINE>sell bullocks. But did you think the prince would</LINE> +<LINE>have served you thus?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I pray you, leave me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Ho! now you strike like the blind man: 'twas the</LINE> +<LINE>boy that stole your meat, and you'll beat the post.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If it will not be, I'll leave you.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Alas, poor hurt fowl! now will he creep into sedges.</LINE> +<LINE>But that my Lady Beatrice should know me, and not</LINE> +<LINE>know me! The prince's fool! Ha? It may be I go</LINE> +<LINE>under that title because I am merry. Yea, but so I</LINE> +<LINE>am apt to do myself wrong; I am not so reputed: it</LINE> +<LINE>is the base, though bitter, disposition of Beatrice</LINE> +<LINE>that puts the world into her person and so gives me</LINE> +<LINE>out. Well, I'll be revenged as I may.</LINE> +</SPEECH> + + +<STAGEDIR>Re-enter DON PEDRO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Now, signior, where's the count? did you see him?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Troth, my lord, I have played the part of Lady Fame.</LINE> +<LINE>I found him here as melancholy as a lodge in a</LINE> +<LINE>warren: I told him, and I think I told him true,</LINE> +<LINE>that your grace had got the good will of this young</LINE> +<LINE>lady; and I offered him my company to a willow-tree,</LINE> +<LINE>either to make him a garland, as being forsaken, or</LINE> +<LINE>to bind him up a rod, as being worthy to be whipped.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>To be whipped! What's his fault?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>The flat transgression of a schoolboy, who, being</LINE> +<LINE>overjoyed with finding a birds' nest, shows it his</LINE> +<LINE>companion, and he steals it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Wilt thou make a trust a transgression? The</LINE> +<LINE>transgression is in the stealer.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Yet it had not been amiss the rod had been made,</LINE> +<LINE>and the garland too; for the garland he might have</LINE> +<LINE>worn himself, and the rod he might have bestowed on</LINE> +<LINE>you, who, as I take it, have stolen his birds' nest.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I will but teach them to sing, and restore them to</LINE> +<LINE>the owner.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>If their singing answer your saying, by my faith,</LINE> +<LINE>you say honestly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>The Lady Beatrice hath a quarrel to you: the</LINE> +<LINE>gentleman that danced with her told her she is much</LINE> +<LINE>wronged by you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>O, she misused me past the endurance of a block!</LINE> +<LINE>an oak but with one green leaf on it would have</LINE> +<LINE>answered her; my very visor began to assume life and</LINE> +<LINE>scold with her. She told me, not thinking I had been</LINE> +<LINE>myself, that I was the prince's jester, that I was</LINE> +<LINE>duller than a great thaw; huddling jest upon jest</LINE> +<LINE>with such impossible conveyance upon me that I stood</LINE> +<LINE>like a man at a mark, with a whole army shooting at</LINE> +<LINE>me. She speaks poniards, and every word stabs:</LINE> +<LINE>if her breath were as terrible as her terminations,</LINE> +<LINE>there were no living near her; she would infect to</LINE> +<LINE>the north star. I would not marry her, though she</LINE> +<LINE>were endowed with all that Adam bad left him before</LINE> +<LINE>he transgressed: she would have made Hercules have</LINE> +<LINE>turned spit, yea, and have cleft his club to make</LINE> +<LINE>the fire too. Come, talk not of her: you shall find</LINE> +<LINE>her the infernal Ate in good apparel. I would to God</LINE> +<LINE>some scholar would conjure her; for certainly, while</LINE> +<LINE>she is here, a man may live as quiet in hell as in a</LINE> +<LINE>sanctuary; and people sin upon purpose, because they</LINE> +<LINE>would go thither; so, indeed, all disquiet, horror</LINE> +<LINE>and perturbation follows her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Look, here she comes.</LINE> +</SPEECH> + + +<STAGEDIR>Enter CLAUDIO, BEATRICE, HERO, and LEONATO</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Will your grace command me any service to the</LINE> +<LINE>world's end? I will go on the slightest errand now</LINE> +<LINE>to the Antipodes that you can devise to send me on;</LINE> +<LINE>I will fetch you a tooth-picker now from the</LINE> +<LINE>furthest inch of Asia, bring you the length of</LINE> +<LINE>Prester John's foot, fetch you a hair off the great</LINE> +<LINE>Cham's beard, do you any embassage to the Pigmies,</LINE> +<LINE>rather than hold three words' conference with this</LINE> +<LINE>harpy. You have no employment for me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>None, but to desire your good company.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>O God, sir, here's a dish I love not: I cannot</LINE> +<LINE>endure my Lady Tongue.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Come, lady, come; you have lost the heart of</LINE> +<LINE>Signior Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Indeed, my lord, he lent it me awhile; and I gave</LINE> +<LINE>him use for it, a double heart for his single one:</LINE> +<LINE>marry, once before he won it of me with false dice,</LINE> +<LINE>therefore your grace may well say I have lost it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>You have put him down, lady, you have put him down.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>So I would not he should do me, my lord, lest I</LINE> +<LINE>should prove the mother of fools. I have brought</LINE> +<LINE>Count Claudio, whom you sent me to seek.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Why, how now, count! wherefore are you sad?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Not sad, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>How then? sick?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Neither, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>The count is neither sad, nor sick, nor merry, nor</LINE> +<LINE>well; but civil count, civil as an orange, and</LINE> +<LINE>something of that jealous complexion.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I' faith, lady, I think your blazon to be true;</LINE> +<LINE>though, I'll be sworn, if he be so, his conceit is</LINE> +<LINE>false. Here, Claudio, I have wooed in thy name, and</LINE> +<LINE>fair Hero is won: I have broke with her father,</LINE> +<LINE>and his good will obtained: name the day of</LINE> +<LINE>marriage, and God give thee joy!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Count, take of me my daughter, and with her my</LINE> +<LINE>fortunes: his grace hath made the match, and an</LINE> +<LINE>grace say Amen to it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Speak, count, 'tis your cue.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Silence is the perfectest herald of joy: I were</LINE> +<LINE>but little happy, if I could say how much. Lady, as</LINE> +<LINE>you are mine, I am yours: I give away myself for</LINE> +<LINE>you and dote upon the exchange.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Speak, cousin; or, if you cannot, stop his mouth</LINE> +<LINE>with a kiss, and let not him speak neither.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>In faith, lady, you have a merry heart.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yea, my lord; I thank it, poor fool, it keeps on</LINE> +<LINE>the windy side of care. My cousin tells him in his</LINE> +<LINE>ear that he is in her heart.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And so she doth, cousin.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Good Lord, for alliance! Thus goes every one to the</LINE> +<LINE>world but I, and I am sunburnt; I may sit in a</LINE> +<LINE>corner and cry heigh-ho for a husband!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Lady Beatrice, I will get you one.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I would rather have one of your father's getting.</LINE> +<LINE>Hath your grace ne'er a brother like you? Your</LINE> +<LINE>father got excellent husbands, if a maid could come by them.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Will you have me, lady?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, my lord, unless I might have another for</LINE> +<LINE>working-days: your grace is too costly to wear</LINE> +<LINE>every day. But, I beseech your grace, pardon me: I</LINE> +<LINE>was born to speak all mirth and no matter.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Your silence most offends me, and to be merry best</LINE> +<LINE>becomes you; for, out of question, you were born in</LINE> +<LINE>a merry hour.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, sure, my lord, my mother cried; but then there</LINE> +<LINE>was a star danced, and under that was I born.</LINE> +<LINE>Cousins, God give you joy!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Niece, will you look to those things I told you of?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I cry you mercy, uncle. By your grace's pardon.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>By my troth, a pleasant-spirited lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>There's little of the melancholy element in her, my</LINE> +<LINE>lord: she is never sad but when she sleeps, and</LINE> +<LINE>not ever sad then; for I have heard my daughter say,</LINE> +<LINE>she hath often dreamed of unhappiness and waked</LINE> +<LINE>herself with laughing.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>She cannot endure to hear tell of a husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O, by no means: she mocks all her wooers out of suit.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>She were an excellent wife for Benedict.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O Lord, my lord, if they were but a week married,</LINE> +<LINE>they would talk themselves mad.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>County Claudio, when mean you to go to church?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>To-morrow, my lord: time goes on crutches till love</LINE> +<LINE>have all his rites.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Not till Monday, my dear son, which is hence a just</LINE> +<LINE>seven-night; and a time too brief, too, to have all</LINE> +<LINE>things answer my mind.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Come, you shake the head at so long a breathing:</LINE> +<LINE>but, I warrant thee, Claudio, the time shall not go</LINE> +<LINE>dully by us. I will in the interim undertake one of</LINE> +<LINE>Hercules' labours; which is, to bring Signior</LINE> +<LINE>Benedick and the Lady Beatrice into a mountain of</LINE> +<LINE>affection the one with the other. I would fain have</LINE> +<LINE>it a match, and I doubt not but to fashion it, if</LINE> +<LINE>you three will but minister such assistance as I</LINE> +<LINE>shall give you direction.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>My lord, I am for you, though it cost me ten</LINE> +<LINE>nights' watchings.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And I, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And you too, gentle Hero?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>I will do any modest office, my lord, to help my</LINE> +<LINE>cousin to a good husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And Benedick is not the unhopefullest husband that</LINE> +<LINE>I know. Thus far can I praise him; he is of a noble</LINE> +<LINE>strain, of approved valour and confirmed honesty. I</LINE> +<LINE>will teach you how to humour your cousin, that she</LINE> +<LINE>shall fall in love with Benedick; and I, with your</LINE> +<LINE>two helps, will so practise on Benedick that, in</LINE> +<LINE>despite of his quick wit and his queasy stomach, he</LINE> +<LINE>shall fall in love with Beatrice. If we can do this,</LINE> +<LINE>Cupid is no longer an archer: his glory shall be</LINE> +<LINE>ours, for we are the only love-gods. Go in with me,</LINE> +<LINE>and I will tell you my drift.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE II. The same.</TITLE> +<STAGEDIR>Enter DON JOHN and BORACHIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>It is so; the Count Claudio shall marry the</LINE> +<LINE>daughter of Leonato.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Yea, my lord; but I can cross it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Any bar, any cross, any impediment will be</LINE> +<LINE>medicinable to me: I am sick in displeasure to him,</LINE> +<LINE>and whatsoever comes athwart his affection ranges</LINE> +<LINE>evenly with mine. How canst thou cross this marriage?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Not honestly, my lord; but so covertly that no</LINE> +<LINE>dishonesty shall appear in me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Show me briefly how.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>I think I told your lordship a year since, how much</LINE> +<LINE>I am in the favour of Margaret, the waiting</LINE> +<LINE>gentlewoman to Hero.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I remember.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>I can, at any unseasonable instant of the night,</LINE> +<LINE>appoint her to look out at her lady's chamber window.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>What life is in that, to be the death of this marriage?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>The poison of that lies in you to temper. Go you to</LINE> +<LINE>the prince your brother; spare not to tell him that</LINE> +<LINE>he hath wronged his honour in marrying the renowned</LINE> +<LINE>Claudio--whose estimation do you mightily hold</LINE> +<LINE>up--to a contaminated stale, such a one as Hero.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>What proof shall I make of that?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Proof enough to misuse the prince, to vex Claudio,</LINE> +<LINE>to undo Hero and kill Leonato. Look you for any</LINE> +<LINE>other issue?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Only to despite them, I will endeavour any thing.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Go, then; find me a meet hour to draw Don Pedro and</LINE> +<LINE>the Count Claudio alone: tell them that you know</LINE> +<LINE>that Hero loves me; intend a kind of zeal both to the</LINE> +<LINE>prince and Claudio, as,--in love of your brother's</LINE> +<LINE>honour, who hath made this match, and his friend's</LINE> +<LINE>reputation, who is thus like to be cozened with the</LINE> +<LINE>semblance of a maid,--that you have discovered</LINE> +<LINE>thus. They will scarcely believe this without trial:</LINE> +<LINE>offer them instances; which shall bear no less</LINE> +<LINE>likelihood than to see me at her chamber-window,</LINE> +<LINE>hear me call Margaret Hero, hear Margaret term me</LINE> +<LINE>Claudio; and bring them to see this the very night</LINE> +<LINE>before the intended wedding,--for in the meantime I</LINE> +<LINE>will so fashion the matter that Hero shall be</LINE> +<LINE>absent,--and there shall appear such seeming truth</LINE> +<LINE>of Hero's disloyalty that jealousy shall be called</LINE> +<LINE>assurance and all the preparation overthrown.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Grow this to what adverse issue it can, I will put</LINE> +<LINE>it in practise. Be cunning in the working this, and</LINE> +<LINE>thy fee is a thousand ducats.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Be you constant in the accusation, and my cunning</LINE> +<LINE>shall not shame me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I will presently go learn their day of marriage.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE III. LEONATO'S orchard.</TITLE> +<STAGEDIR>Enter BENEDICK</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Boy!</LINE> +</SPEECH> + + +<STAGEDIR>Enter Boy</STAGEDIR> + +<SPEECH> +<SPEAKER>Boy</SPEAKER> +<LINE>Signior?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>In my chamber-window lies a book: bring it hither</LINE> +<LINE>to me in the orchard.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Boy</SPEAKER> +<LINE>I am here already, sir.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I know that; but I would have thee hence, and here again.</LINE> +<STAGEDIR>Exit Boy</STAGEDIR> +<LINE>I do much wonder that one man, seeing how much</LINE> +<LINE>another man is a fool when he dedicates his</LINE> +<LINE>behaviors to love, will, after he hath laughed at</LINE> +<LINE>such shallow follies in others, become the argument</LINE> +<LINE>of his own scorn by failing in love: and such a man</LINE> +<LINE>is Claudio. I have known when there was no music</LINE> +<LINE>with him but the drum and the fife; and now had he</LINE> +<LINE>rather hear the tabour and the pipe: I have known</LINE> +<LINE>when he would have walked ten mile a-foot to see a</LINE> +<LINE>good armour; and now will he lie ten nights awake,</LINE> +<LINE>carving the fashion of a new doublet. He was wont to</LINE> +<LINE>speak plain and to the purpose, like an honest man</LINE> +<LINE>and a soldier; and now is he turned orthography; his</LINE> +<LINE>words are a very fantastical banquet, just so many</LINE> +<LINE>strange dishes. May I be so converted and see with</LINE> +<LINE>these eyes? I cannot tell; I think not: I will not</LINE> +<LINE>be sworn, but love may transform me to an oyster; but</LINE> +<LINE>I'll take my oath on it, till he have made an oyster</LINE> +<LINE>of me, he shall never make me such a fool. One woman</LINE> +<LINE>is fair, yet I am well; another is wise, yet I am</LINE> +<LINE>well; another virtuous, yet I am well; but till all</LINE> +<LINE>graces be in one woman, one woman shall not come in</LINE> +<LINE>my grace. Rich she shall be, that's certain; wise,</LINE> +<LINE>or I'll none; virtuous, or I'll never cheapen her;</LINE> +<LINE>fair, or I'll never look on her; mild, or come not</LINE> +<LINE>near me; noble, or not I for an angel; of good</LINE> +<LINE>discourse, an excellent musician, and her hair shall</LINE> +<LINE>be of what colour it please God. Ha! the prince and</LINE> +<LINE>Monsieur Love! I will hide me in the arbour.</LINE> +</SPEECH> + +<STAGEDIR>Withdraws</STAGEDIR> +<STAGEDIR>Enter DON PEDRO, CLAUDIO, and LEONATO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Come, shall we hear this music?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Yea, my good lord. How still the evening is,</LINE> +<LINE>As hush'd on purpose to grace harmony!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>See you where Benedick hath hid himself?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O, very well, my lord: the music ended,</LINE> +<LINE>We'll fit the kid-fox with a pennyworth.</LINE> +</SPEECH> + + +<STAGEDIR>Enter BALTHASAR with Music</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Come, Balthasar, we'll hear that song again.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>O, good my lord, tax not so bad a voice</LINE> +<LINE>To slander music any more than once.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>It is the witness still of excellency</LINE> +<LINE>To put a strange face on his own perfection.</LINE> +<LINE>I pray thee, sing, and let me woo no more.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Because you talk of wooing, I will sing;</LINE> +<LINE>Since many a wooer doth commence his suit</LINE> +<LINE>To her he thinks not worthy, yet he wooes,</LINE> +<LINE>Yet will he swear he loves.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Now, pray thee, come;</LINE> +<LINE>Or, if thou wilt hold longer argument,</LINE> +<LINE>Do it in notes.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Note this before my notes;</LINE> +<LINE>There's not a note of mine that's worth the noting.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Why, these are very crotchets that he speaks;</LINE> +<LINE>Note, notes, forsooth, and nothing.</LINE> +</SPEECH> + + +<STAGEDIR>Air</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Now, divine air! now is his soul ravished! Is it</LINE> +<LINE>not strange that sheeps' guts should hale souls out</LINE> +<LINE>of men's bodies? Well, a horn for my money, when</LINE> +<LINE>all's done.</LINE> +</SPEECH> + + +<STAGEDIR>The Song</STAGEDIR> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>Sigh no more, ladies, sigh no more,</LINE> +<LINE>Men were deceivers ever,</LINE> +<LINE>One foot in sea and one on shore,</LINE> +<LINE>To one thing constant never:</LINE> +<LINE>Then sigh not so, but let them go,</LINE> +<LINE>And be you blithe and bonny,</LINE> +<LINE>Converting all your sounds of woe</LINE> +<LINE>Into Hey nonny, nonny.</LINE> +<LINE>Sing no more ditties, sing no moe,</LINE> +<LINE>Of dumps so dull and heavy;</LINE> +<LINE>The fraud of men was ever so,</LINE> +<LINE>Since summer first was leafy:</LINE> +<LINE>Then sigh not so, &c.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>By my troth, a good song.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>And an ill singer, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Ha, no, no, faith; thou singest well enough for a shift.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>An he had been a dog that should have howled thus,</LINE> +<LINE>they would have hanged him: and I pray God his bad</LINE> +<LINE>voice bode no mischief. I had as lief have heard the</LINE> +<LINE>night-raven, come what plague could have come after</LINE> +<LINE>it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Yea, marry, dost thou hear, Balthasar? I pray thee,</LINE> +<LINE>get us some excellent music; for to-morrow night we</LINE> +<LINE>would have it at the Lady Hero's chamber-window.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BALTHASAR</SPEAKER> +<LINE>The best I can, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Do so: farewell.</LINE> +<STAGEDIR>Exit BALTHASAR</STAGEDIR> +<LINE>Come hither, Leonato. What was it you told me of</LINE> +<LINE>to-day, that your niece Beatrice was in love with</LINE> +<LINE>Signior Benedick?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O, ay: stalk on. stalk on; the fowl sits. I did</LINE> +<LINE>never think that lady would have loved any man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No, nor I neither; but most wonderful that she</LINE> +<LINE>should so dote on Signior Benedick, whom she hath in</LINE> +<LINE>all outward behaviors seemed ever to abhor.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Is't possible? Sits the wind in that corner?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>By my troth, my lord, I cannot tell what to think</LINE> +<LINE>of it but that she loves him with an enraged</LINE> +<LINE>affection: it is past the infinite of thought.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>May be she doth but counterfeit.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Faith, like enough.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O God, counterfeit! There was never counterfeit of</LINE> +<LINE>passion came so near the life of passion as she</LINE> +<LINE>discovers it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Why, what effects of passion shows she?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Bait the hook well; this fish will bite.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What effects, my lord? She will sit you, you heard</LINE> +<LINE>my daughter tell you how.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>She did, indeed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>How, how, pray you? You amaze me: I would have I</LINE> +<LINE>thought her spirit had been invincible against all</LINE> +<LINE>assaults of affection.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I would have sworn it had, my lord; especially</LINE> +<LINE>against Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I should think this a gull, but that the</LINE> +<LINE>white-bearded fellow speaks it: knavery cannot,</LINE> +<LINE>sure, hide himself in such reverence.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>He hath ta'en the infection: hold it up.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Hath she made her affection known to Benedick?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No; and swears she never will: that's her torment.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>'Tis true, indeed; so your daughter says: 'Shall</LINE> +<LINE>I,' says she, 'that have so oft encountered him</LINE> +<LINE>with scorn, write to him that I love him?'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>This says she now when she is beginning to write to</LINE> +<LINE>him; for she'll be up twenty times a night, and</LINE> +<LINE>there will she sit in her smock till she have writ a</LINE> +<LINE>sheet of paper: my daughter tells us all.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Now you talk of a sheet of paper, I remember a</LINE> +<LINE>pretty jest your daughter told us of.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O, when she had writ it and was reading it over, she</LINE> +<LINE>found Benedick and Beatrice between the sheet?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>That.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O, she tore the letter into a thousand halfpence;</LINE> +<LINE>railed at herself, that she should be so immodest</LINE> +<LINE>to write to one that she knew would flout her; 'I</LINE> +<LINE>measure him,' says she, 'by my own spirit; for I</LINE> +<LINE>should flout him, if he writ to me; yea, though I</LINE> +<LINE>love him, I should.'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Then down upon her knees she falls, weeps, sobs,</LINE> +<LINE>beats her heart, tears her hair, prays, curses; 'O</LINE> +<LINE>sweet Benedick! God give me patience!'</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>She doth indeed; my daughter says so: and the</LINE> +<LINE>ecstasy hath so much overborne her that my daughter</LINE> +<LINE>is sometime afeared she will do a desperate outrage</LINE> +<LINE>to herself: it is very true.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>It were good that Benedick knew of it by some</LINE> +<LINE>other, if she will not discover it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>To what end? He would make but a sport of it and</LINE> +<LINE>torment the poor lady worse.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>An he should, it were an alms to hang him. She's an</LINE> +<LINE>excellent sweet lady; and, out of all suspicion,</LINE> +<LINE>she is virtuous.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And she is exceeding wise.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>In every thing but in loving Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O, my lord, wisdom and blood combating in so tender</LINE> +<LINE>a body, we have ten proofs to one that blood hath</LINE> +<LINE>the victory. I am sorry for her, as I have just</LINE> +<LINE>cause, being her uncle and her guardian.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I would she had bestowed this dotage on me: I would</LINE> +<LINE>have daffed all other respects and made her half</LINE> +<LINE>myself. I pray you, tell Benedick of it, and hear</LINE> +<LINE>what a' will say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Were it good, think you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Hero thinks surely she will die; for she says she</LINE> +<LINE>will die, if he love her not, and she will die, ere</LINE> +<LINE>she make her love known, and she will die, if he woo</LINE> +<LINE>her, rather than she will bate one breath of her</LINE> +<LINE>accustomed crossness.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>She doth well: if she should make tender of her</LINE> +<LINE>love, 'tis very possible he'll scorn it; for the</LINE> +<LINE>man, as you know all, hath a contemptible spirit.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>He is a very proper man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>He hath indeed a good outward happiness.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Before God! and, in my mind, very wise.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>He doth indeed show some sparks that are like wit.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And I take him to be valiant.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>As Hector, I assure you: and in the managing of</LINE> +<LINE>quarrels you may say he is wise; for either he</LINE> +<LINE>avoids them with great discretion, or undertakes</LINE> +<LINE>them with a most Christian-like fear.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>If he do fear God, a' must necessarily keep peace:</LINE> +<LINE>if he break the peace, he ought to enter into a</LINE> +<LINE>quarrel with fear and trembling.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And so will he do; for the man doth fear God,</LINE> +<LINE>howsoever it seems not in him by some large jests</LINE> +<LINE>he will make. Well I am sorry for your niece. Shall</LINE> +<LINE>we go seek Benedick, and tell him of her love?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Never tell him, my lord: let her wear it out with</LINE> +<LINE>good counsel.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Nay, that's impossible: she may wear her heart out first.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Well, we will hear further of it by your daughter:</LINE> +<LINE>let it cool the while. I love Benedick well; and I</LINE> +<LINE>could wish he would modestly examine himself, to see</LINE> +<LINE>how much he is unworthy so good a lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>My lord, will you walk? dinner is ready.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If he do not dote on her upon this, I will never</LINE> +<LINE>trust my expectation.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Let there be the same net spread for her; and that</LINE> +<LINE>must your daughter and her gentlewomen carry. The</LINE> +<LINE>sport will be, when they hold one an opinion of</LINE> +<LINE>another's dotage, and no such matter: that's the</LINE> +<LINE>scene that I would see, which will be merely a</LINE> +<LINE>dumb-show. Let us send her to call him in to dinner.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt DON PEDRO, CLAUDIO, and LEONATO</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE><STAGEDIR>Coming forward</STAGEDIR> This can be no trick: the</LINE> +<LINE>conference was sadly borne. They have the truth of</LINE> +<LINE>this from Hero. They seem to pity the lady: it</LINE> +<LINE>seems her affections have their full bent. Love me!</LINE> +<LINE>why, it must be requited. I hear how I am censured:</LINE> +<LINE>they say I will bear myself proudly, if I perceive</LINE> +<LINE>the love come from her; they say too that she will</LINE> +<LINE>rather die than give any sign of affection. I did</LINE> +<LINE>never think to marry: I must not seem proud: happy</LINE> +<LINE>are they that hear their detractions and can put</LINE> +<LINE>them to mending. They say the lady is fair; 'tis a</LINE> +<LINE>truth, I can bear them witness; and virtuous; 'tis</LINE> +<LINE>so, I cannot reprove it; and wise, but for loving</LINE> +<LINE>me; by my troth, it is no addition to her wit, nor</LINE> +<LINE>no great argument of her folly, for I will be</LINE> +<LINE>horribly in love with her. I may chance have some</LINE> +<LINE>odd quirks and remnants of wit broken on me,</LINE> +<LINE>because I have railed so long against marriage: but</LINE> +<LINE>doth not the appetite alter? a man loves the meat</LINE> +<LINE>in his youth that he cannot endure in his age.</LINE> +<LINE>Shall quips and sentences and these paper bullets of</LINE> +<LINE>the brain awe a man from the career of his humour?</LINE> +<LINE>No, the world must be peopled. When I said I would</LINE> +<LINE>die a bachelor, I did not think I should live till I</LINE> +<LINE>were married. Here comes Beatrice. By this day!</LINE> +<LINE>she's a fair lady: I do spy some marks of love in</LINE> +<LINE>her.</LINE> +</SPEECH> + + +<STAGEDIR>Enter BEATRICE</STAGEDIR> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Against my will I am sent to bid you come in to dinner.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Fair Beatrice, I thank you for your pains.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I took no more pains for those thanks than you take</LINE> +<LINE>pains to thank me: if it had been painful, I would</LINE> +<LINE>not have come.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>You take pleasure then in the message?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yea, just so much as you may take upon a knife's</LINE> +<LINE>point and choke a daw withal. You have no stomach,</LINE> +<LINE>signior: fare you well.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Ha! 'Against my will I am sent to bid you come in</LINE> +<LINE>to dinner;' there's a double meaning in that 'I took</LINE> +<LINE>no more pains for those thanks than you took pains</LINE> +<LINE>to thank me.' that's as much as to say, Any pains</LINE> +<LINE>that I take for you is as easy as thanks. If I do</LINE> +<LINE>not take pity of her, I am a villain; if I do not</LINE> +<LINE>love her, I am a Jew. I will go get her picture.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> +</SCENE> + +</ACT> + +<ACT><TITLE>ACT III</TITLE> + +<SCENE><TITLE>SCENE I. LEONATO'S garden.</TITLE> +<STAGEDIR>Enter HERO, MARGARET, and URSULA</STAGEDIR> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Good Margaret, run thee to the parlor;</LINE> +<LINE>There shalt thou find my cousin Beatrice</LINE> +<LINE>Proposing with the prince and Claudio:</LINE> +<LINE>Whisper her ear and tell her, I and Ursula</LINE> +<LINE>Walk in the orchard and our whole discourse</LINE> +<LINE>Is all of her; say that thou overheard'st us;</LINE> +<LINE>And bid her steal into the pleached bower,</LINE> +<LINE>Where honeysuckles, ripen'd by the sun,</LINE> +<LINE>Forbid the sun to enter, like favourites,</LINE> +<LINE>Made proud by princes, that advance their pride</LINE> +<LINE>Against that power that bred it: there will she hide her,</LINE> +<LINE>To listen our purpose. This is thy office;</LINE> +<LINE>Bear thee well in it and leave us alone.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>I'll make her come, I warrant you, presently.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Now, Ursula, when Beatrice doth come,</LINE> +<LINE>As we do trace this alley up and down,</LINE> +<LINE>Our talk must only be of Benedick.</LINE> +<LINE>When I do name him, let it be thy part</LINE> +<LINE>To praise him more than ever man did merit:</LINE> +<LINE>My talk to thee must be how Benedick</LINE> +<LINE>Is sick in love with Beatrice. Of this matter</LINE> +<LINE>Is little Cupid's crafty arrow made,</LINE> +<LINE>That only wounds by hearsay.</LINE> +<STAGEDIR>Enter BEATRICE, behind</STAGEDIR> +<LINE>Now begin;</LINE> +<LINE>For look where Beatrice, like a lapwing, runs</LINE> +<LINE>Close by the ground, to hear our conference.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>The pleasant'st angling is to see the fish</LINE> +<LINE>Cut with her golden oars the silver stream,</LINE> +<LINE>And greedily devour the treacherous bait:</LINE> +<LINE>So angle we for Beatrice; who even now</LINE> +<LINE>Is couched in the woodbine coverture.</LINE> +<LINE>Fear you not my part of the dialogue.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Then go we near her, that her ear lose nothing</LINE> +<LINE>Of the false sweet bait that we lay for it.</LINE> +<STAGEDIR>Approaching the bower</STAGEDIR> +<LINE>No, truly, Ursula, she is too disdainful;</LINE> +<LINE>I know her spirits are as coy and wild</LINE> +<LINE>As haggerds of the rock.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>But are you sure</LINE> +<LINE>That Benedick loves Beatrice so entirely?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>So says the prince and my new-trothed lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>And did they bid you tell her of it, madam?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>They did entreat me to acquaint her of it;</LINE> +<LINE>But I persuaded them, if they loved Benedick,</LINE> +<LINE>To wish him wrestle with affection,</LINE> +<LINE>And never to let Beatrice know of it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Why did you so? Doth not the gentleman</LINE> +<LINE>Deserve as full as fortunate a bed</LINE> +<LINE>As ever Beatrice shall couch upon?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>O god of love! I know he doth deserve</LINE> +<LINE>As much as may be yielded to a man:</LINE> +<LINE>But Nature never framed a woman's heart</LINE> +<LINE>Of prouder stuff than that of Beatrice;</LINE> +<LINE>Disdain and scorn ride sparkling in her eyes,</LINE> +<LINE>Misprising what they look on, and her wit</LINE> +<LINE>Values itself so highly that to her</LINE> +<LINE>All matter else seems weak: she cannot love,</LINE> +<LINE>Nor take no shape nor project of affection,</LINE> +<LINE>She is so self-endeared.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Sure, I think so;</LINE> +<LINE>And therefore certainly it were not good</LINE> +<LINE>She knew his love, lest she make sport at it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Why, you speak truth. I never yet saw man,</LINE> +<LINE>How wise, how noble, young, how rarely featured,</LINE> +<LINE>But she would spell him backward: if fair-faced,</LINE> +<LINE>She would swear the gentleman should be her sister;</LINE> +<LINE>If black, why, Nature, drawing of an antique,</LINE> +<LINE>Made a foul blot; if tall, a lance ill-headed;</LINE> +<LINE>If low, an agate very vilely cut;</LINE> +<LINE>If speaking, why, a vane blown with all winds;</LINE> +<LINE>If silent, why, a block moved with none.</LINE> +<LINE>So turns she every man the wrong side out</LINE> +<LINE>And never gives to truth and virtue that</LINE> +<LINE>Which simpleness and merit purchaseth.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Sure, sure, such carping is not commendable.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>No, not to be so odd and from all fashions</LINE> +<LINE>As Beatrice is, cannot be commendable:</LINE> +<LINE>But who dare tell her so? If I should speak,</LINE> +<LINE>She would mock me into air; O, she would laugh me</LINE> +<LINE>Out of myself, press me to death with wit.</LINE> +<LINE>Therefore let Benedick, like cover'd fire,</LINE> +<LINE>Consume away in sighs, waste inwardly:</LINE> +<LINE>It were a better death than die with mocks,</LINE> +<LINE>Which is as bad as die with tickling.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Yet tell her of it: hear what she will say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>No; rather I will go to Benedick</LINE> +<LINE>And counsel him to fight against his passion.</LINE> +<LINE>And, truly, I'll devise some honest slanders</LINE> +<LINE>To stain my cousin with: one doth not know</LINE> +<LINE>How much an ill word may empoison liking.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>O, do not do your cousin such a wrong.</LINE> +<LINE>She cannot be so much without true judgment--</LINE> +<LINE>Having so swift and excellent a wit</LINE> +<LINE>As she is prized to have--as to refuse</LINE> +<LINE>So rare a gentleman as Signior Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>He is the only man of Italy.</LINE> +<LINE>Always excepted my dear Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>I pray you, be not angry with me, madam,</LINE> +<LINE>Speaking my fancy: Signior Benedick,</LINE> +<LINE>For shape, for bearing, argument and valour,</LINE> +<LINE>Goes foremost in report through Italy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Indeed, he hath an excellent good name.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>His excellence did earn it, ere he had it.</LINE> +<LINE>When are you married, madam?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Why, every day, to-morrow. Come, go in:</LINE> +<LINE>I'll show thee some attires, and have thy counsel</LINE> +<LINE>Which is the best to furnish me to-morrow.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>She's limed, I warrant you: we have caught her, madam.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>If it proves so, then loving goes by haps:</LINE> +<LINE>Some Cupid kills with arrows, some with traps.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt HERO and URSULA</STAGEDIR> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE><STAGEDIR>Coming forward</STAGEDIR></LINE> +<LINE>What fire is in mine ears? Can this be true?</LINE> +<LINE>Stand I condemn'd for pride and scorn so much?</LINE> +<LINE>Contempt, farewell! and maiden pride, adieu!</LINE> +<LINE>No glory lives behind the back of such.</LINE> +<LINE>And, Benedick, love on; I will requite thee,</LINE> +<LINE>Taming my wild heart to thy loving hand:</LINE> +<LINE>If thou dost love, my kindness shall incite thee</LINE> +<LINE>To bind our loves up in a holy band;</LINE> +<LINE>For others say thou dost deserve, and I</LINE> +<LINE>Believe it better than reportingly.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE II. A room in LEONATO'S house</TITLE> +<STAGEDIR>Enter DON PEDRO, CLAUDIO, BENEDICK, and LEONATO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I do but stay till your marriage be consummate, and</LINE> +<LINE>then go I toward Arragon.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I'll bring you thither, my lord, if you'll</LINE> +<LINE>vouchsafe me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Nay, that would be as great a soil in the new gloss</LINE> +<LINE>of your marriage as to show a child his new coat</LINE> +<LINE>and forbid him to wear it. I will only be bold</LINE> +<LINE>with Benedick for his company; for, from the crown</LINE> +<LINE>of his head to the sole of his foot, he is all</LINE> +<LINE>mirth: he hath twice or thrice cut Cupid's</LINE> +<LINE>bow-string and the little hangman dare not shoot at</LINE> +<LINE>him; he hath a heart as sound as a bell and his</LINE> +<LINE>tongue is the clapper, for what his heart thinks his</LINE> +<LINE>tongue speaks.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Gallants, I am not as I have been.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>So say I methinks you are sadder.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I hope he be in love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Hang him, truant! there's no true drop of blood in</LINE> +<LINE>him, to be truly touched with love: if he be sad,</LINE> +<LINE>he wants money.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I have the toothache.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Draw it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Hang it!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>You must hang it first, and draw it afterwards.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What! sigh for the toothache?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Where is but a humour or a worm.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Well, every one can master a grief but he that has</LINE> +<LINE>it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Yet say I, he is in love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>There is no appearance of fancy in him, unless it be</LINE> +<LINE>a fancy that he hath to strange disguises; as, to be</LINE> +<LINE>a Dutchman today, a Frenchman to-morrow, or in the</LINE> +<LINE>shape of two countries at once, as, a German from</LINE> +<LINE>the waist downward, all slops, and a Spaniard from</LINE> +<LINE>the hip upward, no doublet. Unless he have a fancy</LINE> +<LINE>to this foolery, as it appears he hath, he is no</LINE> +<LINE>fool for fancy, as you would have it appear he is.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If he be not in love with some woman, there is no</LINE> +<LINE>believing old signs: a' brushes his hat o'</LINE> +<LINE>mornings; what should that bode?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Hath any man seen him at the barber's?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>No, but the barber's man hath been seen with him,</LINE> +<LINE>and the old ornament of his cheek hath already</LINE> +<LINE>stuffed tennis-balls.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Indeed, he looks younger than he did, by the loss of a beard.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Nay, a' rubs himself with civet: can you smell him</LINE> +<LINE>out by that?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>That's as much as to say, the sweet youth's in love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>The greatest note of it is his melancholy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And when was he wont to wash his face?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Yea, or to paint himself? for the which, I hear</LINE> +<LINE>what they say of him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Nay, but his jesting spirit; which is now crept into</LINE> +<LINE>a lute-string and now governed by stops.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Indeed, that tells a heavy tale for him: conclude,</LINE> +<LINE>conclude he is in love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Nay, but I know who loves him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>That would I know too: I warrant, one that knows him not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Yes, and his ill conditions; and, in despite of</LINE> +<LINE>all, dies for him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>She shall be buried with her face upwards.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Yet is this no charm for the toothache. Old</LINE> +<LINE>signior, walk aside with me: I have studied eight</LINE> +<LINE>or nine wise words to speak to you, which these</LINE> +<LINE>hobby-horses must not hear.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt BENEDICK and LEONATO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>For my life, to break with him about Beatrice.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>'Tis even so. Hero and Margaret have by this</LINE> +<LINE>played their parts with Beatrice; and then the two</LINE> +<LINE>bears will not bite one another when they meet.</LINE> +</SPEECH> + + +<STAGEDIR>Enter DON JOHN</STAGEDIR> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>My lord and brother, God save you!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good den, brother.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>If your leisure served, I would speak with you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>In private?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>If it please you: yet Count Claudio may hear; for</LINE> +<LINE>what I would speak of concerns him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What's the matter?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE><STAGEDIR>To CLAUDIO</STAGEDIR> Means your lordship to be married</LINE> +<LINE>to-morrow?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>You know he does.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I know not that, when he knows what I know.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If there be any impediment, I pray you discover it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>You may think I love you not: let that appear</LINE> +<LINE>hereafter, and aim better at me by that I now will</LINE> +<LINE>manifest. For my brother, I think he holds you</LINE> +<LINE>well, and in dearness of heart hath holp to effect</LINE> +<LINE>your ensuing marriage;--surely suit ill spent and</LINE> +<LINE>labour ill bestowed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Why, what's the matter?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I came hither to tell you; and, circumstances</LINE> +<LINE>shortened, for she has been too long a talking of,</LINE> +<LINE>the lady is disloyal.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Who, Hero?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Even she; Leonato's Hero, your Hero, every man's Hero:</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Disloyal?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>The word is too good to paint out her wickedness; I</LINE> +<LINE>could say she were worse: think you of a worse</LINE> +<LINE>title, and I will fit her to it. Wonder not till</LINE> +<LINE>further warrant: go but with me to-night, you shall</LINE> +<LINE>see her chamber-window entered, even the night</LINE> +<LINE>before her wedding-day: if you love her then,</LINE> +<LINE>to-morrow wed her; but it would better fit your honour</LINE> +<LINE>to change your mind.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>May this be so?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I will not think it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>If you dare not trust that you see, confess not</LINE> +<LINE>that you know: if you will follow me, I will show</LINE> +<LINE>you enough; and when you have seen more and heard</LINE> +<LINE>more, proceed accordingly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If I see any thing to-night why I should not marry</LINE> +<LINE>her to-morrow in the congregation, where I should</LINE> +<LINE>wed, there will I shame her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And, as I wooed for thee to obtain her, I will join</LINE> +<LINE>with thee to disgrace her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>I will disparage her no farther till you are my</LINE> +<LINE>witnesses: bear it coldly but till midnight, and</LINE> +<LINE>let the issue show itself.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>O day untowardly turned!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O mischief strangely thwarting!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>O plague right well prevented! so will you say when</LINE> +<LINE>you have seen the sequel.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE III. A street.</TITLE> +<STAGEDIR>Enter DOGBERRY and VERGES with the Watch</STAGEDIR> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Are you good men and true?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Yea, or else it were pity but they should suffer</LINE> +<LINE>salvation, body and soul.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Nay, that were a punishment too good for them, if</LINE> +<LINE>they should have any allegiance in them, being</LINE> +<LINE>chosen for the prince's watch.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Well, give them their charge, neighbour Dogberry.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>First, who think you the most desertless man to be</LINE> +<LINE>constable?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>Hugh Otecake, sir, or George Seacole; for they can</LINE> +<LINE>write and read.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Come hither, neighbour Seacole. God hath blessed</LINE> +<LINE>you with a good name: to be a well-favoured man is</LINE> +<LINE>the gift of fortune; but to write and read comes by nature.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Second Watchman</SPEAKER> +<LINE>Both which, master constable,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>You have: I knew it would be your answer. Well,</LINE> +<LINE>for your favour, sir, why, give God thanks, and make</LINE> +<LINE>no boast of it; and for your writing and reading,</LINE> +<LINE>let that appear when there is no need of such</LINE> +<LINE>vanity. You are thought here to be the most</LINE> +<LINE>senseless and fit man for the constable of the</LINE> +<LINE>watch; therefore bear you the lantern. This is your</LINE> +<LINE>charge: you shall comprehend all vagrom men; you are</LINE> +<LINE>to bid any man stand, in the prince's name.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Second Watchman</SPEAKER> +<LINE>How if a' will not stand?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Why, then, take no note of him, but let him go; and</LINE> +<LINE>presently call the rest of the watch together and</LINE> +<LINE>thank God you are rid of a knave.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>If he will not stand when he is bidden, he is none</LINE> +<LINE>of the prince's subjects.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>True, and they are to meddle with none but the</LINE> +<LINE>prince's subjects. You shall also make no noise in</LINE> +<LINE>the streets; for, for the watch to babble and to</LINE> +<LINE>talk is most tolerable and not to be endured.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>We will rather sleep than talk: we know what</LINE> +<LINE>belongs to a watch.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Why, you speak like an ancient and most quiet</LINE> +<LINE>watchman; for I cannot see how sleeping should</LINE> +<LINE>offend: only, have a care that your bills be not</LINE> +<LINE>stolen. Well, you are to call at all the</LINE> +<LINE>ale-houses, and bid those that are drunk get them to bed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>How if they will not?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Why, then, let them alone till they are sober: if</LINE> +<LINE>they make you not then the better answer, you may</LINE> +<LINE>say they are not the men you took them for.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>Well, sir.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>If you meet a thief, you may suspect him, by virtue</LINE> +<LINE>of your office, to be no true man; and, for such</LINE> +<LINE>kind of men, the less you meddle or make with them,</LINE> +<LINE>why the more is for your honesty.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>If we know him to be a thief, shall we not lay</LINE> +<LINE>hands on him?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Truly, by your office, you may; but I think they</LINE> +<LINE>that touch pitch will be defiled: the most peaceable</LINE> +<LINE>way for you, if you do take a thief, is to let him</LINE> +<LINE>show himself what he is and steal out of your company.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>You have been always called a merciful man, partner.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Truly, I would not hang a dog by my will, much more</LINE> +<LINE>a man who hath any honesty in him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>If you hear a child cry in the night, you must call</LINE> +<LINE>to the nurse and bid her still it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>How if the nurse be asleep and will not hear us?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Why, then, depart in peace, and let the child wake</LINE> +<LINE>her with crying; for the ewe that will not hear her</LINE> +<LINE>lamb when it baes will never answer a calf when he bleats.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>'Tis very true.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>This is the end of the charge:--you, constable, are</LINE> +<LINE>to present the prince's own person: if you meet the</LINE> +<LINE>prince in the night, you may stay him.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Nay, by'r our lady, that I think a' cannot.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Five shillings to one on't, with any man that knows</LINE> +<LINE>the statutes, he may stay him: marry, not without</LINE> +<LINE>the prince be willing; for, indeed, the watch ought</LINE> +<LINE>to offend no man; and it is an offence to stay a</LINE> +<LINE>man against his will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>By'r lady, I think it be so.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Ha, ha, ha! Well, masters, good night: an there be</LINE> +<LINE>any matter of weight chances, call up me: keep your</LINE> +<LINE>fellows' counsels and your own; and good night.</LINE> +<LINE>Come, neighbour.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>Well, masters, we hear our charge: let us go sit here</LINE> +<LINE>upon the church-bench till two, and then all to bed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>One word more, honest neighbours. I pray you watch</LINE> +<LINE>about Signior Leonato's door; for the wedding being</LINE> +<LINE>there to-morrow, there is a great coil to-night.</LINE> +<LINE>Adieu: be vigitant, I beseech you.</LINE> +</SPEECH> + +<STAGEDIR>Exeunt DOGBERRY and VERGES</STAGEDIR> +<STAGEDIR>Enter BORACHIO and CONRADE</STAGEDIR> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>What Conrade!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE><STAGEDIR>Aside</STAGEDIR> Peace! stir not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Conrade, I say!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Here, man; I am at thy elbow.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Mass, and my elbow itched; I thought there would a</LINE> +<LINE>scab follow.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>I will owe thee an answer for that: and now forward</LINE> +<LINE>with thy tale.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Stand thee close, then, under this pent-house, for</LINE> +<LINE>it drizzles rain; and I will, like a true drunkard,</LINE> +<LINE>utter all to thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE><STAGEDIR>Aside</STAGEDIR> Some treason, masters: yet stand close.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Therefore know I have earned of Don John a thousand ducats.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Is it possible that any villany should be so dear?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Thou shouldst rather ask if it were possible any</LINE> +<LINE>villany should be so rich; for when rich villains</LINE> +<LINE>have need of poor ones, poor ones may make what</LINE> +<LINE>price they will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>I wonder at it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>That shows thou art unconfirmed. Thou knowest that</LINE> +<LINE>the fashion of a doublet, or a hat, or a cloak, is</LINE> +<LINE>nothing to a man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Yes, it is apparel.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>I mean, the fashion.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Yes, the fashion is the fashion.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Tush! I may as well say the fool's the fool. But</LINE> +<LINE>seest thou not what a deformed thief this fashion</LINE> +<LINE>is?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE><STAGEDIR>Aside</STAGEDIR> I know that Deformed; a' has been a vile</LINE> +<LINE>thief this seven year; a' goes up and down like a</LINE> +<LINE>gentleman: I remember his name.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Didst thou not hear somebody?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>No; 'twas the vane on the house.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Seest thou not, I say, what a deformed thief this</LINE> +<LINE>fashion is? how giddily a' turns about all the hot</LINE> +<LINE>bloods between fourteen and five-and-thirty?</LINE> +<LINE>sometimes fashioning them like Pharaoh's soldiers</LINE> +<LINE>in the reeky painting, sometime like god Bel's</LINE> +<LINE>priests in the old church-window, sometime like the</LINE> +<LINE>shaven Hercules in the smirched worm-eaten tapestry,</LINE> +<LINE>where his codpiece seems as massy as his club?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>All this I see; and I see that the fashion wears</LINE> +<LINE>out more apparel than the man. But art not thou</LINE> +<LINE>thyself giddy with the fashion too, that thou hast</LINE> +<LINE>shifted out of thy tale into telling me of the fashion?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Not so, neither: but know that I have to-night</LINE> +<LINE>wooed Margaret, the Lady Hero's gentlewoman, by the</LINE> +<LINE>name of Hero: she leans me out at her mistress'</LINE> +<LINE>chamber-window, bids me a thousand times good</LINE> +<LINE>night,--I tell this tale vilely:--I should first</LINE> +<LINE>tell thee how the prince, Claudio and my master,</LINE> +<LINE>planted and placed and possessed by my master Don</LINE> +<LINE>John, saw afar off in the orchard this amiable encounter.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>And thought they Margaret was Hero?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Two of them did, the prince and Claudio; but the</LINE> +<LINE>devil my master knew she was Margaret; and partly</LINE> +<LINE>by his oaths, which first possessed them, partly by</LINE> +<LINE>the dark night, which did deceive them, but chiefly</LINE> +<LINE>by my villany, which did confirm any slander that</LINE> +<LINE>Don John had made, away went Claudio enraged; swore</LINE> +<LINE>he would meet her, as he was appointed, next morning</LINE> +<LINE>at the temple, and there, before the whole</LINE> +<LINE>congregation, shame her with what he saw o'er night</LINE> +<LINE>and send her home again without a husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>We charge you, in the prince's name, stand!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Second Watchman</SPEAKER> +<LINE>Call up the right master constable. We have here</LINE> +<LINE>recovered the most dangerous piece of lechery that</LINE> +<LINE>ever was known in the commonwealth.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>And one Deformed is one of them: I know him; a'</LINE> +<LINE>wears a lock.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Masters, masters,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Second Watchman</SPEAKER> +<LINE>You'll be made bring Deformed forth, I warrant you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Masters,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>Never speak: we charge you let us obey you to go with us.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>We are like to prove a goodly commodity, being taken</LINE> +<LINE>up of these men's bills.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>A commodity in question, I warrant you. Come, we'll obey you.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE IV. HERO's apartment.</TITLE> +<STAGEDIR>Enter HERO, MARGARET, and URSULA</STAGEDIR> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Good Ursula, wake my cousin Beatrice, and desire</LINE> +<LINE>her to rise.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>I will, lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>And bid her come hither.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Well.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Troth, I think your other rabato were better.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>No, pray thee, good Meg, I'll wear this.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>By my troth, 's not so good; and I warrant your</LINE> +<LINE>cousin will say so.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>My cousin's a fool, and thou art another: I'll wear</LINE> +<LINE>none but this.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>I like the new tire within excellently, if the hair</LINE> +<LINE>were a thought browner; and your gown's a most rare</LINE> +<LINE>fashion, i' faith. I saw the Duchess of Milan's</LINE> +<LINE>gown that they praise so.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>O, that exceeds, they say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>By my troth, 's but a night-gown in respect of</LINE> +<LINE>yours: cloth o' gold, and cuts, and laced with</LINE> +<LINE>silver, set with pearls, down sleeves, side sleeves,</LINE> +<LINE>and skirts, round underborne with a bluish tinsel:</LINE> +<LINE>but for a fine, quaint, graceful and excellent</LINE> +<LINE>fashion, yours is worth ten on 't.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>God give me joy to wear it! for my heart is</LINE> +<LINE>exceeding heavy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>'Twill be heavier soon by the weight of a man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Fie upon thee! art not ashamed?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Of what, lady? of speaking honourably? Is not</LINE> +<LINE>marriage honourable in a beggar? Is not your lord</LINE> +<LINE>honourable without marriage? I think you would have</LINE> +<LINE>me say, 'saving your reverence, a husband:' and bad</LINE> +<LINE>thinking do not wrest true speaking, I'll offend</LINE> +<LINE>nobody: is there any harm in 'the heavier for a</LINE> +<LINE>husband'? None, I think, and it be the right husband</LINE> +<LINE>and the right wife; otherwise 'tis light, and not</LINE> +<LINE>heavy: ask my Lady Beatrice else; here she comes.</LINE> +</SPEECH> + + +<STAGEDIR>Enter BEATRICE</STAGEDIR> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Good morrow, coz.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Good morrow, sweet Hero.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Why how now? do you speak in the sick tune?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I am out of all other tune, methinks.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Clap's into 'Light o' love;' that goes without a</LINE> +<LINE>burden: do you sing it, and I'll dance it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Ye light o' love, with your heels! then, if your</LINE> +<LINE>husband have stables enough, you'll see he shall</LINE> +<LINE>lack no barns.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>O illegitimate construction! I scorn that with my heels.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>'Tis almost five o'clock, cousin; tis time you were</LINE> +<LINE>ready. By my troth, I am exceeding ill: heigh-ho!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>For a hawk, a horse, or a husband?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>For the letter that begins them all, H.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Well, and you be not turned Turk, there's no more</LINE> +<LINE>sailing by the star.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>What means the fool, trow?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Nothing I; but God send every one their heart's desire!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>These gloves the count sent me; they are an</LINE> +<LINE>excellent perfume.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I am stuffed, cousin; I cannot smell.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>A maid, and stuffed! there's goodly catching of cold.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>O, God help me! God help me! how long have you</LINE> +<LINE>professed apprehension?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Even since you left it. Doth not my wit become me rarely?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>It is not seen enough, you should wear it in your</LINE> +<LINE>cap. By my troth, I am sick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Get you some of this distilled Carduus Benedictus,</LINE> +<LINE>and lay it to your heart: it is the only thing for a qualm.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>There thou prickest her with a thistle.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Benedictus! why Benedictus? you have some moral in</LINE> +<LINE>this Benedictus.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Moral! no, by my troth, I have no moral meaning; I</LINE> +<LINE>meant, plain holy-thistle. You may think perchance</LINE> +<LINE>that I think you are in love: nay, by'r lady, I am</LINE> +<LINE>not such a fool to think what I list, nor I list</LINE> +<LINE>not to think what I can, nor indeed I cannot think,</LINE> +<LINE>if I would think my heart out of thinking, that you</LINE> +<LINE>are in love or that you will be in love or that you</LINE> +<LINE>can be in love. Yet Benedick was such another, and</LINE> +<LINE>now is he become a man: he swore he would never</LINE> +<LINE>marry, and yet now, in despite of his heart, he eats</LINE> +<LINE>his meat without grudging: and how you may be</LINE> +<LINE>converted I know not, but methinks you look with</LINE> +<LINE>your eyes as other women do.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>What pace is this that thy tongue keeps?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Not a false gallop.</LINE> +</SPEECH> + + +<STAGEDIR>Re-enter URSULA</STAGEDIR> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Madam, withdraw: the prince, the count, Signior</LINE> +<LINE>Benedick, Don John, and all the gallants of the</LINE> +<LINE>town, are come to fetch you to church.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Help to dress me, good coz, good Meg, good Ursula.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE V. Another room in LEONATO'S house.</TITLE> +<STAGEDIR>Enter LEONATO, with DOGBERRY and VERGES</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What would you with me, honest neighbour?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Marry, sir, I would have some confidence with you</LINE> +<LINE>that decerns you nearly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Brief, I pray you; for you see it is a busy time with me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Marry, this it is, sir.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Yes, in truth it is, sir.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What is it, my good friends?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Goodman Verges, sir, speaks a little off the</LINE> +<LINE>matter: an old man, sir, and his wits are not so</LINE> +<LINE>blunt as, God help, I would desire they were; but,</LINE> +<LINE>in faith, honest as the skin between his brows.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Yes, I thank God I am as honest as any man living</LINE> +<LINE>that is an old man and no honester than I.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Comparisons are odorous: palabras, neighbour Verges.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Neighbours, you are tedious.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>It pleases your worship to say so, but we are the</LINE> +<LINE>poor duke's officers; but truly, for mine own part,</LINE> +<LINE>if I were as tedious as a king, I could find it in</LINE> +<LINE>my heart to bestow it all of your worship.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>All thy tediousness on me, ah?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Yea, an 'twere a thousand pound more than 'tis; for</LINE> +<LINE>I hear as good exclamation on your worship as of any</LINE> +<LINE>man in the city; and though I be but a poor man, I</LINE> +<LINE>am glad to hear it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>And so am I.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I would fain know what you have to say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Marry, sir, our watch to-night, excepting your</LINE> +<LINE>worship's presence, ha' ta'en a couple of as arrant</LINE> +<LINE>knaves as any in Messina.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>A good old man, sir; he will be talking: as they</LINE> +<LINE>say, when the age is in, the wit is out: God help</LINE> +<LINE>us! it is a world to see. Well said, i' faith,</LINE> +<LINE>neighbour Verges: well, God's a good man; an two men</LINE> +<LINE>ride of a horse, one must ride behind. An honest</LINE> +<LINE>soul, i' faith, sir; by my troth he is, as ever</LINE> +<LINE>broke bread; but God is to be worshipped; all men</LINE> +<LINE>are not alike; alas, good neighbour!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Indeed, neighbour, he comes too short of you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Gifts that God gives.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I must leave you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>One word, sir: our watch, sir, have indeed</LINE> +<LINE>comprehended two aspicious persons, and we would</LINE> +<LINE>have them this morning examined before your worship.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Take their examination yourself and bring it me: I</LINE> +<LINE>am now in great haste, as it may appear unto you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>It shall be suffigance.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Drink some wine ere you go: fare you well.</LINE> +</SPEECH> + + +<STAGEDIR>Enter a Messenger</STAGEDIR> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>My lord, they stay for you to give your daughter to</LINE> +<LINE>her husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I'll wait upon them: I am ready.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt LEONATO and Messenger</STAGEDIR> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Go, good partner, go, get you to Francis Seacole;</LINE> +<LINE>bid him bring his pen and inkhorn to the gaol: we</LINE> +<LINE>are now to examination these men.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>And we must do it wisely.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>We will spare for no wit, I warrant you; here's</LINE> +<LINE>that shall drive some of them to a non-come: only</LINE> +<LINE>get the learned writer to set down our</LINE> +<LINE>excommunication and meet me at the gaol.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +</ACT> + +<ACT><TITLE>ACT IV</TITLE> + +<SCENE><TITLE>SCENE I. A church.</TITLE> +<STAGEDIR>Enter DON PEDRO, DON JOHN, LEONATO, FRIAR FRANCIS, +CLAUDIO, BENEDICK, HERO, BEATRICE, and Attendants</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Come, Friar Francis, be brief; only to the plain</LINE> +<LINE>form of marriage, and you shall recount their</LINE> +<LINE>particular duties afterwards.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>You come hither, my lord, to marry this lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>No.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>To be married to her: friar, you come to marry her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Lady, you come hither to be married to this count.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>I do.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>If either of you know any inward impediment why you</LINE> +<LINE>should not be conjoined, charge you, on your souls,</LINE> +<LINE>to utter it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Know you any, Hero?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>None, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Know you any, count?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I dare make his answer, none.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O, what men dare do! what men may do! what men daily</LINE> +<LINE>do, not knowing what they do!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>How now! interjections? Why, then, some be of</LINE> +<LINE>laughing, as, ah, ha, he!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Stand thee by, friar. Father, by your leave:</LINE> +<LINE>Will you with free and unconstrained soul</LINE> +<LINE>Give me this maid, your daughter?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>As freely, son, as God did give her me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And what have I to give you back, whose worth</LINE> +<LINE>May counterpoise this rich and precious gift?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Nothing, unless you render her again.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Sweet prince, you learn me noble thankfulness.</LINE> +<LINE>There, Leonato, take her back again:</LINE> +<LINE>Give not this rotten orange to your friend;</LINE> +<LINE>She's but the sign and semblance of her honour.</LINE> +<LINE>Behold how like a maid she blushes here!</LINE> +<LINE>O, what authority and show of truth</LINE> +<LINE>Can cunning sin cover itself withal!</LINE> +<LINE>Comes not that blood as modest evidence</LINE> +<LINE>To witness simple virtue? Would you not swear,</LINE> +<LINE>All you that see her, that she were a maid,</LINE> +<LINE>By these exterior shows? But she is none:</LINE> +<LINE>She knows the heat of a luxurious bed;</LINE> +<LINE>Her blush is guiltiness, not modesty.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What do you mean, my lord?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Not to be married,</LINE> +<LINE>Not to knit my soul to an approved wanton.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Dear my lord, if you, in your own proof,</LINE> +<LINE>Have vanquish'd the resistance of her youth,</LINE> +<LINE>And made defeat of her virginity,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I know what you would say: if I have known her,</LINE> +<LINE>You will say she did embrace me as a husband,</LINE> +<LINE>And so extenuate the 'forehand sin:</LINE> +<LINE>No, Leonato,</LINE> +<LINE>I never tempted her with word too large;</LINE> +<LINE>But, as a brother to his sister, show'd</LINE> +<LINE>Bashful sincerity and comely love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>And seem'd I ever otherwise to you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Out on thee! Seeming! I will write against it:</LINE> +<LINE>You seem to me as Dian in her orb,</LINE> +<LINE>As chaste as is the bud ere it be blown;</LINE> +<LINE>But you are more intemperate in your blood</LINE> +<LINE>Than Venus, or those pamper'd animals</LINE> +<LINE>That rage in savage sensuality.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Is my lord well, that he doth speak so wide?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Sweet prince, why speak not you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What should I speak?</LINE> +<LINE>I stand dishonour'd, that have gone about</LINE> +<LINE>To link my dear friend to a common stale.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Are these things spoken, or do I but dream?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Sir, they are spoken, and these things are true.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>This looks not like a nuptial.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>True! O God!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Leonato, stand I here?</LINE> +<LINE>Is this the prince? is this the prince's brother?</LINE> +<LINE>Is this face Hero's? are our eyes our own?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>All this is so: but what of this, my lord?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Let me but move one question to your daughter;</LINE> +<LINE>And, by that fatherly and kindly power</LINE> +<LINE>That you have in her, bid her answer truly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I charge thee do so, as thou art my child.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>O, God defend me! how am I beset!</LINE> +<LINE>What kind of catechising call you this?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>To make you answer truly to your name.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Is it not Hero? Who can blot that name</LINE> +<LINE>With any just reproach?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Marry, that can Hero;</LINE> +<LINE>Hero itself can blot out Hero's virtue.</LINE> +<LINE>What man was he talk'd with you yesternight</LINE> +<LINE>Out at your window betwixt twelve and one?</LINE> +<LINE>Now, if you are a maid, answer to this.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>I talk'd with no man at that hour, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Why, then are you no maiden. Leonato,</LINE> +<LINE>I am sorry you must hear: upon mine honour,</LINE> +<LINE>Myself, my brother and this grieved count</LINE> +<LINE>Did see her, hear her, at that hour last night</LINE> +<LINE>Talk with a ruffian at her chamber-window</LINE> +<LINE>Who hath indeed, most like a liberal villain,</LINE> +<LINE>Confess'd the vile encounters they have had</LINE> +<LINE>A thousand times in secret.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Fie, fie! they are not to be named, my lord,</LINE> +<LINE>Not to be spoke of;</LINE> +<LINE>There is not chastity enough in language</LINE> +<LINE>Without offence to utter them. Thus, pretty lady,</LINE> +<LINE>I am sorry for thy much misgovernment.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O Hero, what a Hero hadst thou been,</LINE> +<LINE>If half thy outward graces had been placed</LINE> +<LINE>About thy thoughts and counsels of thy heart!</LINE> +<LINE>But fare thee well, most foul, most fair! farewell,</LINE> +<LINE>Thou pure impiety and impious purity!</LINE> +<LINE>For thee I'll lock up all the gates of love,</LINE> +<LINE>And on my eyelids shall conjecture hang,</LINE> +<LINE>To turn all beauty into thoughts of harm,</LINE> +<LINE>And never shall it more be gracious.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Hath no man's dagger here a point for me?</LINE> +</SPEECH> + + +<STAGEDIR>HERO swoons</STAGEDIR> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Why, how now, cousin! wherefore sink you down?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON JOHN</SPEAKER> +<LINE>Come, let us go. These things, come thus to light,</LINE> +<LINE>Smother her spirits up.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt DON PEDRO, DON JOHN, and CLAUDIO</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>How doth the lady?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Dead, I think. Help, uncle!</LINE> +<LINE>Hero! why, Hero! Uncle! Signior Benedick! Friar!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>O Fate! take not away thy heavy hand.</LINE> +<LINE>Death is the fairest cover for her shame</LINE> +<LINE>That may be wish'd for.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>How now, cousin Hero!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Have comfort, lady.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Dost thou look up?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Yea, wherefore should she not?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Wherefore! Why, doth not every earthly thing</LINE> +<LINE>Cry shame upon her? Could she here deny</LINE> +<LINE>The story that is printed in her blood?</LINE> +<LINE>Do not live, Hero; do not ope thine eyes:</LINE> +<LINE>For, did I think thou wouldst not quickly die,</LINE> +<LINE>Thought I thy spirits were stronger than thy shames,</LINE> +<LINE>Myself would, on the rearward of reproaches,</LINE> +<LINE>Strike at thy life. Grieved I, I had but one?</LINE> +<LINE>Chid I for that at frugal nature's frame?</LINE> +<LINE>O, one too much by thee! Why had I one?</LINE> +<LINE>Why ever wast thou lovely in my eyes?</LINE> +<LINE>Why had I not with charitable hand</LINE> +<LINE>Took up a beggar's issue at my gates,</LINE> +<LINE>Who smirch'd thus and mired with infamy,</LINE> +<LINE>I might have said 'No part of it is mine;</LINE> +<LINE>This shame derives itself from unknown loins'?</LINE> +<LINE>But mine and mine I loved and mine I praised</LINE> +<LINE>And mine that I was proud on, mine so much</LINE> +<LINE>That I myself was to myself not mine,</LINE> +<LINE>Valuing of her,--why, she, O, she is fallen</LINE> +<LINE>Into a pit of ink, that the wide sea</LINE> +<LINE>Hath drops too few to wash her clean again</LINE> +<LINE>And salt too little which may season give</LINE> +<LINE>To her foul-tainted flesh!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Sir, sir, be patient.</LINE> +<LINE>For my part, I am so attired in wonder,</LINE> +<LINE>I know not what to say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>O, on my soul, my cousin is belied!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Lady, were you her bedfellow last night?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, truly not; although, until last night,</LINE> +<LINE>I have this twelvemonth been her bedfellow.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Confirm'd, confirm'd! O, that is stronger made</LINE> +<LINE>Which was before barr'd up with ribs of iron!</LINE> +<LINE>Would the two princes lie, and Claudio lie,</LINE> +<LINE>Who loved her so, that, speaking of her foulness,</LINE> +<LINE>Wash'd it with tears? Hence from her! let her die.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Hear me a little; for I have only been</LINE> +<LINE>Silent so long and given way unto</LINE> +<LINE>This course of fortune</LINE> +<LINE>By noting of the lady. I have mark'd</LINE> +<LINE>A thousand blushing apparitions</LINE> +<LINE>To start into her face, a thousand innocent shames</LINE> +<LINE>In angel whiteness beat away those blushes;</LINE> +<LINE>And in her eye there hath appear'd a fire,</LINE> +<LINE>To burn the errors that these princes hold</LINE> +<LINE>Against her maiden truth. Call me a fool;</LINE> +<LINE>Trust not my reading nor my observations,</LINE> +<LINE>Which with experimental seal doth warrant</LINE> +<LINE>The tenor of my book; trust not my age,</LINE> +<LINE>My reverence, calling, nor divinity,</LINE> +<LINE>If this sweet lady lie not guiltless here</LINE> +<LINE>Under some biting error.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Friar, it cannot be.</LINE> +<LINE>Thou seest that all the grace that she hath left</LINE> +<LINE>Is that she will not add to her damnation</LINE> +<LINE>A sin of perjury; she not denies it:</LINE> +<LINE>Why seek'st thou then to cover with excuse</LINE> +<LINE>That which appears in proper nakedness?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Lady, what man is he you are accused of?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>They know that do accuse me; I know none:</LINE> +<LINE>If I know more of any man alive</LINE> +<LINE>Than that which maiden modesty doth warrant,</LINE> +<LINE>Let all my sins lack mercy! O my father,</LINE> +<LINE>Prove you that any man with me conversed</LINE> +<LINE>At hours unmeet, or that I yesternight</LINE> +<LINE>Maintain'd the change of words with any creature,</LINE> +<LINE>Refuse me, hate me, torture me to death!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>There is some strange misprision in the princes.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Two of them have the very bent of honour;</LINE> +<LINE>And if their wisdoms be misled in this,</LINE> +<LINE>The practise of it lives in John the bastard,</LINE> +<LINE>Whose spirits toil in frame of villanies.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I know not. If they speak but truth of her,</LINE> +<LINE>These hands shall tear her; if they wrong her honour,</LINE> +<LINE>The proudest of them shall well hear of it.</LINE> +<LINE>Time hath not yet so dried this blood of mine,</LINE> +<LINE>Nor age so eat up my invention,</LINE> +<LINE>Nor fortune made such havoc of my means,</LINE> +<LINE>Nor my bad life reft me so much of friends,</LINE> +<LINE>But they shall find, awaked in such a kind,</LINE> +<LINE>Both strength of limb and policy of mind,</LINE> +<LINE>Ability in means and choice of friends,</LINE> +<LINE>To quit me of them throughly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Pause awhile,</LINE> +<LINE>And let my counsel sway you in this case.</LINE> +<LINE>Your daughter here the princes left for dead:</LINE> +<LINE>Let her awhile be secretly kept in,</LINE> +<LINE>And publish it that she is dead indeed;</LINE> +<LINE>Maintain a mourning ostentation</LINE> +<LINE>And on your family's old monument</LINE> +<LINE>Hang mournful epitaphs and do all rites</LINE> +<LINE>That appertain unto a burial.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>What shall become of this? what will this do?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Marry, this well carried shall on her behalf</LINE> +<LINE>Change slander to remorse; that is some good:</LINE> +<LINE>But not for that dream I on this strange course,</LINE> +<LINE>But on this travail look for greater birth.</LINE> +<LINE>She dying, as it must so be maintain'd,</LINE> +<LINE>Upon the instant that she was accused,</LINE> +<LINE>Shall be lamented, pitied and excused</LINE> +<LINE>Of every hearer: for it so falls out</LINE> +<LINE>That what we have we prize not to the worth</LINE> +<LINE>Whiles we enjoy it, but being lack'd and lost,</LINE> +<LINE>Why, then we rack the value, then we find</LINE> +<LINE>The virtue that possession would not show us</LINE> +<LINE>Whiles it was ours. So will it fare with Claudio:</LINE> +<LINE>When he shall hear she died upon his words,</LINE> +<LINE>The idea of her life shall sweetly creep</LINE> +<LINE>Into his study of imagination,</LINE> +<LINE>And every lovely organ of her life</LINE> +<LINE>Shall come apparell'd in more precious habit,</LINE> +<LINE>More moving-delicate and full of life,</LINE> +<LINE>Into the eye and prospect of his soul,</LINE> +<LINE>Than when she lived indeed; then shall he mourn,</LINE> +<LINE>If ever love had interest in his liver,</LINE> +<LINE>And wish he had not so accused her,</LINE> +<LINE>No, though he thought his accusation true.</LINE> +<LINE>Let this be so, and doubt not but success</LINE> +<LINE>Will fashion the event in better shape</LINE> +<LINE>Than I can lay it down in likelihood.</LINE> +<LINE>But if all aim but this be levell'd false,</LINE> +<LINE>The supposition of the lady's death</LINE> +<LINE>Will quench the wonder of her infamy:</LINE> +<LINE>And if it sort not well, you may conceal her,</LINE> +<LINE>As best befits her wounded reputation,</LINE> +<LINE>In some reclusive and religious life,</LINE> +<LINE>Out of all eyes, tongues, minds and injuries.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Signior Leonato, let the friar advise you:</LINE> +<LINE>And though you know my inwardness and love</LINE> +<LINE>Is very much unto the prince and Claudio,</LINE> +<LINE>Yet, by mine honour, I will deal in this</LINE> +<LINE>As secretly and justly as your soul</LINE> +<LINE>Should with your body.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Being that I flow in grief,</LINE> +<LINE>The smallest twine may lead me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>'Tis well consented: presently away;</LINE> +<LINE>For to strange sores strangely they strain the cure.</LINE> +<LINE>Come, lady, die to live: this wedding-day</LINE> +<LINE>Perhaps is but prolong'd: have patience and endure.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt all but BENEDICK and BEATRICE</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Lady Beatrice, have you wept all this while?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yea, and I will weep a while longer.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I will not desire that.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You have no reason; I do it freely.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Surely I do believe your fair cousin is wronged.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Ah, how much might the man deserve of me that would right her!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Is there any way to show such friendship?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>A very even way, but no such friend.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>May a man do it?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>It is a man's office, but not yours.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I do love nothing in the world so well as you: is</LINE> +<LINE>not that strange?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>As strange as the thing I know not. It were as</LINE> +<LINE>possible for me to say I loved nothing so well as</LINE> +<LINE>you: but believe me not; and yet I lie not; I</LINE> +<LINE>confess nothing, nor I deny nothing. I am sorry for my cousin.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>By my sword, Beatrice, thou lovest me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Do not swear, and eat it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I will swear by it that you love me; and I will make</LINE> +<LINE>him eat it that says I love not you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Will you not eat your word?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>With no sauce that can be devised to it. I protest</LINE> +<LINE>I love thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Why, then, God forgive me!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>What offence, sweet Beatrice?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You have stayed me in a happy hour: I was about to</LINE> +<LINE>protest I loved you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And do it with all thy heart.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I love you with so much of my heart that none is</LINE> +<LINE>left to protest.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Come, bid me do any thing for thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Kill Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Ha! not for the wide world.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You kill me to deny it. Farewell.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Tarry, sweet Beatrice.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I am gone, though I am here: there is no love in</LINE> +<LINE>you: nay, I pray you, let me go.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Beatrice,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>In faith, I will go.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>We'll be friends first.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>You dare easier be friends with me than fight with mine enemy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Is Claudio thine enemy?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Is he not approved in the height a villain, that</LINE> +<LINE>hath slandered, scorned, dishonoured my kinswoman? O</LINE> +<LINE>that I were a man! What, bear her in hand until they</LINE> +<LINE>come to take hands; and then, with public</LINE> +<LINE>accusation, uncovered slander, unmitigated rancour,</LINE> +<LINE>--O God, that I were a man! I would eat his heart</LINE> +<LINE>in the market-place.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Hear me, Beatrice,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Talk with a man out at a window! A proper saying!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Nay, but, Beatrice,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Sweet Hero! She is wronged, she is slandered, she is undone.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Beat--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Princes and counties! Surely, a princely testimony,</LINE> +<LINE>a goodly count, Count Comfect; a sweet gallant,</LINE> +<LINE>surely! O that I were a man for his sake! or that I</LINE> +<LINE>had any friend would be a man for my sake! But</LINE> +<LINE>manhood is melted into courtesies, valour into</LINE> +<LINE>compliment, and men are only turned into tongue, and</LINE> +<LINE>trim ones too: he is now as valiant as Hercules</LINE> +<LINE>that only tells a lie and swears it. I cannot be a</LINE> +<LINE>man with wishing, therefore I will die a woman with grieving.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Tarry, good Beatrice. By this hand, I love thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Use it for my love some other way than swearing by it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Think you in your soul the Count Claudio hath wronged Hero?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yea, as sure as I have a thought or a soul.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Enough, I am engaged; I will challenge him. I will</LINE> +<LINE>kiss your hand, and so I leave you. By this hand,</LINE> +<LINE>Claudio shall render me a dear account. As you</LINE> +<LINE>hear of me, so think of me. Go, comfort your</LINE> +<LINE>cousin: I must say she is dead: and so, farewell.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE II. A prison.</TITLE> +<STAGEDIR>Enter DOGBERRY, VERGES, and Sexton, in gowns; and +the Watch, with CONRADE and BORACHIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Is our whole dissembly appeared?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>O, a stool and a cushion for the sexton.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>Which be the malefactors?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Marry, that am I and my partner.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Nay, that's certain; we have the exhibition to examine.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>But which are the offenders that are to be</LINE> +<LINE>examined? let them come before master constable.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Yea, marry, let them come before me. What is your</LINE> +<LINE>name, friend?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Borachio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Pray, write down, Borachio. Yours, sirrah?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>I am a gentleman, sir, and my name is Conrade.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Write down, master gentleman Conrade. Masters, do</LINE> +<LINE>you serve God?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Yea, sir, we hope.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Write down, that they hope they serve God: and</LINE> +<LINE>write God first; for God defend but God should go</LINE> +<LINE>before such villains! Masters, it is proved already</LINE> +<LINE>that you are little better than false knaves; and it</LINE> +<LINE>will go near to be thought so shortly. How answer</LINE> +<LINE>you for yourselves?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Marry, sir, we say we are none.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>A marvellous witty fellow, I assure you: but I</LINE> +<LINE>will go about with him. Come you hither, sirrah; a</LINE> +<LINE>word in your ear: sir, I say to you, it is thought</LINE> +<LINE>you are false knaves.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Sir, I say to you we are none.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Well, stand aside. 'Fore God, they are both in a</LINE> +<LINE>tale. Have you writ down, that they are none?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>Master constable, you go not the way to examine:</LINE> +<LINE>you must call forth the watch that are their accusers.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Yea, marry, that's the eftest way. Let the watch</LINE> +<LINE>come forth. Masters, I charge you, in the prince's</LINE> +<LINE>name, accuse these men.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>This man said, sir, that Don John, the prince's</LINE> +<LINE>brother, was a villain.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Write down Prince John a villain. Why, this is flat</LINE> +<LINE>perjury, to call a prince's brother villain.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Master constable,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Pray thee, fellow, peace: I do not like thy look,</LINE> +<LINE>I promise thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>What heard you him say else?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Second Watchman</SPEAKER> +<LINE>Marry, that he had received a thousand ducats of</LINE> +<LINE>Don John for accusing the Lady Hero wrongfully.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Flat burglary as ever was committed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Yea, by mass, that it is.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>What else, fellow?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>First Watchman</SPEAKER> +<LINE>And that Count Claudio did mean, upon his words, to</LINE> +<LINE>disgrace Hero before the whole assembly. and not marry her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>O villain! thou wilt be condemned into everlasting</LINE> +<LINE>redemption for this.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>What else?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Watchman</SPEAKER> +<LINE>This is all.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Sexton</SPEAKER> +<LINE>And this is more, masters, than you can deny.</LINE> +<LINE>Prince John is this morning secretly stolen away;</LINE> +<LINE>Hero was in this manner accused, in this very manner</LINE> +<LINE>refused, and upon the grief of this suddenly died.</LINE> +<LINE>Master constable, let these men be bound, and</LINE> +<LINE>brought to Leonato's: I will go before and show</LINE> +<LINE>him their examination.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Come, let them be opinioned.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Let them be in the hands--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Off, coxcomb!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>God's my life, where's the sexton? let him write</LINE> +<LINE>down the prince's officer coxcomb. Come, bind them.</LINE> +<LINE>Thou naughty varlet!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CONRADE</SPEAKER> +<LINE>Away! you are an ass, you are an ass.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Dost thou not suspect my place? dost thou not</LINE> +<LINE>suspect my years? O that he were here to write me</LINE> +<LINE>down an ass! But, masters, remember that I am an</LINE> +<LINE>ass; though it be not written down, yet forget not</LINE> +<LINE>that I am an ass. No, thou villain, thou art full of</LINE> +<LINE>piety, as shall be proved upon thee by good witness.</LINE> +<LINE>I am a wise fellow, and, which is more, an officer,</LINE> +<LINE>and, which is more, a householder, and, which is</LINE> +<LINE>more, as pretty a piece of flesh as any is in</LINE> +<LINE>Messina, and one that knows the law, go to; and a</LINE> +<LINE>rich fellow enough, go to; and a fellow that hath</LINE> +<LINE>had losses, and one that hath two gowns and every</LINE> +<LINE>thing handsome about him. Bring him away. O that</LINE> +<LINE>I had been writ down an ass!</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +</ACT> + +<ACT><TITLE>ACT V</TITLE> + +<SCENE><TITLE>SCENE I. Before LEONATO'S house.</TITLE> +<STAGEDIR>Enter LEONATO and ANTONIO</STAGEDIR> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>If you go on thus, you will kill yourself:</LINE> +<LINE>And 'tis not wisdom thus to second grief</LINE> +<LINE>Against yourself.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I pray thee, cease thy counsel,</LINE> +<LINE>Which falls into mine ears as profitless</LINE> +<LINE>As water in a sieve: give not me counsel;</LINE> +<LINE>Nor let no comforter delight mine ear</LINE> +<LINE>But such a one whose wrongs do suit with mine.</LINE> +<LINE>Bring me a father that so loved his child,</LINE> +<LINE>Whose joy of her is overwhelm'd like mine,</LINE> +<LINE>And bid him speak of patience;</LINE> +<LINE>Measure his woe the length and breadth of mine</LINE> +<LINE>And let it answer every strain for strain,</LINE> +<LINE>As thus for thus and such a grief for such,</LINE> +<LINE>In every lineament, branch, shape, and form:</LINE> +<LINE>If such a one will smile and stroke his beard,</LINE> +<LINE>Bid sorrow wag, cry 'hem!' when he should groan,</LINE> +<LINE>Patch grief with proverbs, make misfortune drunk</LINE> +<LINE>With candle-wasters; bring him yet to me,</LINE> +<LINE>And I of him will gather patience.</LINE> +<LINE>But there is no such man: for, brother, men</LINE> +<LINE>Can counsel and speak comfort to that grief</LINE> +<LINE>Which they themselves not feel; but, tasting it,</LINE> +<LINE>Their counsel turns to passion, which before</LINE> +<LINE>Would give preceptial medicine to rage,</LINE> +<LINE>Fetter strong madness in a silken thread,</LINE> +<LINE>Charm ache with air and agony with words:</LINE> +<LINE>No, no; 'tis all men's office to speak patience</LINE> +<LINE>To those that wring under the load of sorrow,</LINE> +<LINE>But no man's virtue nor sufficiency</LINE> +<LINE>To be so moral when he shall endure</LINE> +<LINE>The like himself. Therefore give me no counsel:</LINE> +<LINE>My griefs cry louder than advertisement.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Therein do men from children nothing differ.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I pray thee, peace. I will be flesh and blood;</LINE> +<LINE>For there was never yet philosopher</LINE> +<LINE>That could endure the toothache patiently,</LINE> +<LINE>However they have writ the style of gods</LINE> +<LINE>And made a push at chance and sufferance.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Yet bend not all the harm upon yourself;</LINE> +<LINE>Make those that do offend you suffer too.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>There thou speak'st reason: nay, I will do so.</LINE> +<LINE>My soul doth tell me Hero is belied;</LINE> +<LINE>And that shall Claudio know; so shall the prince</LINE> +<LINE>And all of them that thus dishonour her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Here comes the prince and Claudio hastily.</LINE> +</SPEECH> + + +<STAGEDIR>Enter DON PEDRO and CLAUDIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good den, good den.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Good day to both of you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Hear you. my lords,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>We have some haste, Leonato.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Some haste, my lord! well, fare you well, my lord:</LINE> +<LINE>Are you so hasty now? well, all is one.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Nay, do not quarrel with us, good old man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>If he could right himself with quarreling,</LINE> +<LINE>Some of us would lie low.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Who wrongs him?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Marry, thou dost wrong me; thou dissembler, thou:--</LINE> +<LINE>Nay, never lay thy hand upon thy sword;</LINE> +<LINE>I fear thee not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Marry, beshrew my hand,</LINE> +<LINE>If it should give your age such cause of fear:</LINE> +<LINE>In faith, my hand meant nothing to my sword.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Tush, tush, man; never fleer and jest at me:</LINE> +<LINE>I speak not like a dotard nor a fool,</LINE> +<LINE>As under privilege of age to brag</LINE> +<LINE>What I have done being young, or what would do</LINE> +<LINE>Were I not old. Know, Claudio, to thy head,</LINE> +<LINE>Thou hast so wrong'd mine innocent child and me</LINE> +<LINE>That I am forced to lay my reverence by</LINE> +<LINE>And, with grey hairs and bruise of many days,</LINE> +<LINE>Do challenge thee to trial of a man.</LINE> +<LINE>I say thou hast belied mine innocent child;</LINE> +<LINE>Thy slander hath gone through and through her heart,</LINE> +<LINE>And she lies buried with her ancestors;</LINE> +<LINE>O, in a tomb where never scandal slept,</LINE> +<LINE>Save this of hers, framed by thy villany!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>My villany?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Thine, Claudio; thine, I say.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>You say not right, old man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>My lord, my lord,</LINE> +<LINE>I'll prove it on his body, if he dare,</LINE> +<LINE>Despite his nice fence and his active practise,</LINE> +<LINE>His May of youth and bloom of lustihood.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Away! I will not have to do with you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Canst thou so daff me? Thou hast kill'd my child:</LINE> +<LINE>If thou kill'st me, boy, thou shalt kill a man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>He shall kill two of us, and men indeed:</LINE> +<LINE>But that's no matter; let him kill one first;</LINE> +<LINE>Win me and wear me; let him answer me.</LINE> +<LINE>Come, follow me, boy; come, sir boy, come, follow me:</LINE> +<LINE>Sir boy, I'll whip you from your foining fence;</LINE> +<LINE>Nay, as I am a gentleman, I will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Brother,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Content yourself. God knows I loved my niece;</LINE> +<LINE>And she is dead, slander'd to death by villains,</LINE> +<LINE>That dare as well answer a man indeed</LINE> +<LINE>As I dare take a serpent by the tongue:</LINE> +<LINE>Boys, apes, braggarts, Jacks, milksops!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Brother Antony,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Hold you content. What, man! I know them, yea,</LINE> +<LINE>And what they weigh, even to the utmost scruple,--</LINE> +<LINE>Scrambling, out-facing, fashion-monging boys,</LINE> +<LINE>That lie and cog and flout, deprave and slander,</LINE> +<LINE>Go anticly, show outward hideousness,</LINE> +<LINE>And speak off half a dozen dangerous words,</LINE> +<LINE>How they might hurt their enemies, if they durst;</LINE> +<LINE>And this is all.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>But, brother Antony,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Come, 'tis no matter:</LINE> +<LINE>Do not you meddle; let me deal in this.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Gentlemen both, we will not wake your patience.</LINE> +<LINE>My heart is sorry for your daughter's death:</LINE> +<LINE>But, on my honour, she was charged with nothing</LINE> +<LINE>But what was true and very full of proof.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>My lord, my lord,--</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I will not hear you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No? Come, brother; away! I will be heard.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>And shall, or some of us will smart for it.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt LEONATO and ANTONIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>See, see; here comes the man we went to seek.</LINE> +</SPEECH> + + +<STAGEDIR>Enter BENEDICK</STAGEDIR> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Now, signior, what news?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Good day, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Welcome, signior: you are almost come to part</LINE> +<LINE>almost a fray.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>We had like to have had our two noses snapped off</LINE> +<LINE>with two old men without teeth.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Leonato and his brother. What thinkest thou? Had</LINE> +<LINE>we fought, I doubt we should have been too young for them.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>In a false quarrel there is no true valour. I came</LINE> +<LINE>to seek you both.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>We have been up and down to seek thee; for we are</LINE> +<LINE>high-proof melancholy and would fain have it beaten</LINE> +<LINE>away. Wilt thou use thy wit?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>It is in my scabbard: shall I draw it?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Dost thou wear thy wit by thy side?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Never any did so, though very many have been beside</LINE> +<LINE>their wit. I will bid thee draw, as we do the</LINE> +<LINE>minstrels; draw, to pleasure us.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>As I am an honest man, he looks pale. Art thou</LINE> +<LINE>sick, or angry?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>What, courage, man! What though care killed a cat,</LINE> +<LINE>thou hast mettle enough in thee to kill care.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Sir, I shall meet your wit in the career, and you</LINE> +<LINE>charge it against me. I pray you choose another subject.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Nay, then, give him another staff: this last was</LINE> +<LINE>broke cross.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>By this light, he changes more and more: I think</LINE> +<LINE>he be angry indeed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>If he be, he knows how to turn his girdle.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Shall I speak a word in your ear?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>God bless me from a challenge!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE><STAGEDIR>Aside to CLAUDIO</STAGEDIR> You are a villain; I jest not:</LINE> +<LINE>I will make it good how you dare, with what you</LINE> +<LINE>dare, and when you dare. Do me right, or I will</LINE> +<LINE>protest your cowardice. You have killed a sweet</LINE> +<LINE>lady, and her death shall fall heavy on you. Let me</LINE> +<LINE>hear from you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Well, I will meet you, so I may have good cheer.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What, a feast, a feast?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I' faith, I thank him; he hath bid me to a calf's</LINE> +<LINE>head and a capon; the which if I do not carve most</LINE> +<LINE>curiously, say my knife's naught. Shall I not find</LINE> +<LINE>a woodcock too?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Sir, your wit ambles well; it goes easily.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>I'll tell thee how Beatrice praised thy wit the</LINE> +<LINE>other day. I said, thou hadst a fine wit: 'True,'</LINE> +<LINE>said she, 'a fine little one.' 'No,' said I, 'a</LINE> +<LINE>great wit:' 'Right,' says she, 'a great gross one.'</LINE> +<LINE>'Nay,' said I, 'a good wit:' 'Just,' said she, 'it</LINE> +<LINE>hurts nobody.' 'Nay,' said I, 'the gentleman</LINE> +<LINE>is wise:' 'Certain,' said she, 'a wise gentleman.'</LINE> +<LINE>'Nay,' said I, 'he hath the tongues:' 'That I</LINE> +<LINE>believe,' said she, 'for he swore a thing to me on</LINE> +<LINE>Monday night, which he forswore on Tuesday morning;</LINE> +<LINE>there's a double tongue; there's two tongues.' Thus</LINE> +<LINE>did she, an hour together, transshape thy particular</LINE> +<LINE>virtues: yet at last she concluded with a sigh, thou</LINE> +<LINE>wast the properest man in Italy.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>For the which she wept heartily and said she cared</LINE> +<LINE>not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Yea, that she did: but yet, for all that, an if she</LINE> +<LINE>did not hate him deadly, she would love him dearly:</LINE> +<LINE>the old man's daughter told us all.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>All, all; and, moreover, God saw him when he was</LINE> +<LINE>hid in the garden.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>But when shall we set the savage bull's horns on</LINE> +<LINE>the sensible Benedick's head?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Yea, and text underneath, 'Here dwells Benedick the</LINE> +<LINE>married man'?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Fare you well, boy: you know my mind. I will leave</LINE> +<LINE>you now to your gossip-like humour: you break jests</LINE> +<LINE>as braggarts do their blades, which God be thanked,</LINE> +<LINE>hurt not. My lord, for your many courtesies I thank</LINE> +<LINE>you: I must discontinue your company: your brother</LINE> +<LINE>the bastard is fled from Messina: you have among</LINE> +<LINE>you killed a sweet and innocent lady. For my Lord</LINE> +<LINE>Lackbeard there, he and I shall meet: and, till</LINE> +<LINE>then, peace be with him.</LINE> +</SPEECH> + + +<STAGEDIR>Exit</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>He is in earnest.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>In most profound earnest; and, I'll warrant you, for</LINE> +<LINE>the love of Beatrice.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>And hath challenged thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Most sincerely.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>What a pretty thing man is when he goes in his</LINE> +<LINE>doublet and hose and leaves off his wit!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>He is then a giant to an ape; but then is an ape a</LINE> +<LINE>doctor to such a man.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>But, soft you, let me be: pluck up, my heart, and</LINE> +<LINE>be sad. Did he not say, my brother was fled?</LINE> +</SPEECH> + + +<STAGEDIR>Enter DOGBERRY, VERGES, and the Watch, with CONRADE +and BORACHIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Come you, sir: if justice cannot tame you, she</LINE> +<LINE>shall ne'er weigh more reasons in her balance: nay,</LINE> +<LINE>an you be a cursing hypocrite once, you must be looked to.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>How now? two of my brother's men bound! Borachio</LINE> +<LINE>one!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Hearken after their offence, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Officers, what offence have these men done?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Marry, sir, they have committed false report;</LINE> +<LINE>moreover, they have spoken untruths; secondarily,</LINE> +<LINE>they are slanders; sixth and lastly, they have</LINE> +<LINE>belied a lady; thirdly, they have verified unjust</LINE> +<LINE>things; and, to conclude, they are lying knaves.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>First, I ask thee what they have done; thirdly, I</LINE> +<LINE>ask thee what's their offence; sixth and lastly, why</LINE> +<LINE>they are committed; and, to conclude, what you lay</LINE> +<LINE>to their charge.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Rightly reasoned, and in his own division: and, by</LINE> +<LINE>my troth, there's one meaning well suited.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Who have you offended, masters, that you are thus</LINE> +<LINE>bound to your answer? this learned constable is</LINE> +<LINE>too cunning to be understood: what's your offence?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Sweet prince, let me go no farther to mine answer:</LINE> +<LINE>do you hear me, and let this count kill me. I have</LINE> +<LINE>deceived even your very eyes: what your wisdoms</LINE> +<LINE>could not discover, these shallow fools have brought</LINE> +<LINE>to light: who in the night overheard me confessing</LINE> +<LINE>to this man how Don John your brother incensed me</LINE> +<LINE>to slander the Lady Hero, how you were brought into</LINE> +<LINE>the orchard and saw me court Margaret in Hero's</LINE> +<LINE>garments, how you disgraced her, when you should</LINE> +<LINE>marry her: my villany they have upon record; which</LINE> +<LINE>I had rather seal with my death than repeat over</LINE> +<LINE>to my shame. The lady is dead upon mine and my</LINE> +<LINE>master's false accusation; and, briefly, I desire</LINE> +<LINE>nothing but the reward of a villain.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Runs not this speech like iron through your blood?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I have drunk poison whiles he utter'd it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>But did my brother set thee on to this?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Yea, and paid me richly for the practise of it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>He is composed and framed of treachery:</LINE> +<LINE>And fled he is upon this villany.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Sweet Hero! now thy image doth appear</LINE> +<LINE>In the rare semblance that I loved it first.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Come, bring away the plaintiffs: by this time our</LINE> +<LINE>sexton hath reformed Signior Leonato of the matter:</LINE> +<LINE>and, masters, do not forget to specify, when time</LINE> +<LINE>and place shall serve, that I am an ass.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>VERGES</SPEAKER> +<LINE>Here, here comes master Signior Leonato, and the</LINE> +<LINE>Sexton too.</LINE> +</SPEECH> + + +<STAGEDIR>Re-enter LEONATO and ANTONIO, with the Sexton</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Which is the villain? let me see his eyes,</LINE> +<LINE>That, when I note another man like him,</LINE> +<LINE>I may avoid him: which of these is he?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>If you would know your wronger, look on me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Art thou the slave that with thy breath hast kill'd</LINE> +<LINE>Mine innocent child?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>Yea, even I alone.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No, not so, villain; thou beliest thyself:</LINE> +<LINE>Here stand a pair of honourable men;</LINE> +<LINE>A third is fled, that had a hand in it.</LINE> +<LINE>I thank you, princes, for my daughter's death:</LINE> +<LINE>Record it with your high and worthy deeds:</LINE> +<LINE>'Twas bravely done, if you bethink you of it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I know not how to pray your patience;</LINE> +<LINE>Yet I must speak. Choose your revenge yourself;</LINE> +<LINE>Impose me to what penance your invention</LINE> +<LINE>Can lay upon my sin: yet sinn'd I not</LINE> +<LINE>But in mistaking.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>By my soul, nor I:</LINE> +<LINE>And yet, to satisfy this good old man,</LINE> +<LINE>I would bend under any heavy weight</LINE> +<LINE>That he'll enjoin me to.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I cannot bid you bid my daughter live;</LINE> +<LINE>That were impossible: but, I pray you both,</LINE> +<LINE>Possess the people in Messina here</LINE> +<LINE>How innocent she died; and if your love</LINE> +<LINE>Can labour ought in sad invention,</LINE> +<LINE>Hang her an epitaph upon her tomb</LINE> +<LINE>And sing it to her bones, sing it to-night:</LINE> +<LINE>To-morrow morning come you to my house,</LINE> +<LINE>And since you could not be my son-in-law,</LINE> +<LINE>Be yet my nephew: my brother hath a daughter,</LINE> +<LINE>Almost the copy of my child that's dead,</LINE> +<LINE>And she alone is heir to both of us:</LINE> +<LINE>Give her the right you should have given her cousin,</LINE> +<LINE>And so dies my revenge.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>O noble sir,</LINE> +<LINE>Your over-kindness doth wring tears from me!</LINE> +<LINE>I do embrace your offer; and dispose</LINE> +<LINE>For henceforth of poor Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>To-morrow then I will expect your coming;</LINE> +<LINE>To-night I take my leave. This naughty man</LINE> +<LINE>Shall face to face be brought to Margaret,</LINE> +<LINE>Who I believe was pack'd in all this wrong,</LINE> +<LINE>Hired to it by your brother.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BORACHIO</SPEAKER> +<LINE>No, by my soul, she was not,</LINE> +<LINE>Nor knew not what she did when she spoke to me,</LINE> +<LINE>But always hath been just and virtuous</LINE> +<LINE>In any thing that I do know by her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Moreover, sir, which indeed is not under white and</LINE> +<LINE>black, this plaintiff here, the offender, did call</LINE> +<LINE>me ass: I beseech you, let it be remembered in his</LINE> +<LINE>punishment. And also, the watch heard them talk of</LINE> +<LINE>one Deformed: they say be wears a key in his ear and</LINE> +<LINE>a lock hanging by it, and borrows money in God's</LINE> +<LINE>name, the which he hath used so long and never paid</LINE> +<LINE>that now men grow hard-hearted and will lend nothing</LINE> +<LINE>for God's sake: pray you, examine him upon that point.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>I thank thee for thy care and honest pains.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>Your worship speaks like a most thankful and</LINE> +<LINE>reverend youth; and I praise God for you.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>There's for thy pains.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>God save the foundation!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Go, I discharge thee of thy prisoner, and I thank thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DOGBERRY</SPEAKER> +<LINE>I leave an arrant knave with your worship; which I</LINE> +<LINE>beseech your worship to correct yourself, for the</LINE> +<LINE>example of others. God keep your worship! I wish</LINE> +<LINE>your worship well; God restore you to health! I</LINE> +<LINE>humbly give you leave to depart; and if a merry</LINE> +<LINE>meeting may be wished, God prohibit it! Come, neighbour.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt DOGBERRY and VERGES</STAGEDIR> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Until to-morrow morning, lords, farewell.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Farewell, my lords: we look for you to-morrow.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>We will not fail.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>To-night I'll mourn with Hero.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE><STAGEDIR>To the Watch</STAGEDIR> Bring you these fellows on. We'll</LINE> +<LINE>talk with Margaret,</LINE> +<LINE>How her acquaintance grew with this lewd fellow.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt, severally</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE II. LEONATO'S garden.</TITLE> +<STAGEDIR>Enter BENEDICK and MARGARET, meeting</STAGEDIR> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Pray thee, sweet Mistress Margaret, deserve well at</LINE> +<LINE>my hands by helping me to the speech of Beatrice.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Will you then write me a sonnet in praise of my beauty?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>In so high a style, Margaret, that no man living</LINE> +<LINE>shall come over it; for, in most comely truth, thou</LINE> +<LINE>deservest it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>To have no man come over me! why, shall I always</LINE> +<LINE>keep below stairs?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Thy wit is as quick as the greyhound's mouth; it catches.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>And yours as blunt as the fencer's foils, which hit,</LINE> +<LINE>but hurt not.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>A most manly wit, Margaret; it will not hurt a</LINE> +<LINE>woman: and so, I pray thee, call Beatrice: I give</LINE> +<LINE>thee the bucklers.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Give us the swords; we have bucklers of our own.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>If you use them, Margaret, you must put in the</LINE> +<LINE>pikes with a vice; and they are dangerous weapons for maids.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>MARGARET</SPEAKER> +<LINE>Well, I will call Beatrice to you, who I think hath legs.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And therefore will come.</LINE> +<STAGEDIR>Exit MARGARET</STAGEDIR> +<STAGEDIR>Sings</STAGEDIR> +<LINE>The god of love,</LINE> +<LINE>That sits above,</LINE> +<LINE>And knows me, and knows me,</LINE> +<LINE>How pitiful I deserve,--</LINE> +<LINE>I mean in singing; but in loving, Leander the good</LINE> +<LINE>swimmer, Troilus the first employer of panders, and</LINE> +<LINE>a whole bookful of these quondam carpet-mangers,</LINE> +<LINE>whose names yet run smoothly in the even road of a</LINE> +<LINE>blank verse, why, they were never so truly turned</LINE> +<LINE>over and over as my poor self in love. Marry, I</LINE> +<LINE>cannot show it in rhyme; I have tried: I can find</LINE> +<LINE>out no rhyme to 'lady' but 'baby,' an innocent</LINE> +<LINE>rhyme; for 'scorn,' 'horn,' a hard rhyme; for,</LINE> +<LINE>'school,' 'fool,' a babbling rhyme; very ominous</LINE> +<LINE>endings: no, I was not born under a rhyming planet,</LINE> +<LINE>nor I cannot woo in festival terms.</LINE> +<STAGEDIR>Enter BEATRICE</STAGEDIR> +<LINE>Sweet Beatrice, wouldst thou come when I called thee?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Yea, signior, and depart when you bid me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>O, stay but till then!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>'Then' is spoken; fare you well now: and yet, ere</LINE> +<LINE>I go, let me go with that I came; which is, with</LINE> +<LINE>knowing what hath passed between you and Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Only foul words; and thereupon I will kiss thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Foul words is but foul wind, and foul wind is but</LINE> +<LINE>foul breath, and foul breath is noisome; therefore I</LINE> +<LINE>will depart unkissed.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Thou hast frighted the word out of his right sense,</LINE> +<LINE>so forcible is thy wit. But I must tell thee</LINE> +<LINE>plainly, Claudio undergoes my challenge; and either</LINE> +<LINE>I must shortly hear from him, or I will subscribe</LINE> +<LINE>him a coward. And, I pray thee now, tell me for</LINE> +<LINE>which of my bad parts didst thou first fall in love with me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>For them all together; which maintained so politic</LINE> +<LINE>a state of evil that they will not admit any good</LINE> +<LINE>part to intermingle with them. But for which of my</LINE> +<LINE>good parts did you first suffer love for me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Suffer love! a good epithet! I do suffer love</LINE> +<LINE>indeed, for I love thee against my will.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>In spite of your heart, I think; alas, poor heart!</LINE> +<LINE>If you spite it for my sake, I will spite it for</LINE> +<LINE>yours; for I will never love that which my friend hates.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Thou and I are too wise to woo peaceably.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>It appears not in this confession: there's not one</LINE> +<LINE>wise man among twenty that will praise himself.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>An old, an old instance, Beatrice, that lived in</LINE> +<LINE>the lime of good neighbours. If a man do not erect</LINE> +<LINE>in this age his own tomb ere he dies, he shall live</LINE> +<LINE>no longer in monument than the bell rings and the</LINE> +<LINE>widow weeps.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>And how long is that, think you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Question: why, an hour in clamour and a quarter in</LINE> +<LINE>rheum: therefore is it most expedient for the</LINE> +<LINE>wise, if Don Worm, his conscience, find no</LINE> +<LINE>impediment to the contrary, to be the trumpet of his</LINE> +<LINE>own virtues, as I am to myself. So much for</LINE> +<LINE>praising myself, who, I myself will bear witness, is</LINE> +<LINE>praiseworthy: and now tell me, how doth your cousin?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Very ill.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And how do you?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Very ill too.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Serve God, love me and mend. There will I leave</LINE> +<LINE>you too, for here comes one in haste.</LINE> +</SPEECH> + + +<STAGEDIR>Enter URSULA</STAGEDIR> + +<SPEECH> +<SPEAKER>URSULA</SPEAKER> +<LINE>Madam, you must come to your uncle. Yonder's old</LINE> +<LINE>coil at home: it is proved my Lady Hero hath been</LINE> +<LINE>falsely accused, the prince and Claudio mightily</LINE> +<LINE>abused; and Don John is the author of all, who is</LINE> +<LINE>fed and gone. Will you come presently?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Will you go hear this news, signior?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I will live in thy heart, die in thy lap, and be</LINE> +<LINE>buried in thy eyes; and moreover I will go with</LINE> +<LINE>thee to thy uncle's.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE III. A church.</TITLE> +<STAGEDIR>Enter DON PEDRO, CLAUDIO, and three or four +with tapers</STAGEDIR> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Is this the monument of Leonato?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>Lord</SPEAKER> +<LINE>It is, my lord.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE><STAGEDIR>Reading out of a scroll</STAGEDIR></LINE> +<LINE>Done to death by slanderous tongues</LINE> +<LINE>Was the Hero that here lies:</LINE> +<LINE>Death, in guerdon of her wrongs,</LINE> +<LINE>Gives her fame which never dies.</LINE> +<LINE>So the life that died with shame</LINE> +<LINE>Lives in death with glorious fame.</LINE> +<LINE>Hang thou there upon the tomb,</LINE> +<LINE>Praising her when I am dumb.</LINE> +<LINE>Now, music, sound, and sing your solemn hymn.</LINE> +<SUBHEAD>SONG.</SUBHEAD> +<LINE>Pardon, goddess of the night,</LINE> +<LINE>Those that slew thy virgin knight;</LINE> +<LINE>For the which, with songs of woe,</LINE> +<LINE>Round about her tomb they go.</LINE> +<LINE>Midnight, assist our moan;</LINE> +<LINE>Help us to sigh and groan,</LINE> +<LINE>Heavily, heavily:</LINE> +<LINE>Graves, yawn and yield your dead,</LINE> +<LINE>Till death be uttered,</LINE> +<LINE>Heavily, heavily.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Now, unto thy bones good night!</LINE> +<LINE>Yearly will I do this rite.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good morrow, masters; put your torches out:</LINE> +<LINE>The wolves have prey'd; and look, the gentle day,</LINE> +<LINE>Before the wheels of Phoebus, round about</LINE> +<LINE>Dapples the drowsy east with spots of grey.</LINE> +<LINE>Thanks to you all, and leave us: fare you well.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Good morrow, masters: each his several way.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Come, let us hence, and put on other weeds;</LINE> +<LINE>And then to Leonato's we will go.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And Hymen now with luckier issue speed's</LINE> +<LINE>Than this for whom we render'd up this woe.</LINE> +</SPEECH> + + +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> + +<SCENE><TITLE>SCENE IV. A room in LEONATO'S house.</TITLE> +<STAGEDIR>Enter LEONATO, ANTONIO, BENEDICK, BEATRICE, +MARGARET, URSULA, FRIAR FRANCIS, and HERO</STAGEDIR> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>Did I not tell you she was innocent?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>So are the prince and Claudio, who accused her</LINE> +<LINE>Upon the error that you heard debated:</LINE> +<LINE>But Margaret was in some fault for this,</LINE> +<LINE>Although against her will, as it appears</LINE> +<LINE>In the true course of all the question.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Well, I am glad that all things sort so well.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And so am I, being else by faith enforced</LINE> +<LINE>To call young Claudio to a reckoning for it.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Well, daughter, and you gentle-women all,</LINE> +<LINE>Withdraw into a chamber by yourselves,</LINE> +<LINE>And when I send for you, come hither mask'd.</LINE> +<STAGEDIR>Exeunt Ladies</STAGEDIR> +<LINE>The prince and Claudio promised by this hour</LINE> +<LINE>To visit me. You know your office, brother:</LINE> +<LINE>You must be father to your brother's daughter</LINE> +<LINE>And give her to young Claudio.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>Which I will do with confirm'd countenance.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Friar, I must entreat your pains, I think.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>To do what, signior?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>To bind me, or undo me; one of them.</LINE> +<LINE>Signior Leonato, truth it is, good signior,</LINE> +<LINE>Your niece regards me with an eye of favour.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>That eye my daughter lent her: 'tis most true.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>And I do with an eye of love requite her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>The sight whereof I think you had from me,</LINE> +<LINE>From Claudio and the prince: but what's your will?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Your answer, sir, is enigmatical:</LINE> +<LINE>But, for my will, my will is your good will</LINE> +<LINE>May stand with ours, this day to be conjoin'd</LINE> +<LINE>In the state of honourable marriage:</LINE> +<LINE>In which, good friar, I shall desire your help.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>My heart is with your liking.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>And my help.</LINE> +<LINE>Here comes the prince and Claudio.</LINE> +</SPEECH> + + +<STAGEDIR>Enter DON PEDRO and CLAUDIO, and two or +three others</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good morrow to this fair assembly.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Good morrow, prince; good morrow, Claudio:</LINE> +<LINE>We here attend you. Are you yet determined</LINE> +<LINE>To-day to marry with my brother's daughter?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I'll hold my mind, were she an Ethiope.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Call her forth, brother; here's the friar ready.</LINE> +</SPEECH> + + +<STAGEDIR>Exit ANTONIO</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>Good morrow, Benedick. Why, what's the matter,</LINE> +<LINE>That you have such a February face,</LINE> +<LINE>So full of frost, of storm and cloudiness?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I think he thinks upon the savage bull.</LINE> +<LINE>Tush, fear not, man; we'll tip thy horns with gold</LINE> +<LINE>And all Europa shall rejoice at thee,</LINE> +<LINE>As once Europa did at lusty Jove,</LINE> +<LINE>When he would play the noble beast in love.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Bull Jove, sir, had an amiable low;</LINE> +<LINE>And some such strange bull leap'd your father's cow,</LINE> +<LINE>And got a calf in that same noble feat</LINE> +<LINE>Much like to you, for you have just his bleat.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>For this I owe you: here comes other reckonings.</LINE> +<STAGEDIR>Re-enter ANTONIO, with the Ladies masked</STAGEDIR> +<LINE>Which is the lady I must seize upon?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>ANTONIO</SPEAKER> +<LINE>This same is she, and I do give you her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Why, then she's mine. Sweet, let me see your face.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>No, that you shall not, till you take her hand</LINE> +<LINE>Before this friar and swear to marry her.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Give me your hand: before this holy friar,</LINE> +<LINE>I am your husband, if you like of me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>And when I lived, I was your other wife:</LINE> +<STAGEDIR>Unmasking</STAGEDIR> +<LINE>And when you loved, you were my other husband.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>Another Hero!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>Nothing certainer:</LINE> +<LINE>One Hero died defiled, but I do live,</LINE> +<LINE>And surely as I live, I am a maid.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>The former Hero! Hero that is dead!</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>She died, my lord, but whiles her slander lived.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>FRIAR FRANCIS</SPEAKER> +<LINE>All this amazement can I qualify:</LINE> +<LINE>When after that the holy rites are ended,</LINE> +<LINE>I'll tell you largely of fair Hero's death:</LINE> +<LINE>Meantime let wonder seem familiar,</LINE> +<LINE>And to the chapel let us presently.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Soft and fair, friar. Which is Beatrice?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE><STAGEDIR>Unmasking</STAGEDIR> I answer to that name. What is your will?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Do not you love me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Why, no; no more than reason.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Why, then your uncle and the prince and Claudio</LINE> +<LINE>Have been deceived; they swore you did.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Do not you love me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Troth, no; no more than reason.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>Why, then my cousin Margaret and Ursula</LINE> +<LINE>Are much deceived; for they did swear you did.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>They swore that you were almost sick for me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>They swore that you were well-nigh dead for me.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>'Tis no such matter. Then you do not love me?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>No, truly, but in friendly recompense.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>Come, cousin, I am sure you love the gentleman.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>And I'll be sworn upon't that he loves her;</LINE> +<LINE>For here's a paper written in his hand,</LINE> +<LINE>A halting sonnet of his own pure brain,</LINE> +<LINE>Fashion'd to Beatrice.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>HERO</SPEAKER> +<LINE>And here's another</LINE> +<LINE>Writ in my cousin's hand, stolen from her pocket,</LINE> +<LINE>Containing her affection unto Benedick.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>A miracle! here's our own hands against our hearts.</LINE> +<LINE>Come, I will have thee; but, by this light, I take</LINE> +<LINE>thee for pity.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BEATRICE</SPEAKER> +<LINE>I would not deny you; but, by this good day, I yield</LINE> +<LINE>upon great persuasion; and partly to save your life,</LINE> +<LINE>for I was told you were in a consumption.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Peace! I will stop your mouth.</LINE> +</SPEECH> + + +<STAGEDIR>Kissing her</STAGEDIR> + +<SPEECH> +<SPEAKER>DON PEDRO</SPEAKER> +<LINE>How dost thou, Benedick, the married man?</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>I'll tell thee what, prince; a college of</LINE> +<LINE>wit-crackers cannot flout me out of my humour. Dost</LINE> +<LINE>thou think I care for a satire or an epigram? No:</LINE> +<LINE>if a man will be beaten with brains, a' shall wear</LINE> +<LINE>nothing handsome about him. In brief, since I do</LINE> +<LINE>purpose to marry, I will think nothing to any</LINE> +<LINE>purpose that the world can say against it; and</LINE> +<LINE>therefore never flout at me for what I have said</LINE> +<LINE>against it; for man is a giddy thing, and this is my</LINE> +<LINE>conclusion. For thy part, Claudio, I did think to</LINE> +<LINE>have beaten thee, but in that thou art like to be my</LINE> +<LINE>kinsman, live unbruised and love my cousin.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>CLAUDIO</SPEAKER> +<LINE>I had well hoped thou wouldst have denied Beatrice,</LINE> +<LINE>that I might have cudgelled thee out of thy single</LINE> +<LINE>life, to make thee a double-dealer; which, out of</LINE> +<LINE>question, thou wilt be, if my cousin do not look</LINE> +<LINE>exceedingly narrowly to thee.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Come, come, we are friends: let's have a dance ere</LINE> +<LINE>we are married, that we may lighten our own hearts</LINE> +<LINE>and our wives' heels.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>LEONATO</SPEAKER> +<LINE>We'll have dancing afterward.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>First, of my word; therefore play, music. Prince,</LINE> +<LINE>thou art sad; get thee a wife, get thee a wife:</LINE> +<LINE>there is no staff more reverend than one tipped with horn.</LINE> +</SPEECH> + + +<STAGEDIR>Enter a Messenger</STAGEDIR> + +<SPEECH> +<SPEAKER>Messenger</SPEAKER> +<LINE>My lord, your brother John is ta'en in flight,</LINE> +<LINE>And brought with armed men back to Messina.</LINE> +</SPEECH> + +<SPEECH> +<SPEAKER>BENEDICK</SPEAKER> +<LINE>Think not on him till to-morrow:</LINE> +<LINE>I'll devise thee brave punishments for him.</LINE> +<LINE>Strike up, pipers.</LINE> +</SPEECH> + +<STAGEDIR>Dance</STAGEDIR> +<STAGEDIR>Exeunt</STAGEDIR> +</SCENE> +</ACT> +</PLAY> diff --git a/test/resources/xml/om/namespaces.xml b/test/resources/xml/om/namespaces.xml new file mode 100644 index 0000000..e8e4df8 --- /dev/null +++ b/test/resources/xml/om/namespaces.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<foo:a xmlns:foo="http://fooNamespace/"> + <b> + <c>Hello</c> + </b> + + <foo:d> + <foo:e>Hey</foo:e> + </foo:d> + + <bar:f xmlns:bar="http://barNamespace/"> + <bar:g>Hey2</bar:g> + </bar:f> + + <alias:x xmlns:alias="http://fooNamespace/"> + <alias:y>Hey3</alias:y> + </alias:x> +</foo:a> diff --git a/test/resources/xml/om/nitf.xml b/test/resources/xml/om/nitf.xml new file mode 100644 index 0000000..269d99e --- /dev/null +++ b/test/resources/xml/om/nitf.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<nitf> + + <!-- Example of markup of URLs (at the bottom of the story) --> + + <head> + <meta name="ap-cycle" content="AP"/> + <meta name="ap-online-code" content="1700"/> + <meta name="ap-company" content="CO:Media Metrix Inc;TS:MMXI;IG:SVC;"/> + <meta name="ap-routing" content="ENTITLEMENTS,pfONLINE,pf1700"/> + <meta name="ap-format" content="bx"/> + <meta name="ap-category" content="f"/> + <meta name="ap-selector" content="-----"/> + <meta name="ap-transref" content="V0347"/> + <docdata> + <doc-id regsrc="AP" id-string="D76UIMO80"/> + <urgency ed-urg="7"/> + <date.issue norm="20000911T185842Z"/> + <du-key key="Napster Traffic"/> + <doc.copyright holder="(AP)"/> + </docdata> + </head> + <body> + <body.head> + <hedline> + <hl1>Use of Napster Quadruples</hl1> + </hedline> + <byline>By PETER SVENSSON + <byttl>AP Business Writer</byttl> + </byline> + <distributor>The Associated Press</distributor> + <dateline> + <location>NEW YORK</location> + </dateline> + </body.head> + <body.content> + <block> + <p>Despite the uncertain legality of the Napster online music-sharing service, the number of people +using it more than quadrupled in just five months, Media Metrix said Monday.</p> + <p>That made Napster the fastest-growing software application ever recorded by the Internet research +company.</p> + <p>From 1.1 million home users in the United States in February, the first month Media Metrix +tracked the application, Napster use rocketed to 4.9 million users in July.</p> + <p>That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays +people to install monitoring software on their computers.</p> + <p>It estimates total usage from a panel of about 50,000 people in the United States.</p> + <p>Napster was also used at work by 887,000 people in July, Media Metrix said.</p> + <p>Napster Inc. has been sued by the recording industry for allegedly enabling copyright +infringement. The federal government weighed in on the case Friday, saying the service is not protected +under a key copyright law, as the San Mateo, Calif., company claims.</p> + <p>Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."</p> + <p>The Napster program allows users to copy digital music files from the hard drives of other +users over the Internet.</p> + <p>Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal +its own figures for how many people actually use the software.</p> + <p>Because the program connects to the company's computers over the Internet every time +it is run, Napster Inc. can track usage exactly.</p> + <p>__</p> + <p>On the Net:</p> + <p><a href="http://www.napster.com"> +http://www.napster.com</a></p> + <p><a href="http://www.mediametrix.com"> +http://www.mediametrix.com</a></p> + </block> + </body.content> + </body> +</nitf> diff --git a/test/resources/xml/om/numbers.xml b/test/resources/xml/om/numbers.xml new file mode 100644 index 0000000..a1791cd --- /dev/null +++ b/test/resources/xml/om/numbers.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> + +<numbers> + <set> + <nr>3</nr> + <nr>24</nr> + <nr>55</nr> + <nr>11</nr> + <nr>2</nr> + <nr>-3</nr> + </set> + <set> + <nr value="66"/> + <nr value="123"/> + <nr value="55"/> + <nr value="9999"/> + </set> +</numbers> diff --git a/test/resources/xml/om/pi.xml b/test/resources/xml/om/pi.xml new file mode 100644 index 0000000..980bbf9 --- /dev/null +++ b/test/resources/xml/om/pi.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<foo> + <?cheese is tasty?> + <bar> + <baz/> + <cheese/> + <baz/> + <?toast is tasty?> + <cheese/> + <baz/> + </bar> + <?cheese is gooey?> +</foo> diff --git a/test/resources/xml/om/pi2.xml b/test/resources/xml/om/pi2.xml new file mode 100644 index 0000000..46bce45 --- /dev/null +++ b/test/resources/xml/om/pi2.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<a> + <b>foo</b> + <?toc order-by="x"?> + <c>bar</c> +</a> diff --git a/test/resources/xml/om/simple.xml b/test/resources/xml/om/simple.xml new file mode 100644 index 0000000..3cff71a --- /dev/null +++ b/test/resources/xml/om/simple.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" ?> +<root><a>a</a><b>b</b><c><d>d</d></c></root> diff --git a/test/resources/xml/om/spaces.xml b/test/resources/xml/om/spaces.xml new file mode 100644 index 0000000..4c46c63 --- /dev/null +++ b/test/resources/xml/om/spaces.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<foo> + <bar>baz + <cheese id="3"/> + baz + <cheese/> + baz + </bar> + <doc><![CDATA[<foo>]]></doc> +</foo>
\ No newline at end of file diff --git a/test/resources/xml/om/test.xml b/test/resources/xml/om/test.xml new file mode 100644 index 0000000..3a83612 --- /dev/null +++ b/test/resources/xml/om/test.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" ?> +<axiomc:book xmlns:axiomc="http://ws.apache.org/axis2/c/om" xmlns:isbn="urn:ISBN:0-395-74341-6"> + <axiomc:title>Axis2C OM HOWTO</axiomc:title> + <isbn:number>1748491379</isbn:number> + <author title="Mr" name="Axitoc Oman"/> + <a> </a> + <notes> + <p xmlns="urn:w3-org-ns:HTML"> + This is vey good book on OM! + </p> + </notes> +</axiomc:book> diff --git a/test/resources/xml/om/testNamespaces.xml b/test/resources/xml/om/testNamespaces.xml new file mode 100644 index 0000000..50f7c93 --- /dev/null +++ b/test/resources/xml/om/testNamespaces.xml @@ -0,0 +1,22 @@ +<Template> + <Application1 xmlns:xplt="http://www.xxxx.com/" + xmlns:xpl="http://www.xxxx.com/" + version="3.0" + randomAttribute="foo" + > + <xpl:insertText/> + <xplt:anyElement> + <Name/> + </xplt:anyElement> + </Application1> + + <Application2 xmlns:xplt="http://www.xxxx.com/" + xmlns:xpl="http://www.xxxx.com/" + version="3.0" + > + <xpl:insertText/> + <xplt:anyElement> + <Name/> + </xplt:anyElement> + </Application2> +</Template> diff --git a/test/resources/xml/om/underscore.xml b/test/resources/xml/om/underscore.xml new file mode 100644 index 0000000..111446f --- /dev/null +++ b/test/resources/xml/om/underscore.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" ?> +<root a="1" _a="2"> + <b>1</b> + <_b>2</_b> +</root> + diff --git a/test/resources/xml/om/web.xml b/test/resources/xml/om/web.xml new file mode 100644 index 0000000..972cf5d --- /dev/null +++ b/test/resources/xml/om/web.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<web-app> + <servlet> + <servlet-name>snoop</servlet-name> + <servlet-class>SnoopServlet</servlet-class> + </servlet> + <servlet> + <servlet-name>file</servlet-name> + <servlet-class>ViewFile</servlet-class> + <init-param> + <param-name>initial</param-name> + <param-value> + 1000 + </param-value> + <description> + The initial value for the counter <!-- optional --> + </description> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name> + mv + </servlet-name> + <url-pattern> + *.wm + </url-pattern> + </servlet-mapping> + + <distributed/> + + <security-role> + <role-name> + manager + </role-name> + <role-name> + director + </role-name> + <role-name> + president + </role-name> + </security-role> +</web-app> diff --git a/test/resources/xml/om/web2.xml b/test/resources/xml/om/web2.xml new file mode 100644 index 0000000..7d479d3 --- /dev/null +++ b/test/resources/xml/om/web2.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<root> + <b> + <d /> + </b> + <c /> +</root> diff --git a/test/resources/xml/soap/OMElementTest.xml b/test/resources/xml/soap/OMElementTest.xml new file mode 100644 index 0000000..9cd474c --- /dev/null +++ b/test/resources/xml/soap/OMElementTest.xml @@ -0,0 +1,22 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2">This is some text + <axis2:input>2</axis2:input> + Some Other Text + </axis2:echoVoid> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/bodyNotQualified.xml b/test/resources/xml/soap/badsoap/bodyNotQualified.xml new file mode 100644 index 0000000..eef7895 --- /dev/null +++ b/test/resources/xml/soap/badsoap/bodyNotQualified.xml @@ -0,0 +1,19 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <echoVoid></echoVoid> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/envelopeMissing.xml b/test/resources/xml/soap/badsoap/envelopeMissing.xml new file mode 100644 index 0000000..4106495 --- /dev/null +++ b/test/resources/xml/soap/badsoap/envelopeMissing.xml @@ -0,0 +1,20 @@ +<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> +</soapenv:Body>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/haederBodyWrongOrder.xml b/test/resources/xml/soap/badsoap/haederBodyWrongOrder.xml new file mode 100644 index 0000000..e71c49a --- /dev/null +++ b/test/resources/xml/soap/badsoap/haederBodyWrongOrder.xml @@ -0,0 +1,20 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/notnamespaceQualified.xml b/test/resources/xml/soap/badsoap/notnamespaceQualified.xml new file mode 100644 index 0000000..dfc013c --- /dev/null +++ b/test/resources/xml/soap/badsoap/notnamespaceQualified.xml @@ -0,0 +1,15 @@ +<Envelope> + <Header> + <MessageID mustUnderstand="0">uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 + </MessageID> + <To mustUnderstand="0">http://localhost:8081/axis/services/BankPort</To> + <From mustUnderstand="0"> + <Address> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </From> + </Header> + <Body> + <echoVoid></echoVoid> + </Body> +</Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/twoBodymessage.xml b/test/resources/xml/soap/badsoap/twoBodymessage.xml new file mode 100644 index 0000000..a96a401 --- /dev/null +++ b/test/resources/xml/soap/badsoap/twoBodymessage.xml @@ -0,0 +1,24 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/twoheaders.xml b/test/resources/xml/soap/badsoap/twoheaders.xml new file mode 100644 index 0000000..3064771 --- /dev/null +++ b/test/resources/xml/soap/badsoap/twoheaders.xml @@ -0,0 +1,29 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/badsoap/wrongSoapNs.xml b/test/resources/xml/soap/badsoap/wrongSoapNs.xml new file mode 100644 index 0000000..7d84398 --- /dev/null +++ b/test/resources/xml/soap/badsoap/wrongSoapNs.xml @@ -0,0 +1,20 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/badsoap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/emtyBodymessage.xml b/test/resources/xml/soap/emtyBodymessage.xml new file mode 100644 index 0000000..ea20929 --- /dev/null +++ b/test/resources/xml/soap/emtyBodymessage.xml @@ -0,0 +1,18 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/invalidMustUnderstandSOAP12.xml b/test/resources/xml/soap/invalidMustUnderstandSOAP12.xml new file mode 100644 index 0000000..1b5183f --- /dev/null +++ b/test/resources/xml/soap/invalidMustUnderstandSOAP12.xml @@ -0,0 +1,13 @@ +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"> + <env:Header> + <test2:echoOk2 xmlns:test2="http://example2.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="someOtherValue" + env:anyAttribute="any value"> + foo + </test2:echoOk2> + </env:Header> + <env:Body> + + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/minimalMessage.xml b/test/resources/xml/soap/minimalMessage.xml new file mode 100644 index 0000000..ea76d72 --- /dev/null +++ b/test/resources/xml/soap/minimalMessage.xml @@ -0,0 +1,4 @@ +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> + <env:Body/> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/reallyReallyBigMessage.xml b/test/resources/xml/soap/reallyReallyBigMessage.xml new file mode 100644 index 0000000..687ed22 --- /dev/null +++ b/test/resources/xml/soap/reallyReallyBigMessage.xml @@ -0,0 +1,2529 @@ +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <env:Header> + + <wsdl:definitions targetNamespace="http://echo.services" + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:impl="http://echo.services-impl" + xmlns:intf="http://echo.services" + xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" + xmlns:tns1="http://types.echo.services" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema targetNamespace="http://types.echo.services" + xmlns="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="MyComplexType"> + <sequence> + <element name="simpleItem" nillable="true" + type="xsd:string"/> + </sequence> + </complexType> + <element name="MyElement" nillable="true" + type="tns1:MyComplexType"/> + </schema> + </wsdl:types> + <wsdl:message name="echoRequest"> + <wsdl:part element="tns1:MyElement" name="MyElement"/> + </wsdl:message> + <wsdl:message name="echoResponse"> + <wsdl:part element="tns1:MyElement" name="MyElement"/> + </wsdl:message> + <wsdl:portType name="Echo1"> + <wsdl:operation name="echo" parameterOrder="MyElement"> + <wsdl:input message="intf:echoRequest" name="echoRequest"/> + <wsdl:output message="intf:echoResponse" + name="echoResponse"/> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="ComplexEchoServiceSoapBinding" + type="intf:Echo1"> + <wsdlsoap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="echo"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="echoRequest"> + <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + namespace="http://types.echo.services" + use="literal"/> + </wsdl:input> + <wsdl:output name="echoResponse"> + <wsdlsoap:body namespace="http://types.echo.services" + use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="ComplexEchoService"> + <wsdl:port binding="intf:ComplexEchoServiceSoapBinding" + name="ComplexEchoService"> + <wsdlsoap:address + location="http://localhost:8080/axis/services/ComplexEchoService"/> + </wsdl:port> + </wsdl:service> + </wsdl:definitions> + + + </env:Header> + <env:Body> + <definitions + name="comprehensive types test" + targetNamespace="urn:comprehensive-service.types.wsdl.test" + xmlns:tns="urn:comprehensive-service.types.wsdl.test" + xmlns:typens="urn:comprehensive-types.types.wsdl.test" + xmlns:typens2="urn:comprehensive-types2.types.wsdl.test" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns="http://schemas.xmlsoap.org/wsdl/"> + + + <types> + <xsd:schema + targetNamespace="urn:comprehensive-types.types.wsdl.test" + xmlns:xsd="http://www.w3.org/1999/XMLSchema" + xmlns:xsd2="http://www.w3.org/2001/XMLSchema"> + + <xsd:simpleType name="simple"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + + <xsd:simpleType name="simpleDate"> + <xsd:restriction base="xsd:date"/> + </xsd:simpleType> + + <xsd:simpleType name="simpleDateTime"> + <xsd:restriction base="xsd2:dateTime"/> + </xsd:simpleType> + + <xsd:simpleType name="enum"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="one"/> + <xsd:enumeration value="two"/> + <xsd:enumeration value="three"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:complexType name="array"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="xsd:string[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="array_of_base64"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="xsd:base64Binary[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="complexAll"> + <xsd:all> + <xsd:element name="areaCode" type="xsd:int"/> + <xsd:element name="exchange" type="xsd:string"/> + <xsd:element name="number" type="xsd:string"/> + </xsd:all> + </xsd:complexType> + + <xsd:complexType name="complexSequence"> + <xsd:sequence> + <xsd:element name="areaCode" type="xsd:int"/> + <xsd:element name="exchange" type="xsd:string"/> + <xsd:element name="number" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="complexChoice"> + <xsd:choice> + <xsd:element name="choiceA" type="xsd:int"/> + <xsd:element name="choiceB" type="xsd:string"/> + <xsd:element name="choiceC" type="xsd:string"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="Object"> + <xsd:sequence> + <xsd:element name="test" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="String"> + <xsd:sequence> + <xsd:element name="test" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="Class"> + <xsd:sequence> + <xsd:element name="test" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="enumValue" type="typens:enum"/> + + <xsd:complexType name="time"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="DST" type="xsd:boolean"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:complexType name="complexWComplex"> + <xsd:sequence> + <xsd:element name="stock_quote"> + <xsd:complexType> + <xsd:attribute name="symbol" + type="xsd:string"/> + <xsd:sequence> + + <xsd:element name="time" + type="typens:time"/> + <xsd:element name="change" + type="typens:simpleFwd"/> + <xsd:element name="pctchange" + type="xsd:string"/> + <xsd:element name="bid" + type="xsd:string"/> + <xsd:element name="ask" + type="xsd:string"/> + <xsd:element name="choice" + type="typens:complexChoice"/> + </xsd:sequence> + <xsd:attribute name="last" + type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="outside" type="xsd:int"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="emptyFault"> + <xsd:sequence/> + </xsd:complexType> + + <xsd:element name="faultElement" type="typens:faultType"/> + <xsd:complexType name="faultType"> + <xsd:sequence> + <xsd:element name="userData" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="emptyComplexType"> + <xsd:sequence/> + </xsd:complexType> + + <xsd:simpleType name="simpleFwd"> + <xsd:restriction base="typens:simple"/> + </xsd:simpleType> + + + <xsd:complexType name="arrayM"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="typens:arrayM2[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="arrayM2"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="typens:arrayM3[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="arrayM3"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="xsd:int[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + + + <xsd:complexType name="Animal"> + <xsd:all> + <xsd:element name="Name" nillable="true" + type="xsd:string"/> + </xsd:all> + </xsd:complexType> + <xsd:element name="Animal" nillable="true" + type="typens:Animal"/> + <xsd:complexType name="Cat"> + <xsd:complexContent> + <xsd:extension base="typens:Animal"> + <xsd:all> + <xsd:element name="Purr" nillable="true" + type="xsd:string"/> + </xsd:all> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:element name="Cat" nillable="true" type="typens:Cat"/> + + <xsd:complexType name="PersionCat"> + <xsd:complexContent> + <xsd:extension base="typens:Cat"> + <xsd:all> + <xsd:element name="Color" + type="xsd:string"/> + <xsd:element name="Toy"/> + </xsd:all> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="Yarn"> + <xsd:all> + <xsd:element name="Color" type="xsd:string"/> + </xsd:all> + </xsd:complexType> + + + <xsd:simpleType name="enumString"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Ho Ho Ho"/> + <xsd:enumeration value="He He He"/> + <xsd:enumeration value="Ha Ha Ha"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumInt"> + <xsd:restriction base="xsd:int"> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumLong"> + <xsd:restriction base="xsd:long"> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + <xsd:enumeration value="-9223372036854775808"/> + <xsd:enumeration value="9223372036854775807"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumShort"> + <xsd:restriction base="xsd:short"> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumFloat"> + <xsd:restriction base="xsd:float"> + <xsd:enumeration value="1.1"/> + <xsd:enumeration value="2.2"/> + <xsd:enumeration value="3.3"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumDouble"> + <xsd:restriction base="xsd:double"> + <xsd:enumeration value="1.1"/> + <xsd:enumeration value="2.2"/> + <xsd:enumeration value="3.3"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="enumByte"> + <xsd:restriction base="xsd:byte"> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="enumInteger"> + <xsd:restriction base="xsd:integer"> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="flowDirectionType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="in"/> + <xsd:enumeration value="inOut"/> + <xsd:enumeration value="out"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="enumNMTOKEN"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="NameToken1"/> + <xsd:enumeration value="NameToken2"/> + <xsd:enumeration value="NameToken3"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="AIDType"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:maxLength value="16"/> + <xsd:minLength value="5"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="passModeType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="passByValue"/> + <xsd:enumeration value="passByReference"/> + </xsd:restriction> + </xsd:simpleType> + + + <xsd:element name="StringParameter" + type="typens:StringParameter"/> + <xsd:complexType name="StringParameter"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="numBytes" + type="soapenc:int"/> + <xsd:attribute name="storageEncoding" + type="xsd:string"/> + <xsd:attribute name="direction" + type="typens:flowDirectionType"/> + <xsd:attribute name="passMode" + type="typens:passModeType"/> + <xsd:attribute name="description" + type="xsd:string"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + </xsd:schema> + + + <xsd:schema + targetNamespace="urn:comprehensive-types2.types.wsdl.test" + xmlns:xsd="http://www.w3.org/1999/XMLSchema"> + <xsd:complexType name="fwd"> + <xsd:complexContent> + <xsd:restriction base="soapenc:Array"> + <xsd:attribute ref="soapenc:arrayType" + wsdl:arrayType="xsd:QName[]"/> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + + + <xsd:element name="three" type="typens:enum" + maxOccurs="unbounded"/> + + + <xsd:element name="a" type="xsd:short"/> + <xsd:complexType name="a"> + <xsd:sequence> + <xsd:element name="c" type="xsd:int"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="b"> + <xsd:sequence> + <xsd:element name="d" type="typens2:a"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="SimpleAnyURIType"> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + </xsd:schema> + + </types> + + <message name="empty"/> + + <message name="allPrimitives"> + <part name="string" type="xsd:string"/> + <part name="integer" type="xsd:integer"/> + <part name="int" type="xsd:int"/> + <part name="long" type="xsd:long"/> + <part name="short" type="xsd:short"/> + <part name="decimal" type="xsd:decimal"/> + <part name="float" type="xsd:float"/> + <part name="double" type="xsd:double"/> + <part name="boolean" type="xsd:boolean"/> + <part name="byte" type="xsd:byte"/> + <part name="QName" type="xsd:QName"/> + <part name="dateTime" type="xsd:dateTime"/> + <part name="base64Binary" type="xsd:base64Binary"/> + <part name="hexBinary" type="xsd:hexBinary"/> + <part name="soapString" type="soapenc:string"/> + <part name="soapBoolean" type="soapenc:boolean"/> + <part name="soapFloat" type="soapenc:float"/> + <part name="soapDouble" type="soapenc:double"/> + <part name="soapDecimal" type="soapenc:decimal"/> + <part name="soapInt" type="soapenc:int"/> + <part name="soapShort" type="soapenc:short"/> + <part name="soapBase64" type="soapenc:base64"/> + <part name="time" type="xsd:time"/> + <part name="unsignedLong" type="xsd:unsignedLong"/> + <part name="unsignedInt" type="xsd:unsignedInt"/> + <part name="unsignedShort" type="xsd:unsignedShort"/> + <part name="unsignedByte" type="xsd:unsignedByte"/> + <part name="nonNegativeInteger" type="xsd:nonNegativeInteger"/> + <part name="positiveInteger" type="xsd:positiveInteger"/> + <part name="nonPositiveInteger" type="xsd:nonPositiveInteger"/> + <part name="negativeInteger" type="xsd:negativeInteger"/> + <part name="anyURI" type="xsd:anyURI"/> + <part name="gYear" type="xsd:gYear"/> + <part name="gMonth" type="xsd:gMonth"/> + <part name="gDay" type="xsd:gDay"/> + <part name="gYearMonth" type="xsd:gYearMonth"/> + <part name="gMonthDay" type="xsd:gMonthDay"/> + </message> + <message name="inputBoolean"> + <part name="inBoolean" type="xsd:boolean"/> + <part name="boolean" type="xsd:boolean"/> + </message> + + <message name="outputBoolean"> + <part name="outBoolean" type="xsd:boolean"/> + <part name="boolean" type="xsd:boolean"/> + </message> + + <message name="inputByte"> + <part name="inByte" type="xsd:byte"/> + <part name="byte" type="xsd:byte"/> + </message> + + <message name="outputByte"> + <part name="outByte" type="xsd:byte"/> + <part name="byte" type="xsd:byte"/> + </message> + + <message name="inputShort"> + <part name="inShort" type="xsd:short"/> + <part name="short" type="xsd:short"/> + </message> + + <message name="outputShort"> + <part name="outShort" type="xsd:short"/> + <part name="short" type="xsd:short"/> + </message> + + <message name="inputInt"> + <part name="inInt" type="xsd:int"/> + <part name="int" type="xsd:int"/> + </message> + + <message name="outputInt"> + <part name="outInt" type="xsd:int"/> + <part name="int" type="xsd:int"/> + </message> + + <message name="inputLong"> + <part name="inLong" type="xsd:long"/> + <part name="long" type="xsd:long"/> + </message> + + <message name="outputLong"> + <part name="outLong" type="xsd:long"/> + <part name="long" type="xsd:long"/> + </message> + + <message name="inputFloat"> + <part name="inFloat" type="xsd:float"/> + <part name="float" type="xsd:float"/> + </message> + + <message name="outputFloat"> + <part name="outFloat" type="xsd:float"/> + <part name="float" type="xsd:float"/> + </message> + + <message name="inputDouble"> + <part name="inDouble" type="xsd:double"/> + <part name="double" type="xsd:double"/> + </message> + + <message name="outputDouble"> + <part name="outDouble" type="xsd:double"/> + <part name="double" type="xsd:double"/> + </message> + + <message name="inputString"> + <part name="inString" type="xsd:string"/> + <part name="string" type="xsd:string"/> + </message> + + <message name="outputString"> + <part name="outString" type="xsd:string"/> + <part name="string" type="xsd:string"/> + </message> + + <message name="inputInteger"> + <part name="inInteger" type="xsd:integer"/> + <part name="integer" type="xsd:integer"/> + </message> + + <message name="outputInteger"> + <part name="outInteger" type="xsd:integer"/> + <part name="integer" type="xsd:integer"/> + </message> + + <message name="inputDecimal"> + <part name="inDecimal" type="xsd:decimal"/> + <part name="decimal" type="xsd:decimal"/> + </message> + + <message name="outputDecimal"> + <part name="outDecimal" type="xsd:decimal"/> + <part name="decimal" type="xsd:decimal"/> + </message> + + <message name="inputDateTime"> + <part name="inDateTime" type="xsd:dateTime"/> + <part name="dateTime" type="xsd:dateTime"/> + </message> + + <message name="outputDateTime"> + <part name="outDateTime" type="xsd:dateTime"/> + <part name="dateTime" type="xsd:dateTime"/> + </message> + + <message name="inputBase64Binary"> + <part name="inBase64Binary" type="xsd:base64Binary"/> + <part name="base64Binary" type="xsd:base64Binary"/> + </message> + + <message name="outputBase64Binary"> + <part name="outBase64Binary" type="xsd:base64Binary"/> + <part name="base64Binary" type="xsd:base64Binary"/> + </message> + + <message name="inputQName"> + <part name="inQName" type="xsd:QName"/> + <part name="qName" type="xsd:QName"/> + </message> + + <message name="outputQName"> + <part name="outQName" type="xsd:QName"/> + <part name="qName" type="xsd:QName"/> + </message> + + <message name="inputHexBinary"> + <part name="inHexBinary" type="xsd:hexBinary"/> + <part name="hexBinary" type="xsd:hexBinary"/> + </message> + + <message name="outputHexBinary"> + <part name="outHexBinary" type="xsd:hexBinary"/> + <part name="hexBinary" type="xsd:hexBinary"/> + </message> + + <message name="inputTime"> + <part name="inTime" type="xsd:time"/> + <part name="time" type="xsd:time"/> + </message> + + <message name="outputTime"> + <part name="outTime" type="xsd:time"/> + <part name="time" type="xsd:time"/> + </message> + + <message name="inputUnsignedLong"> + <part name="inUnsignedLong" type="xsd:unsignedLong"/> + <part name="unsignedLong" type="xsd:unsignedLong"/> + </message> + + <message name="outputUnsignedLong"> + <part name="outUnsignedLong" type="xsd:unsignedLong"/> + <part name="unsignedLong" type="xsd:unsignedLong"/> + </message> + + <message name="inputUnsignedInt"> + <part name="inUnsignedInt" type="xsd:unsignedInt"/> + <part name="unsignedInt" type="xsd:unsignedInt"/> + </message> + + <message name="outputUnsignedInt"> + <part name="outUnsignedInt" type="xsd:unsignedInt"/> + <part name="unsignedInt" type="xsd:unsignedInt"/> + </message> + + <message name="inputUnsignedShort"> + <part name="inUnsignedShort" type="xsd:unsignedShort"/> + <part name="unsignedShort" type="xsd:unsignedShort"/> + </message> + + <message name="outputUnsignedShort"> + <part name="outUnsignedShort" type="xsd:unsignedShort"/> + <part name="unsignedShort" type="xsd:unsignedShort"/> + </message> + + <message name="inputUnsignedByte"> + <part name="inUnsignedByte" type="xsd:unsignedByte"/> + <part name="unsignedByte" type="xsd:unsignedByte"/> + </message> + + <message name="outputUnsignedByte"> + <part name="outUnsignedByte" type="xsd:unsignedByte"/> + <part name="unsignedByte" type="xsd:unsignedByte"/> + </message> + + <message name="inputNonNegativeInteger"> + <part name="inNonNegativeInteger" + type="xsd:nonNegativeInteger"/> + <part name="NonNegativeInteger" type="xsd:nonNegativeInteger"/> + </message> + + <message name="outputNonNegativeInteger"> + <part name="outNonNegativeInteger" + type="xsd:nonNegativeInteger"/> + <part name="NonNegativeInteger" type="xsd:nonNegativeInteger"/> + </message> + + <message name="inputPositiveInteger"> + <part name="inPositiveInteger" type="xsd:positiveInteger"/> + <part name="PositiveInteger" type="xsd:positiveInteger"/> + </message> + + <message name="outputPositiveInteger"> + <part name="outPositiveInteger" type="xsd:positiveInteger"/> + <part name="PositiveInteger" type="xsd:positiveInteger"/> + </message> + + <message name="inputNonPositiveInteger"> + <part name="inNonPositiveInteger" + type="xsd:nonPositiveInteger"/> + <part name="NonPositiveInteger" type="xsd:nonPositiveInteger"/> + </message> + + <message name="outputNonPositiveInteger"> + <part name="outNonPositiveInteger" + type="xsd:nonPositiveInteger"/> + <part name="NonPositiveInteger" type="xsd:nonPositiveInteger"/> + </message> + + <message name="inputNegativeInteger"> + <part name="inNegativeInteger" type="xsd:negativeInteger"/> + <part name="NegativeInteger" type="xsd:negativeInteger"/> + </message> + + <message name="outputNegativeInteger"> + <part name="outNegativeInteger" type="xsd:negativeInteger"/> + <part name="NegativeInteger" type="xsd:negativeInteger"/> + </message> + + <message name="inputAnyURI"> + <part name="inAnyURI" type="xsd:anyURI"/> + <part name="anyURI" type="xsd:anyURI"/> + </message> + + <message name="outputAnyURI"> + <part name="outAnyURI" type="xsd:anyURI"/> + <part name="anyURI" type="xsd:anyURI"/> + </message> + + <message name="inputSimpleAnyURI"> + <part name="inAnyURI" type="typens2:SimpleAnyURIType"/> + <part name="anyURI" type="typens2:SimpleAnyURIType"/> + </message> + + <message name="outputSimpleAnyURI"> + <part name="outAnyURI" type="typens2:SimpleAnyURIType"/> + <part name="anyURI" type="typens2:SimpleAnyURIType"/> + </message> + + <message name="inputYear"> + <part name="inYear" type="xsd:gYear"/> + <part name="Year" type="xsd:gYear"/> + </message> + + <message name="outputYear"> + <part name="outYear" type="xsd:gYear"/> + <part name="Year" type="xsd:gYear"/> + </message> + + <message name="inputMonth"> + <part name="inMonth" type="xsd:gMonth"/> + <part name="Month" type="xsd:gMonth"/> + </message> + + <message name="outputMonth"> + <part name="outMonth" type="xsd:gMonth"/> + <part name="Month" type="xsd:gMonth"/> + </message> + + <message name="inputDay"> + <part name="inDay" type="xsd:gDay"/> + <part name="Day" type="xsd:gDay"/> + </message> + + <message name="outputDay"> + <part name="outDay" type="xsd:gDay"/> + <part name="Day" type="xsd:gDay"/> + </message> + + <message name="inputYearMonth"> + <part name="inYearMonth" type="xsd:gYearMonth"/> + <part name="YearMonth" type="xsd:gYearMonth"/> + </message> + + <message name="outputYearMonth"> + <part name="outYearMonth" type="xsd:gYearMonth"/> + <part name="YearMonth" type="xsd:gYearMonth"/> + </message> + + <message name="inputMonthDay"> + <part name="inMonthDay" type="xsd:gMonthDay"/> + <part name="MonthDay" type="xsd:gMonthDay"/> + </message> + + <message name="outputMonthDay"> + <part name="outMonthDay" type="xsd:gMonthDay"/> + <part name="MonthDay" type="xsd:gMonthDay"/> + </message> + + <message name="inputSoapString"> + <part name="inSoapString" type="soapenc:string"/> + <part name="soapencString" type="soapenc:string"/> + </message> + + <message name="outputSoapString"> + <part name="outSoapString" type="soapenc:string"/> + <part name="soapencString" type="soapenc:string"/> + </message> + + <message name="inputSoapBoolean"> + <part name="inSoapBoolean" type="soapenc:boolean"/> + <part name="soapencBoolean" type="soapenc:boolean"/> + </message> + + <message name="outputSoapBoolean"> + <part name="outSoapBoolean" type="soapenc:boolean"/> + <part name="soapencBoolean" type="soapenc:boolean"/> + </message> + + <message name="inputSoapFloat"> + <part name="inSoapFloat" type="soapenc:float"/> + <part name="soapencFloat" type="soapenc:float"/> + </message> + + <message name="outputSoapFloat"> + <part name="outSoapFloat" type="soapenc:float"/> + <part name="soapencFloat" type="soapenc:float"/> + </message> + + <message name="inputSoapDouble"> + <part name="inSoapDouble" type="soapenc:double"/> + <part name="soapencDouble" type="soapenc:double"/> + </message> + + <message name="outputSoapDouble"> + <part name="outSoapDouble" type="soapenc:double"/> + <part name="soapencDouble" type="soapenc:double"/> + </message> + + <message name="inputSoapDecimal"> + <part name="inSoapDecimal" type="soapenc:decimal"/> + <part name="soapencDecimal" type="soapenc:decimal"/> + </message> + + <message name="outputSoapDecimal"> + <part name="outSoapDecimal" type="soapenc:decimal"/> + <part name="soapencDecimal" type="soapenc:decimal"/> + </message> + + <message name="inputSoapInt"> + <part name="inSoapInt" type="soapenc:int"/> + <part name="soapencInt" type="soapenc:int"/> + </message> + + <message name="outputSoapInt"> + <part name="outSoapInt" type="soapenc:int"/> + <part name="soapencInt" type="soapenc:int"/> + </message> + + <message name="inputSoapShort"> + <part name="inSoapShort" type="soapenc:short"/> + <part name="soapencShort" type="soapenc:short"/> + </message> + + <message name="outputSoapShort"> + <part name="outSoapShort" type="soapenc:short"/> + <part name="soapencShort" type="soapenc:short"/> + </message> + + <message name="inputSoapBase64"> + <part name="inSoapBase64" type="soapenc:base64"/> + <part name="soapencBase64" type="soapenc:base64"/> + </message> + + <message name="outputSoapBase64"> + <part name="outSoapBase64" type="soapenc:base64"/> + <part name="soapencBase64" type="soapenc:base64"/> + </message> + + <message name="enum"> + <part name="enum" type="typens:enum"/> + </message> + + <message name="enumInt"> + <part name="enumInt" type="typens:enumInt"/> + </message> + + <message name="array"> + <part name="array" type="typens:array"/> + </message> + + <message name="arrayM"> + <part name="arrayM" type="typens:arrayM"/> + </message> + + <message name="complexAll"> + <part name="complexAll" type="typens:complexAll"/> + </message> + + <message name="complexSequence"> + <part name="complexSequence" type="typens:complexSequence"/> + </message> + + <message name="complexWComplex"> + <part name="complexWComplex" type="typens:complexWComplex"/> + </message> + + <message name="any"> + <part name="any" type="xsd:anyType"/> + </message> + + <message name="animal"> + <part name="animal" type="typens:Animal"/> + </message> + + <message name="cat"> + <part name="cat" type="typens:Cat"/> + </message> + + <message name="emptyFault"> + <part name="theFault" type="typens:emptyFault"/> + </message> + + <message name="faultWithElement"> + <part name="fault2" element="typens:faultElement"/> + </message> + + <message name="emptyComplexType"> + <part name="emptyComplexType" type="typens:emptyComplexType"/> + </message> + + + <portType name="TypeTest"> + <operation name="allPrimitivesIn"> + <input message="tns:allPrimitives"/> + <output message="tns:empty"/> + </operation> + <operation name="allPrimitivesInout"> + <input message="tns:allPrimitives"/> + <output message="tns:allPrimitives"/> + </operation> + <operation name="allPrimitivesOut"> + <input message="tns:empty"/> + <output message="tns:allPrimitives"/> + </operation> + <operation name="enumIn"> + <input message="tns:enum"/> + <output message="tns:empty"/> + </operation> + <operation name="enumInout"> + <input message="tns:enum"/> + <output message="tns:enum"/> + </operation> + <operation name="enumOut" parameterOrder="enum"> + <input message="tns:empty"/> + <output message="tns:enum"/> + </operation> + <operation name="enumReturn"> + <input message="tns:empty"/> + <output message="tns:enum"/> + </operation> + <operation name="enumIntIn"> + <input message="tns:enumInt"/> + <output message="tns:empty"/> + </operation> + <operation name="enumIntInout"> + <input message="tns:enumInt"/> + <output message="tns:enumInt"/> + </operation> + <operation name="enumIntOut" parameterOrder="enumInt"> + <input message="tns:empty"/> + <output message="tns:enumInt"/> + </operation> + <operation name="enumIntReturn"> + <input message="tns:empty"/> + <output message="tns:enumInt"/> + </operation> + <operation name="arrayIn"> + <input message="tns:array"/> + <output message="tns:empty"/> + </operation> + <operation name="arrayInout"> + <input message="tns:array"/> + <output message="tns:array"/> + </operation> + <operation name="arrayOut" parameterOrder="array"> + <input message="tns:empty"/> + <output message="tns:array"/> + </operation> + <operation name="arrayReturn"> + <input message="tns:empty"/> + <output message="tns:array"/> + </operation> + + <operation name="arrayMIn"> + <input message="tns:arrayM"/> + <output message="tns:empty"/> + </operation> + <operation name="arrayMInout"> + <input message="tns:arrayM"/> + <output message="tns:arrayM"/> + </operation> + <operation name="arrayMOut" parameterOrder="arrayM"> + <input message="tns:empty"/> + <output message="tns:arrayM"/> + </operation> + <operation name="arrayMReturn"> + <input message="tns:empty"/> + <output message="tns:arrayM"/> + </operation> + + <operation name="complexAllIn"> + <input message="tns:complexAll"/> + <output message="tns:empty"/> + </operation> + <operation name="complexAllInout"> + <input message="tns:complexAll"/> + <output message="tns:complexAll"/> + </operation> + <operation name="complexAllOut" parameterOrder="complexAll"> + <input message="tns:empty"/> + <output message="tns:complexAll"/> + </operation> + <operation name="complexAllReturn"> + <input message="tns:empty"/> + <output message="tns:complexAll"/> + </operation> + <operation name="complexSequenceIn"> + <input message="tns:complexSequence"/> + <output message="tns:empty"/> + </operation> + <operation name="complexSequenceInout"> + <input message="tns:complexSequence"/> + <output message="tns:complexSequence"/> + </operation> + <operation name="complexSequenceOut" + parameterOrder="complexSequence"> + <input message="tns:empty"/> + <output message="tns:complexSequence"/> + </operation> + <operation name="complexSequenceReturn"> + <input message="tns:empty"/> + <output message="tns:complexSequence"/> + </operation> + <operation name="complexWComplexIn"> + <input message="tns:complexWComplex"/> + <output message="tns:empty"/> + </operation> + <operation name="complexWComplexInout"> + <input message="tns:complexWComplex"/> + <output message="tns:complexWComplex"/> + </operation> + <operation name="complexWComplexOut" + parameterOrder="complexWComplex"> + <input message="tns:empty"/> + <output message="tns:complexWComplex"/> + </operation> + <operation name="complexWComplexReturn"> + <input message="tns:empty"/> + <output message="tns:complexWComplex"/> + </operation> + <operation name="emptyComplexTypeIn" + parameterOrder="emptyComplexType"> + <input message="tns:emptyComplexType"/> + <output message="tns:empty"/> + <fault name="emptyFault" message="tns:emptyFault"/> + </operation> + <operation name="emptyComplexTypeInout" + parameterOrder="emptyComplexType"> + <input message="tns:emptyComplexType"/> + <output message="tns:emptyComplexType"/> + <fault name="emptyFault" message="tns:emptyFault"/> + </operation> + <operation name="emptyComplexTypeOut" + parameterOrder="emptyComplexType"> + <input message="tns:empty"/> + <output message="tns:emptyComplexType"/> + <fault name="emptyFault" message="tns:emptyFault"/> + </operation> + <operation name="emptyComplexTypeReturn"> + <input message="tns:empty"/> + <output message="tns:emptyComplexType"/> + <fault name="emptyFault" message="tns:emptyFault"/> + </operation> + <operation name="anyIn"> + <input message="tns:any"/> + <output message="tns:empty"/> + </operation> + <operation name="anyInout"> + <input message="tns:any"/> + <output message="tns:any"/> + </operation> + <operation name="anyOut" parameterOrder="any"> + <input message="tns:empty"/> + <output message="tns:any"/> + </operation> + <operation name="anyReturn"> + <input message="tns:empty"/> + <output message="tns:any"/> + </operation> + <operation name="animalIn"> + <input message="tns:animal"/> + <output message="tns:empty"/> + </operation> + <operation name="animalInout"> + <input message="tns:animal"/> + <output message="tns:animal"/> + </operation> + <operation name="animalOut" parameterOrder="animal"> + <input message="tns:empty"/> + <output message="tns:animal"/> + </operation> + <operation name="animalReturn"> + <input message="tns:empty"/> + <output message="tns:animal"/> + </operation> + <operation name="catIn"> + <input message="tns:cat"/> + <output message="tns:empty"/> + </operation> + <operation name="catInout"> + <input message="tns:cat"/> + <output message="tns:cat"/> + </operation> + <operation name="catOut" parameterOrder="cat"> + <input message="tns:empty"/> + <output message="tns:cat"/> + </operation> + <operation name="catReturn"> + <input message="tns:empty"/> + <output message="tns:cat"/> + </operation> + <operation name="methodBoolean"> + <input message="tns:inputBoolean"/> + <output message="tns:outputBoolean"/> + </operation> + <operation name="methodByte"> + <input message="tns:inputByte"/> + <output message="tns:outputByte"/> + </operation> + <operation name="methodShort"> + <input message="tns:inputShort"/> + <output message="tns:outputShort"/> + </operation> + <operation name="methodInt"> + <input message="tns:inputInt"/> + <output message="tns:outputInt"/> + </operation> + <operation name="methodLong"> + <input message="tns:inputLong"/> + <output message="tns:outputLong"/> + </operation> + <operation name="methodFloat"> + <input message="tns:inputFloat"/> + <output message="tns:outputFloat"/> + </operation> + <operation name="methodDouble"> + <input message="tns:inputDouble"/> + <output message="tns:outputDouble"/> + </operation> + <operation name="methodString"> + <input message="tns:inputString"/> + <output message="tns:outputString"/> + </operation> + <operation name="methodInteger"> + <input message="tns:inputInteger"/> + <output message="tns:outputInteger"/> + </operation> + <operation name="methodDecimal"> + <input message="tns:inputDecimal"/> + <output message="tns:outputDecimal"/> + </operation> + <operation name="methodDateTime"> + <input message="tns:inputDateTime"/> + <output message="tns:outputDateTime"/> + </operation> + <operation name="methodQName"> + <input message="tns:inputQName"/> + <output message="tns:outputQName"/> + </operation> + <operation name="methodTime"> + <input message="tns:inputTime"/> + <output message="tns:outputTime"/> + </operation> + <operation name="methodUnsignedLong"> + <input message="tns:inputUnsignedLong"/> + <output message="tns:outputUnsignedLong"/> + </operation> + <operation name="methodUnsignedInt"> + <input message="tns:inputUnsignedInt"/> + <output message="tns:outputUnsignedInt"/> + </operation> + <operation name="methodUnsignedShort"> + <input message="tns:inputUnsignedShort"/> + <output message="tns:outputUnsignedShort"/> + </operation> + <operation name="methodUnsignedByte"> + <input message="tns:inputUnsignedByte"/> + <output message="tns:outputUnsignedByte"/> + </operation> + <operation name="methodNonNegativeInteger"> + <input message="tns:inputNonNegativeInteger"/> + <output message="tns:outputNonNegativeInteger"/> + </operation> + <operation name="methodPositiveInteger"> + <input message="tns:inputPositiveInteger"/> + <output message="tns:outputPositiveInteger"/> + </operation> + <operation name="methodNonPositiveInteger"> + <input message="tns:inputNonPositiveInteger"/> + <output message="tns:outputNonPositiveInteger"/> + </operation> + <operation name="methodNegativeInteger"> + <input message="tns:inputNegativeInteger"/> + <output message="tns:outputNegativeInteger"/> + </operation> + <operation name="methodAnyURI"> + <input message="tns:inputAnyURI"/> + <output message="tns:outputAnyURI"/> + </operation> + <operation name="methodSimpleAnyURI"> + <input message="tns:inputSimpleAnyURI"/> + <output message="tns:outputSimpleAnyURI"/> + </operation> + <operation name="methodYear"> + <input message="tns:inputYear"/> + <output message="tns:outputYear"/> + </operation> + <operation name="methodMonth"> + <input message="tns:inputMonth"/> + <output message="tns:outputMonth"/> + </operation> + <operation name="methodDay"> + <input message="tns:inputDay"/> + <output message="tns:outputDay"/> + </operation> + <operation name="methodYearMonth"> + <input message="tns:inputYearMonth"/> + <output message="tns:outputYearMonth"/> + </operation> + <operation name="methodMonthDay"> + <input message="tns:inputMonthDay"/> + <output message="tns:outputMonthDay"/> + </operation> + <operation name="methodSoapString"> + <input message="tns:inputSoapString"/> + <output message="tns:outputSoapString"/> + </operation> + <operation name="methodSoapBoolean"> + <input message="tns:inputSoapBoolean"/> + <output message="tns:outputSoapBoolean"/> + </operation> + <operation name="methodSoapFloat"> + <input message="tns:inputSoapFloat"/> + <output message="tns:outputSoapFloat"/> + </operation> + <operation name="methodSoapDouble"> + <input message="tns:inputSoapDouble"/> + <output message="tns:outputSoapDouble"/> + </operation> + <operation name="methodSoapDecimal"> + <input message="tns:inputSoapDecimal"/> + <output message="tns:outputSoapDecimal"/> + </operation> + <operation name="methodSoapInt"> + <input message="tns:inputSoapInt"/> + <output message="tns:outputSoapInt"/> + </operation> + <operation name="methodSoapShort"> + <input message="tns:inputSoapShort"/> + <output message="tns:outputSoapShort"/> + </operation> + </portType> + + + <binding name="TypeTestBinding" type="tns:TypeTest"> + <soap:binding + style="rpc" + transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="allPrimitivesIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="allPrimitivesInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="allPrimitivesOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumIntIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumIntInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumIntOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="enumIntReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + + <operation name="arrayMIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayMInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayMOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="arrayMReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + + <operation name="complexAllIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexAllInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexAllOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexAllReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexSequenceIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexSequenceInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexSequenceOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexSequenceReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexWComplexIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexWComplexInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexWComplexOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="complexWComplexReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="emptyComplexTypeIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + <fault name="emptyFault"> + <soap:fault name="emptyFault" use="encoded"/> + </fault> + </operation> + <operation name="emptyComplexTypeInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + <fault name="emptyFault"> + <soap:fault name="emptyFault" use="encoded"/> + </fault> + </operation> + <operation name="emptyComplexTypeOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + <fault name="emptyFault"> + <soap:fault name="emptyFault" use="encoded"/> + </fault> + </operation> + <operation name="emptyComplexTypeReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + <fault name="emptyFault"> + <soap:fault name="emptyFault" use="encoded"/> + </fault> + </operation> + <operation name="anyIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="anyInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="anyOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="anyReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="animalIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="animalInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="animalOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="animalReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="catIn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="catInout"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="catOut"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="catReturn"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodBoolean"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodByte"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodShort"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodInt"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodLong"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodFloat"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodDouble"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodString"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodInteger"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodDecimal"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodDateTime"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodQName"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodTime"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodUnsignedLong"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodUnsignedInt"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodUnsignedShort"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodUnsignedByte"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodNonNegativeInteger"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodPositiveInteger"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodNonPositiveInteger"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodNegativeInteger"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + + <operation name="methodAnyURI"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSimpleAnyURI"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodYear"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodMonth"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodDay"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodYearMonth"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodMonthDay"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapString"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapBoolean"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapFloat"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapDouble"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapDecimal"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapInt"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + <operation name="methodSoapShort"> + <soap:operation soapAction=""/> + <input> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </input> + <output> + <soap:body + use="encoded" + namespace="" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> + </output> + </operation> + </binding> + + + <service name="TypeTestService"> + <port name="TypeTest" binding="tns:TypeTestBinding"> + <soap:address location="http://localhost:8080/axis/services/TypeTest"/> + </port> + </service> + + </definitions> + + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/sample1.txt b/test/resources/xml/soap/sample1.txt new file mode 100644 index 0000000..a5f7560 --- /dev/null +++ b/test/resources/xml/soap/sample1.txt @@ -0,0 +1,12 @@ +POST /axis/services/EchoService HTTP/1.1 +Host: 127.0.0.1 +Content-Type: application/soap+xml; charset="utf-8" + +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> + <env:Header> + </env:Header> + <env:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2" ></axis2:echoVoid> + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/sample1.xml b/test/resources/xml/soap/sample1.xml new file mode 100644 index 0000000..9d74dfe --- /dev/null +++ b/test/resources/xml/soap/sample1.xml @@ -0,0 +1,9 @@ +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> + <env:Header> + </env:Header> + <env:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/security2-soap.xml b/test/resources/xml/soap/security2-soap.xml new file mode 100644 index 0000000..4d6c272 --- /dev/null +++ b/test/resources/xml/soap/security2-soap.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:ds="http://www.w3.org/2000/09/xmldsig#" + xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" + xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> + <S:Header> + <m:path xmlns:m="http://schemas.xmlsoap.org/rp"> + <m:action>http://fabrikam123.com/getQuote</m:action> + <m:to>http://fabrikam123.com/stocks</m:to> + <m:from>mailto:johnsmith@fabrikam123.com</m:from> + <m:id>uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6</m:id> + </m:path> + <wsse:Security> + <wsse:BinarySecurityToken + ValueType="wsse:X509v3" + EncodingType="wsse:Base64Binary" + Id="X509Token"> + MIIEZzCCA9CgAwIBAgIQEmtJZc0rqrKh5i... + </wsse:BinarySecurityToken> + <ds:Signature> + <ds:SignedInfo> + <ds:CanonicalizationMethod Algorithm= + "http://www.w3.org/2001/10/xml-exc-c14n#"/> + <ds:SignatureMethod Algorithm= + "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <ds:Reference> + <ds:Transforms> + <ds:Transform Algorithm= + "http://...#RoutingTransform"/> + <ds:Transform Algorithm= + "http://www.w3.org/2001/10/xml-exc-c14n#"/> + </ds:Transforms> + <ds:DigestMethod Algorithm= + "http://www.w3.org/2000/09/xmldsig#sha1"/> + <ds:DigestValue>EULddytSo1...</ds:DigestValue> + </ds:Reference> + </ds:SignedInfo> + <ds:SignatureValue> + BL8jdfToEb1l/vXcMZNNjPOV... + </ds:SignatureValue> + <ds:KeyInfo> + <wsse:SecurityTokenReference> + <wsse:Reference URI="#X509Token"/> + </wsse:SecurityTokenReference> + </ds:KeyInfo> + </ds:Signature> + </wsse:Security> + </S:Header> + <S:Body> + <tru:StockSymbol xmlns:tru="http://fabrikam123.com/payloads"> + QQQ + </tru:StockSymbol> + </S:Body> +</S:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/soap11/soap11fault.xml b/test/resources/xml/soap/soap11/soap11fault.xml new file mode 100644 index 0000000..c9acd34 --- /dev/null +++ b/test/resources/xml/soap/soap11/soap11fault.xml @@ -0,0 +1,16 @@ + <SOAP-ENV:Envelope + xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> + <SOAP-ENV:Header> + <TestHeader>Test</TestHeader> + </SOAP-ENV:Header> + <SOAP-ENV:Body> + <SOAP-ENV:Fault> + <faultcode>SOAP-ENV:MustUnderstand</faultcode> + <faultstring>SOAP Must Understand Error</faultstring> + <faultactor>Actor</faultactor> + <detail>Detail text + <SomeElement>Some Element Text</SomeElement> + </detail> + </SOAP-ENV:Fault> + </SOAP-ENV:Body> + </SOAP-ENV:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/soap11/soap11message.xml b/test/resources/xml/soap/soap11/soap11message.xml new file mode 100644 index 0000000..8a0b231 --- /dev/null +++ b/test/resources/xml/soap/soap11/soap11message.xml @@ -0,0 +1,46 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:From soapenv:mustUnderstand="0" + soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + <test:MessageID xmlns:test="http://example.org/ts-tests" + soapenv:mustUnderstand="1" + soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" + soapenv:anyAttribute="any value"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 + </test:MessageID> + <wsa:To soapenv:mustUnderstand="0" + soapenv:anyAttribute="any value"> + http://localhost:8081/axis/services/BankPort + </wsa:To> + </soapenv:Header> + <soapenv:Body> + <soapenv:Fault> + <soapenv:faultcode> + env:Sender + </soapenv:faultcode> + <soapenv:faultstring>Sender Timeout</soapenv:faultstring> + <soapenv:faultactor> + http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver + </soapenv:faultactor> + <soapenv:detail xmlns:m="http://www.sample.org"> + Details of error + <m:MaxTime m:detail="This is only a test"> + P5M + </m:MaxTime> + <m:AveTime> + <m:Time> + P3M + </m:Time> + </m:AveTime> + </soapenv:detail> + </soapenv:Fault> + </soapenv:Body> +</soapenv:Envelope> + diff --git a/test/resources/xml/soap/soap12message.xml b/test/resources/xml/soap/soap12message.xml new file mode 100644 index 0000000..5830e6c --- /dev/null +++ b/test/resources/xml/soap/soap12message.xml @@ -0,0 +1,58 @@ +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"> + <env:Header> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="true" + env:anyAttribute="any value"> + foo + </test:echoOk> + <test1:echoOk1 xmlns:test1="http://example1.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next" + env:mustUnderstand="false" + env:anyAttribute="any value"> + foo + </test1:echoOk1> + <test2:echoOk2 xmlns:test2="http://example2.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="1" + env:anyAttribute="any value"> + foo + </test2:echoOk2> + </env:Header> + <env:Body> + <env:Fault> + <env:Code> + <env:Value>env:Sender</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In First Subcode</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In Second Subcode</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In Third Subcode</env:Value> + </env:Subcode> + </env:Subcode> + </env:Subcode> + </env:Code> + <env:Reason> + <env:Text xml:lang="en">Sender Timeout</env:Text> + </env:Reason> + <env:Node> + http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver + </env:Node> + <env:Role> + ultimateReceiver + </env:Role> + <env:Detail xmlns:m="http:www.sample.org"> + Details of error + <m:MaxTime m:detail="This is only a test"> + P5M\n + </m:MaxTime> + <m:AveTime> + <m:Time> + P3M\n + </m:Time> + </m:AveTime> + </env:Detail> + </env:Fault> + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/soapmessage.txt b/test/resources/xml/soap/soapmessage.txt new file mode 100644 index 0000000..acae3b5 --- /dev/null +++ b/test/resources/xml/soap/soapmessage.txt @@ -0,0 +1,16 @@ +POST /axis/services/EchoService HTTP/1.1
+Host: 127.0.0.1
+Content-Type: application/soap+xml; charset="utf-8"
+
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <soapenv:Header>
+ <wsa:MessageID soapenv:mustUnderstand="0">uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID>
+ <wsa:To soapenv:mustUnderstand="0">http://localhost:8081/axis/services/BankPort</wsa:To>
+ <wsa:From soapenv:mustUnderstand="0">
+ <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing">http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</Address>
+ </wsa:From>
+ </soapenv:Header>
+ <soapenv:Body>
+ <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2" ></axis2:echoVoid>
+ </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/soapmessage.xml b/test/resources/xml/soap/soapmessage.xml new file mode 100644 index 0000000..0f49778 --- /dev/null +++ b/test/resources/xml/soap/soapmessage.xml @@ -0,0 +1,20 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/soapmessage1.xml b/test/resources/xml/soap/soapmessage1.xml new file mode 100644 index 0000000..3d69585 --- /dev/null +++ b/test/resources/xml/soap/soapmessage1.xml @@ -0,0 +1,27 @@ +<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + <soapenv:Header> + <wsa:MessageID soapenv:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To soapenv:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From soapenv:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + </soapenv:Header> + <soapenv:Body> + <ns1:getBalance soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + xmlns:ns1="http://localhost:8081/axis/services/BankPort"> + <ns1:accountNo href="#id0"/> + </ns1:getBalance> + <multiRef xmlns="tempUri" id="id0" soapenc:root="0" + soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + xsi:type="xsd:int" + xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1001 + </multiRef> + </soapenv:Body> +</soapenv:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/test.xml b/test/resources/xml/soap/test.xml new file mode 100644 index 0000000..3a303d4 --- /dev/null +++ b/test/resources/xml/soap/test.xml @@ -0,0 +1,59 @@ +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"> + <env:Header> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="true" + env:anyAttribute="any value"> + foo + </test:echoOk> + <test1:echoOk1 xmlns:test1="http://example1.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next" + env:mustUnderstand="false" + env:anyAttribute="any value"> + foo + </test1:echoOk1> + <test2:echoOk2 xmlns:test2="http://example2.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="1" + env:anyAttribute="any value"> + foo + </test2:echoOk2> + </env:Header> + <env:Body> + <env:Fault> + <env:Code> + <env:Value>env:Sender</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In First Subcode</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In Second Subcode</env:Value> + <env:Subcode> + <env:Value>m:MessageTimeout In Third Subcode</env:Value> + </env:Subcode> + </env:Subcode> + </env:Subcode> + </env:Code> + <env:Reason> + <env:Text xml:lang="en">Sender Timeout</env:Text> + </env:Reason> + <env:Node> + http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver + </env:Node> + <env:Role> + ultimateReceiver + </env:Role> + <env:Detail xmlns:m="http:www.sample.org"> + Details of error + <m:MaxTime m:detail="This is only a test"> + P5M\n + </m:MaxTime> + <m:AveTime> + <m:Time> + P3M\n + </m:Time> + </m:AveTime> + </env:Detail> + </env:Fault> + </env:Body> +</env:Envelope> + diff --git a/test/resources/xml/soap/whitespacedMessage.xml b/test/resources/xml/soap/whitespacedMessage.xml new file mode 100644 index 0000000..0af632b --- /dev/null +++ b/test/resources/xml/soap/whitespacedMessage.xml @@ -0,0 +1,27 @@ +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + + <env:Header> + + + <wsa:MessageID env:mustUnderstand="0"> + uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID> + <wsa:To env:mustUnderstand="0"> + http://localhost:8081/axis/services/BankPort</wsa:To> + <wsa:From env:mustUnderstand="0"> + <Address xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing"> + http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous + </Address> + </wsa:From> + + </env:Header> + <env:Body> + + + <axis2:echoVoid xmlns:axis2="http://ws.apache.org/axis2"> + </axis2:echoVoid> + + + </env:Body> +</env:Envelope>
\ No newline at end of file diff --git a/test/resources/xml/soap/wrongEnvelopeNamespace.xml b/test/resources/xml/soap/wrongEnvelopeNamespace.xml new file mode 100644 index 0000000..ff81835 --- /dev/null +++ b/test/resources/xml/soap/wrongEnvelopeNamespace.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<soap:Envelope +xmlns:soap="http://www.w3.org/2001/12/soap-envelope" +soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> + + <soap:Body xmlns:m="http://www.stock.org/stock"> + <m:GetStockPrice> + <m:StockName>IBM</m:StockName> + </m:GetStockPrice> + </soap:Body> + +</soap:Envelope>
\ No newline at end of file |