Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

rpclib-2.4.4-beta commits #109

Merged
merged 16 commits into from
Commits on Oct 25, 2011
  1. Burak Arslan

    add Time primitive.

    plq authored
  2. Burak Arslan

    roadmap reword

    plq authored
  3. Burak Arslan

    faq reword

    plq authored
  4. Burak Arslan
  5. Burak Arslan
  6. Burak Arslan

    remove duplicate points

    plq authored
  7. Burak Arslan

    changelog update.

    plq authored
Commits on Oct 28, 2011
  1. Guillaume Gauvrit Burak Arslan

    issue #106

    mardiros authored plq committed
  2. Burak Arslan
  3. Burak Arslan

    Merge branch 'multi_port'

    plq authored
  4. Burak Arslan

    changelog update

    plq authored
  5. Burak Arslan
  6. Burak Arslan
  7. Burak Arslan

    examples reorg

    plq authored
  8. Burak Arslan

    changelog update

    plq authored
  9. Burak Arslan

    changelog update

    plq authored
This page is out of date. Refresh to see the latest.
7 CHANGELOG.rst
View
@@ -2,6 +2,13 @@
Changelog
=========
+rpclib-2.4.4-beta
+-----------------
+ * Time primitive was implemented.
+ * Fix for multiple ports was integrated.
+ * Added http cookie authentication example with suds.
+ * Full change log: https://github.com/arskom/rpclib/pull/109
+
rpclib-2.4.3-beta
-----------------
* Many issues with 'soft' validation was fixed.
8 ROADMAP.rst
View
@@ -17,7 +17,7 @@ touching most of the codebase: A proper lazily-evaluated pipeline for request
processing.
Currently, every artifact of the rpc processing pipeline remain in memory for the
-entire life time of the context object. This also causes to have the whole message
+entire life time of the context object. This also results in having the whole message
in memory while processing. While this is not a problem for small messages, which is
rpclib's main target, it limits rpclib capabilities.
@@ -52,10 +52,15 @@ Soap to JsonRpc.
Miscellanous
------------
+First and foremost:
+
+ Fix the tests that fail due to api changes!
+
The following would definitely be nice to have, but are just modules that should
not cause a change in unrelated areas of rpclib. Those would increment the minor
version number of the Rpclib version once implemented.
+* Support for polymorphism in XML Schema.
* Support for the JsonObject (à la XmlObject) and JsonRpc protocols.
* Support for the JsonSchema interface document standard.
* Support for the Thrift binary protocol.
@@ -72,4 +77,3 @@ version number of the Rpclib version once implemented.
* Support addressing (routing) extensions to Soap
* Add WSDL Parsing support to Soap client
* Reflect transport and protocol pairs other than Soap/Http to the Wsdl.
-* Fix the tests that fail due to api changes.
3  doc/source/comparison.rst
View
@@ -22,11 +22,10 @@ Discussion thread: https://answers.launchpad.net/ladon/+question/171664
The main motive for designing JSON-WSP was the need for a JSON-based RPC
protocol with a service description specification with built-in service /
method documentation.
-* Supports Python 3.x.
+* Supports both Python 2 and Python 3.
* Auto-generates human-readable API documentation.
(example: http://ladonize.org/python-demos/AlbumService) In Rpclib, you need
to do with the ugliness of a raw wsdl document.
-* Supports both Python 2 and Python 3.
* Does not support ZeroMQ.
* Uses standard python tools for xml parsing which is good for pure-python
deployments. Rpclib uses lxml, due to its excellent namespace support and
16 doc/source/faq.rst
View
@@ -8,19 +8,24 @@ Frequently asked questions about rpclib and related libraries.
Does rpclib support the SOAP 1.2 standard?
==========================================
-Sort answer: No. Long answer: Nope.
+**Short answer:** No.
+
+**Long answer:** Nope.
Patches are welcome.
How do I implement a predefined WSDL?
=====================================
-This is not a strength of rpclib, which is more oriented toward implementing
-services from scratch. It does not have any functionality to parse an existing
-WSDL document to produce the necessary Python classes and method stubs.
+**Short answer:** By hand.
+
+**Long answer:** This is not a strength of rpclib, which is more oriented toward
+implementing services from scratch. It does not have any functionality to parse
+an existing WSDL document to produce the necessary Python classes and method
+stubs.
Patches are welcome. You can start by adapting the WSDL parser from
-`RSL <http://rsl.sf.net>`.
+`RSL <http://rsl.sf.net>`_.
Is it possible to use other decorators with @rpc/@srpc?
=======================================================
@@ -76,4 +81,3 @@ How do I alter the behaviour of a user method without using decorators?
``ctx.descriptor.function`` contains the handle to the original function. You
can set that attribute to arbitrary callables to prevent the original user
method from running.
-
0  examples/authenticate/client_suds.py → examples/authentication/client_suds.py
View
File renamed without changes
0  examples/cookie_authenticate/client_suds.py → examples/authentication/http_cookie/client_suds.py
View
File renamed without changes
0  examples/cookie_authenticate/server_soap.py → examples/authentication/http_cookie/server_soap.py
View
File renamed without changes
0  examples/authenticate/server_soap.py → examples/authentication/server_soap.py
View
File renamed without changes
39 src/rpclib/interface/wsdl/wsdl11.py
View
@@ -222,7 +222,8 @@ def build_interface_document(self, url):
cb_binding = None
for s in self.services:
- cb_binding = self.add_bindings_for_methods(s, root, service_name)
+ cb_binding = self.add_bindings_for_methods(s, root, service_name,
+ cb_binding)
if self.app.transport is None:
raise Exception("You must set the 'transport' property of the "
@@ -396,20 +397,11 @@ def add_messages_for_methods(self, service, root, messages):
fault.get_type_name())
def add_bindings_for_methods(self, service, root, service_name,
- cb_binding=None):
+ cb_binding):
pref_tns = self.get_namespace_prefix(service.get_tns())
- def inner(binding,transport):
- if service._has_callbacks():
- if cb_binding is None:
- cb_binding = etree.SubElement(root, '{%s}binding' % _ns_wsdl)
- cb_binding.set('name', '%sCallback' % service_name)
- cb_binding.set('type', 'typens:%sCallback' % service_name)
-
- soap_binding = etree.SubElement(cb_binding, '{%s}binding' % _ns_soap)
- soap_binding.set('transport', transport)
-
+ def inner(binding):
for method in service.public_methods.values():
operation = etree.Element('{%s}operation' % _ns_wsdl)
operation.set('name', method.name)
@@ -524,20 +516,19 @@ def inner(binding,transport):
transport = etree.SubElement(binding, '{%s}binding' % _ns_soap)
transport.set('style', 'document')
- inner(binding,transport)
+ inner(binding)
else:
- # there is only an unamed port, let's call it has it's service.
- #binding_name = self._get_binding_name(service_name)
- # create binding nodes
- binding = etree.SubElement(root, '{%s}binding' % _ns_wsdl)
- binding.set('name', service_name)
- binding.set('type', '%s:%s'% (pref_tns, service_name))
-
- transport = etree.SubElement(binding, '{%s}binding' % _ns_soap)
- transport.set('style', 'document')
+ # here is the default port.
+ if cb_binding is None:
+ cb_binding = etree.SubElement(root, '{%s}binding' % _ns_wsdl)
+ cb_binding.set('name', service_name)
+ cb_binding.set('type', '%s:%s'% (pref_tns, service_name))
+
+ transport = etree.SubElement(cb_binding, '{%s}binding' % _ns_soap)
+ transport.set('style', 'document')
+ transport.set('transport', self.app.transport)
- inner(binding,transport)
-
+ inner(cb_binding)
return cb_binding
15 src/rpclib/model/binary.py
View
@@ -57,23 +57,12 @@ def to_string_iterable(cls, value):
@classmethod
@nillable_string
def to_base64(cls, value):
- ostream = StringIO()
- istream = StringIO(''.join(value))
- base64.encode(istream, ostream)
- ostream.seek(0)
-
- return [ostream.read()]
+ return [base64.b64encode(''.join(value))]
@classmethod
@nillable_string
def from_base64(cls, value):
- istream = StringIO(''.join(value))
- ostream = StringIO()
-
- base64.decode(istream, ostream)
- ostream.seek(0)
-
- return [ostream.read()]
+ return [base64.b64decode(''.join(value))]
class Attachment(ModelBase):
"""**DEPRECATED!** Use ByteArray instead."""
106 src/rpclib/model/primitive.py
View
@@ -23,16 +23,13 @@
import math
import pytz
import decimal
+import datetime
import rpclib.const.xml_ns
import cPickle as pickle
from collections import deque
-from datetime import date
-from datetime import datetime
-from datetime import timedelta
-
from lxml import etree
from pytz import FixedOffset
@@ -51,6 +48,7 @@
_utc_re = re.compile(_datetime_pattern + 'Z')
_offset_re = re.compile(_datetime_pattern + _offset_pattern)
_date_re = re.compile(_date_pattern)
+_time_re = re.compile(_time_pattern)
_duration_re = re.compile(
r'(?P<sign>-?)'
r'P'
@@ -106,14 +104,15 @@ def from_string(cls, string):
raise ValidationError(string)
class Unicode(SimpleModel):
- """The type to represent human-readable data. Its native format is unicode.
- Currently, it can read from only utf8-compatible encodings.
+ """The type to represent human-readable data. Its native format is `unicode`.
+ or `str` with given encoding.
"""
__type_name__ = 'string'
class Attributes(SimpleModel.Attributes):
- """The class that holds the constraints for the given type."""
+ """Customizable attributes of the :class:`rpclib.model.primitive.Unicode`
+ type."""
min_len = 0
"""Minimum length of string. Can be set to any positive integer"""
@@ -139,10 +138,7 @@ def __new__(cls, *args, **kwargs):
@classmethod
@nillable_string
def from_string(cls, value):
- try:
- return value.decode('utf8')
- except:
- return value
+ return value
@classmethod
@nillable_string
@@ -166,20 +162,36 @@ def validate_string(cls, value):
re.match(cls.Attributes.pattern, value) is not None)
)
-class String(Unicode):
+
+# the undocumented string type, for those who want not-so-implicit encoding
+# conversions.
+class _String(Unicode):
+ class Attributes(Unicode.Attributes):
+ """Customizable attributes of the :class:`rpclib.model.primitive.String`
+ type."""
+
+ encoding = 'utf8'
+ """The encoding of the passed `str` object."""
+
@classmethod
@nillable_string
def from_string(cls, value):
- return str(value)
+ retval = value
+ if cls.Attributes.encoding is not None:
+ retval = value.decode(cls.Attributes.encoding)
+ return retval
@classmethod
@nillable_string
def to_string(cls, value):
- return str(value)
+ retval = value
+ if cls.Attribute.encoding is not None:
+ retval = value.encode(cls.Attributes.encoding)
+ return retval
String = Unicode # FIXME: the string/unicode separation needs to be tested
-class AnyUri(String):
+class AnyUri(Unicode):
"""This is an xml schema type with is a special kind of String."""
__type_name__ = 'anyURI'
@@ -340,8 +352,40 @@ class UnsignedInteger8(Integer):
__type_name__ = 'unsignedByte'
__length__ = 8
+class Time(SimpleModel):
+ """Just that, Time. No time zone support.
+
+ Native type is :class:`datetime.time`.
+ """
+
+ __type_name__ = 'time'
+
+ @classmethod
+ @nillable_string
+ def to_string(cls, value):
+ """Returns ISO formatted dates."""
+
+ return value.isoformat()
+
+ @classmethod
+ @nillable_string
+ def from_string(cls, string):
+ """Expects ISO formatted dates."""
+
+ match = _time_re.match(string)
+ if match is None:
+ raise ValidationError(string)
+
+ fields = match.groupdict(0)
+
+ return datetime.time(int(fields['hr']), int(fields['min']),
+ int(fields['sec']), int(fields.get("sec_frac", '.')[1:]))
+
class Date(SimpleModel):
- """Just that, Date. It also supports time zones."""
+ """Just that, Date. It also supports time zones.
+
+ Native type is :class:`datetime.date`.
+ """
__type_name__ = 'date'
@@ -363,10 +407,12 @@ def from_string(cls, string):
fields = match.groupdict(0)
- return date(fields['year'], fields['month'], fields['day'])
+ return datetime.date(fields['year'], fields['month'], fields['day'])
class DateTime(SimpleModel):
"""A compact way to represent dates and times together. Supports time zones.
+
+ Native type is :class:`datetime.datetime`.
"""
__type_name__ = 'dateTime'
@@ -377,15 +423,21 @@ def to_string(cls, value):
@staticmethod
def parse(date_match, tz=None):
- fields = date_match.groupdict(0)
- year, month, day, hour, min, sec = [int(fields[x]) for x in
- ("year", "month", "day", "hr", "min", "sec")]
-
- # use of decimal module here (rather than float) might be better
- # here, if willing to require python 2.4 or higher
- microsec = int(float(fields.get("sec_frac", 0)) * 10 ** 6)
+ fields = date_match.groupdict()
+
+ year = int(fields.get('year'))
+ month = int(fields.get('month'))
+ day = int(fields.get('day'))
+ hour = int(fields.get('hr'))
+ min = int(fields.get('min'))
+ sec = int(fields.get('sec'))
+ microsec = fields.get("sec_frac")
+ if microsec is None:
+ microsec = 0
+ else:
+ microsec = int(microsec[1:])
- return datetime(year,month,day, hour,min,sec, microsec, tz)
+ return datetime.datetime(year,month,day, hour,min,sec, microsec, tz)
@classmethod
@nillable_string
@@ -409,7 +461,7 @@ def from_string(cls, string):
# this object tries to follow ISO 8601 standard.
class Duration(SimpleModel):
- """This is how the native datetime.timedelta objects are serialized."""
+ """Native type is :class:`datetime.timedelta`."""
__type_name__ = 'duration'
@@ -430,7 +482,7 @@ def from_string(cls, string):
seconds = i
microseconds = int(1e6 * f)
- delta = timedelta(days=days, hours=hours, minutes=minutes,
+ delta = datetime.timedelta(days=days, hours=hours, minutes=minutes,
seconds=seconds, microseconds=microseconds)
if duration['sign'] == "-":
5 src/rpclib/model/table.py
View
@@ -48,6 +48,7 @@
from rpclib.model import binary
from rpclib.model import complex
+
_type_map = {
sqlalchemy.Text: primitive.String,
sqlalchemy.String: primitive.String,
@@ -63,7 +64,11 @@
sqlalchemy.LargeBinary: binary.ByteArray,
sqlalchemy.Boolean: primitive.Boolean,
sqlalchemy.DateTime: primitive.DateTime,
+ sqlalchemy.Date: primitive.Date,
+ sqlalchemy.Time: primitive.Time,
+
sqlalchemy.orm.relation: complex.Array,
+
UUID: primitive.String
}
204 src/rpclib/test/interop/wsi-report-rpclib.xml
View
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="wsi-test-tools/common/xsl/report.xsl" type="text/xsl" ?>
-<report name="WS-I Basic Profile Conformance Report." timestamp="2011-09-19T15:13:36.767"
+<report name="WS-I Basic Profile Conformance Report." timestamp="2011-10-28T16:12:06.460"
xmlns="http://www.ws-i.org/testing/2004/07/report/"
xmlns:wsi-report="http://www.ws-i.org/testing/2004/07/report/"
xmlns:wsi-log="http://www.ws-i.org/testing/2003/03/log/"
@@ -141,7 +141,7 @@
<assertionResult id="SSBP2403" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerOutHeaderMsg">
+ <entry type="message" referenceID="{rpclib.test.interop.server}OutHeader">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
@@ -153,25 +153,25 @@
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerInHeaderMsg">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerInHeaderMsg">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerOutHeaderMsg">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerInHeaderMsg">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerInHeaderMsg">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerOutHeaderMsg">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}OutHeader">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerOutHeaderMsg">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
@@ -361,12 +361,6 @@
<assertionResult id="BP2014" result="notApplicable">
</assertionResult>
</entry>
- <entry type="operation" referenceID="return_only">
- <assertionResult id="BP2208" result="passed">
- </assertionResult>
- <assertionResult id="BP2014" result="notApplicable">
- </assertionResult>
- </entry>
<entry type="operation" referenceID="multi_param">
<assertionResult id="BP2208" result="passed">
</assertionResult>
@@ -451,139 +445,127 @@
<assertionResult id="BP2014" result="notApplicable">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_datetimeResponse">
- <assertionResult id="BP2115" result="passed">
- </assertionResult>
- <assertionResult id="BP2116" result="passed">
- </assertionResult>
- </entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_header">
- <assertionResult id="BP2115" result="passed">
- </assertionResult>
- <assertionResult id="BP2116" result="passed">
- </assertionResult>
- </entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_class_with_self_referenceResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_date_time_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_binary_dataResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}soap_exceptionResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_extension_class">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_double">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_header">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_class_with_self_referenceResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_onlyResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean">
+ <entry type="message" referenceID="{rpclib.test.interop.server}soap_exception">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_double_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_invalid_dataResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}long_stringResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_string_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_float">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}getCustomMessagesMsgOut">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}multi_paramResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_any_as_dict">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_duration">
+ <entry type="message" referenceID="{rpclib.test.interop.server}complex_returnResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_classResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}non_nillable">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_array_in_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_invalid_dataResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}multi_paramResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_other_class_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_stringResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}long_string">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_other_class_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_double_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
@@ -595,19 +577,19 @@
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_durationResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_binary_data">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachmentResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_float">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
@@ -619,379 +601,379 @@
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_other_class_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}multi_param">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_boolean_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_classResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_headerResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_extension_classResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}custom_messages">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_anyResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}complex_returnResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}huge_numberResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}non_nillable">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_integerResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_floatResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}non_nillableResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_header">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_binary_dataResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_header">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_anyResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_integerResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_float_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}Fault">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}do_something_else">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}documented_exceptionResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_datetimeResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_enum">
+ <entry type="message" referenceID="{rpclib.test.interop.server}do_something_elseResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment">
+ <entry type="message" referenceID="{rpclib.test.interop.server}test_emptyResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}soap_exceptionResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_durationResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_date_time_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_booleanResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}non_nillableResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}python_exceptionResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_invalid_data">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_header">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_float_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_string_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}test_emptyResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}documented_exception">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_date_time_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}send_out_complex_headerResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_datetime">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}do_something_else">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_float_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_double">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_any">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_header">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}documented_exception">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_enum">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_string">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_any">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_any_as_dictResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_classResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_binary_data">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_duration">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}soap_exception">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_boolean_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_only">
+ <entry type="message" referenceID="{rpclib.test.interop.server}test_empty">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_double_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}return_invalid_data">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_extension_classResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_class_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}do_something_elseResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachment_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}huge_number">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_complex_headerResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_float_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_header">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}test_empty">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_attachmentResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}getCustomMessagesMsgOut">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_headerResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}long_string">
+ <entry type="message" referenceID="{rpclib.test.interop.server}custom_messages">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_header">
+ <entry type="message" referenceID="{rpclib.test.interop.server}python_exception">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_any_as_dict">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_boolean_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_in_headerResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}python_exceptionResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_boolean_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_any_as_dictResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_floatResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_boolean_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}return_other_class_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}huge_number">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_string_arrayResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer_arrayResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_array_in_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_extension_class">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}Fault">
+ <entry type="message" referenceID="{rpclib.test.interop.server}documented_exceptionResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}multi_param">
+ <entry type="message" referenceID="{rpclib.test.interop.server}complex_return">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_doubleResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_stringResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_enumResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_booleanResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_enumResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_simple_classResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_doubleResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}python_exception">
+ <entry type="message" referenceID="{rpclib.test.interop.server}long_stringResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_string_array">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_nested_class_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}huge_numberResponse">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_integer_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_string">
+ <entry type="message" referenceID="{rpclib.test.interop.server}send_out_headerResponse">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}echo_datetime">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_double_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
</assertionResult>
</entry>
- <entry type="message" referenceID="{rpclib.test.interop.server}complex_return">
+ <entry type="message" referenceID="{rpclib.test.interop.server}echo_date_time_array">
<assertionResult id="BP2115" result="passed">
</assertionResult>
<assertionResult id="BP2116" result="passed">
11 src/rpclib/test/model/test_primitive.py
View
@@ -23,6 +23,8 @@
from lxml import etree
from rpclib.model.complex import Array
+from rpclib.model.primitive import Date
+from rpclib.model.primitive import Time
from rpclib.model.primitive import Boolean
from rpclib.model.primitive import DateTime
from rpclib.model.primitive import Duration
@@ -56,6 +58,15 @@ def test_datetime(self):
dt = DateTime.from_xml(element)
self.assertEquals(n, dt)
+ def test_time(self):
+ n = datetime.time(1,2,3,4)
+
+ ret = Time.to_string(n)
+ self.assertEquals(ret, n.isoformat())
+
+ dt = Time.from_string(ret)
+ self.assertEquals(n, dt)
+
def test_duration_xml_duration(self):
dur = datetime.timedelta(days=5 + 30 + 365, hours=1, minutes=1,
seconds=12, microseconds=8e5)
2  src/rpclib/test/sort_wsdl.py
View
@@ -58,7 +58,7 @@ def main():
tree.getroot().append(e)
for e in tree.getroot():
- if e.tag in ("{%s}portType" % ns_wsdl, "{%s}binding" % ns_wsdl):
+ if e.tag in ("{%s}portType" % ns_wsdl, "{%s}binding" % ns_wsdl, "{%s}operation" % ns_wsdl):
nodes = []
for p in e.getchildren():
nodes.append(p)
332 src/rpclib/test/wsdl.xml
View
@@ -1214,115 +1214,115 @@
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="echo_any">
- <soap:operation soapAction="echo_any" style="document" />
- <wsdl:input name="echo_any">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="complex_return">
+ <soap:operation soapAction="complex_return" style="document" />
+ <wsdl:input name="complex_return">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_anyResponse">
+ <wsdl:output name="complex_returnResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_any_as_dict">
- <soap:operation soapAction="echo_any_as_dict" style="document" />
- <wsdl:input name="echo_any_as_dict">
+ <wsdl:operation name="custom_messages">
+ <soap:operation soapAction="custom_messages" style="document" />
+ <wsdl:input name="custom_messages">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_any_as_dictResponse">
+ <wsdl:output name="getCustomMessagesMsgOut">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_boolean">
- <soap:operation soapAction="echo_boolean" style="document" />
- <wsdl:input name="echo_boolean">
+ <wsdl:operation name="do_something_else">
+ <soap:operation soapAction="do_something_else" style="document" />
+ <wsdl:input name="do_something_else">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_booleanResponse">
+ <wsdl:output name="do_something_elseResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_datetime">
- <soap:operation soapAction="echo_datetime" style="document" />
- <wsdl:input name="echo_datetime">
+ <wsdl:operation name="documented_exception">
+ <soap:operation soapAction="documented_exception" style="document" />
+ <wsdl:input name="documented_exception">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_datetimeResponse">
+ <wsdl:output name="documented_exceptionResponse">
<soap:body use="literal" />
</wsdl:output>
+ <wsdl:fault name="Fault">
+ <soap:fault name="Fault" use="literal" />
+ </wsdl:fault>
</wsdl:operation>
- <wsdl:operation name="echo_double">
- <soap:operation soapAction="echo_double" style="document" />
- <wsdl:input name="echo_double">
+ <wsdl:operation name="echo_any">
+ <soap:operation soapAction="echo_any" style="document" />
+ <wsdl:input name="echo_any">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_doubleResponse">
+ <wsdl:output name="echo_anyResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_duration">
- <soap:operation soapAction="echo_duration" style="document" />
- <wsdl:input name="echo_duration">
+ <wsdl:operation name="echo_any_as_dict">
+ <soap:operation soapAction="echo_any_as_dict" style="document" />
+ <wsdl:input name="echo_any_as_dict">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_durationResponse">
+ <wsdl:output name="echo_any_as_dictResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_enum">
- <soap:operation soapAction="echo_enum" style="document" />
- <wsdl:input name="echo_enum">
+ <wsdl:operation name="echo_array_in_array">
+ <soap:operation soapAction="echo_array_in_array" style="document" />
+ <wsdl:input name="echo_array_in_array">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_enumResponse">
+ <wsdl:output name="echo_array_in_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_float">
- <soap:operation soapAction="echo_float" style="document" />
- <wsdl:input name="echo_float">
+ <wsdl:operation name="echo_attachment">
+ <soap:operation soapAction="echo_attachment" style="document" />
+ <wsdl:input name="echo_attachment">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_floatResponse">
+ <wsdl:output name="echo_attachmentResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_integer">
- <soap:operation soapAction="echo_integer" style="document" />
- <wsdl:input name="echo_integer">
+ <wsdl:operation name="echo_attachment_array">
+ <soap:operation soapAction="echo_attachment_array" style="document" />
+ <wsdl:input name="echo_attachment_array">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_integerResponse">
+ <wsdl:output name="echo_attachment_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_string">
- <soap:operation soapAction="echo_string" style="document" />
- <wsdl:input name="echo_string">
+ <wsdl:operation name="echo_boolean">
+ <soap:operation soapAction="echo_boolean" style="document" />
+ <wsdl:input name="echo_boolean">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_stringResponse">
+ <wsdl:output name="echo_booleanResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="echo_array_in_array">
- <soap:operation soapAction="echo_array_in_array" style="document" />
- <wsdl:input name="echo_array_in_array">
+ <wsdl:operation name="echo_boolean_array">
+ <soap:operation soapAction="echo_boolean_array" style="document" />
+ <wsdl:input name="echo_boolean_array">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_array_in_arrayResponse">
+ <wsdl:output name="echo_boolean_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_boolean_array">
- <soap:operation soapAction="echo_boolean_array" style="document" />
- <wsdl:input name="echo_boolean_array">
+ <wsdl:operation name="echo_class_with_self_reference">
+ <soap:operation soapAction="echo_class_with_self_reference" style="document" />
+ <wsdl:input name="echo_class_with_self_reference">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_boolean_arrayResponse">
+ <wsdl:output name="echo_class_with_self_referenceResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -1335,6 +1335,24 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="echo_datetime">
+ <soap:operation soapAction="echo_datetime" style="document" />
+ <wsdl:input name="echo_datetime">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="echo_datetimeResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echo_double">
+ <soap:operation soapAction="echo_double" style="document" />
+ <wsdl:input name="echo_double">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="echo_doubleResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="echo_double_array">
<soap:operation soapAction="echo_double_array" style="document" />
<wsdl:input name="echo_double_array">
@@ -1344,78 +1362,90 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_float_array">
- <soap:operation soapAction="echo_float_array" style="document" />
- <wsdl:input name="echo_float_array">
+ <wsdl:operation name="echo_duration">
+ <soap:operation soapAction="echo_duration" style="document" />
+ <wsdl:input name="echo_duration">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_float_arrayResponse">
+ <wsdl:output name="echo_durationResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_integer_array">
- <soap:operation soapAction="echo_integer_array" style="document" />
- <wsdl:input name="echo_integer_array">
+ <wsdl:operation name="echo_enum">
+ <soap:operation soapAction="echo_enum" style="document" />
+ <wsdl:input name="echo_enum">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_integer_arrayResponse">
+ <wsdl:output name="echo_enumResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_simple_boolean_array">
- <soap:operation soapAction="echo_simple_boolean_array" style="document" />
- <wsdl:input name="echo_simple_boolean_array">
+ <wsdl:operation name="echo_extension_class">
+ <soap:operation soapAction="echo_extension_class" style="document" />
+ <wsdl:input name="echo_extension_class">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_simple_boolean_arrayResponse">
+ <wsdl:output name="echo_extension_classResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_string_array">
- <soap:operation soapAction="echo_string_array" style="document" />
- <wsdl:input name="echo_string_array">
+ <wsdl:operation name="echo_float">
+ <soap:operation soapAction="echo_float" style="document" />
+ <wsdl:input name="echo_float">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_string_arrayResponse">
+ <wsdl:output name="echo_floatResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="echo_attachment">
- <soap:operation soapAction="echo_attachment" style="document" />
- <wsdl:input name="echo_attachment">
+ <wsdl:operation name="echo_float_array">
+ <soap:operation soapAction="echo_float_array" style="document" />
+ <wsdl:input name="echo_float_array">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_attachmentResponse">
+ <wsdl:output name="echo_float_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_attachment_array">
- <soap:operation soapAction="echo_attachment_array" style="document" />
- <wsdl:input name="echo_attachment_array">
+ <wsdl:operation name="echo_in_complex_header">
+ <soap:operation soapAction="echo_in_complex_header" style="document" />
+ <wsdl:input name="echo_in_complex_header">
<soap:body use="literal" />
+ <soap:header message="tns:echo_in_complex_headerInHeaderMsg" part="InHeader" use="literal" />
+ <soap:header message="tns:echo_in_complex_headerInHeaderMsg" part="InTraceHeader" use="literal" />
</wsdl:input>
- <wsdl:output name="echo_attachment_arrayResponse">
+ <wsdl:output name="echo_in_complex_headerResponse">
<soap:body use="literal" />
+ <soap:header message="tns:echo_in_complex_headerOutHeaderMsg" part="OutHeader" use="literal" />
+ <soap:header message="tns:echo_in_complex_headerOutHeaderMsg" part="OutTraceHeader" use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_class_with_self_reference">
- <soap:operation soapAction="echo_class_with_self_reference" style="document" />
- <wsdl:input name="echo_class_with_self_reference">
+ <wsdl:operation name="echo_in_header">
+ <soap:operation soapAction="echo_in_header" style="document" />
+ <wsdl:input name="echo_in_header">
<soap:body use="literal" />
+ <soap:header message="tns:InHeader" part="InHeader" use="literal" />
</wsdl:input>
- <wsdl:output name="echo_class_with_self_referenceResponse">
+ <wsdl:output name="echo_in_headerResponse">
<soap:body use="literal" />
+ <soap:header message="tns:OutHeader" part="OutHeader" use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="echo_extension_class">
- <soap:operation soapAction="echo_extension_class" style="document" />
- <wsdl:input name="echo_extension_class">
+ <wsdl:operation name="echo_integer">
+ <soap:operation soapAction="echo_integer" style="document" />
+ <wsdl:input name="echo_integer">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="echo_extension_classResponse">
+ <wsdl:output name="echo_integerResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echo_integer_array">
+ <soap:operation soapAction="echo_integer_array" style="document" />
+ <wsdl:input name="echo_integer_array">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="echo_integer_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -1437,6 +1467,15 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="echo_simple_boolean_array">
+ <soap:operation soapAction="echo_simple_boolean_array" style="document" />
+ <wsdl:input name="echo_simple_boolean_array">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="echo_simple_boolean_arrayResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="echo_simple_class">
<soap:operation soapAction="echo_simple_class" style="document" />
<wsdl:input name="echo_simple_class">
@@ -1455,33 +1494,21 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="complex_return">
- <soap:operation soapAction="complex_return" style="document" />
- <wsdl:input name="complex_return">
- <soap:body use="literal" />
- </wsdl:input>
- <wsdl:output name="complex_returnResponse">
- <soap:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="custom_messages">
- <soap:operation soapAction="custom_messages" style="document" />
- <wsdl:input name="custom_messages">
+ <wsdl:operation name="echo_string">
+ <soap:operation soapAction="echo_string" style="document" />
+ <wsdl:input name="echo_string">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="getCustomMessagesMsgOut">
+ <wsdl:output name="echo_stringResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="do_something_else">
- <soap:operation soapAction="do_something_else" style="document" />
- <wsdl:input name="do_something_else">
+ <wsdl:operation name="echo_string_array">
+ <soap:operation soapAction="echo_string_array" style="document" />
+ <wsdl:input name="echo_string_array">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="do_something_elseResponse">
+ <wsdl:output name="echo_string_arrayResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -1521,6 +1548,15 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="python_exception">
+ <soap:operation soapAction="python_exception" style="document" />
+ <wsdl:input name="python_exception">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="python_exceptionResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="return_binary_data">
<soap:operation soapAction="return_binary_data" style="document" />
<wsdl:input name="return_binary_data">
@@ -1548,56 +1584,6 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="test_empty">
- <soap:operation soapAction="test_empty" style="document" />
- <wsdl:input name="test_empty">
- <soap:body use="literal" />
- </wsdl:input>
- <wsdl:output name="test_emptyResponse">
- <soap:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="echo_in_header">
- <soap:operation soapAction="echo_in_header" style="document" />
- <wsdl:input name="echo_in_header">
- <soap:body use="literal" />
- <soap:header message="tns:InHeader" part="InHeader" use="literal" />
- </wsdl:input>
- <wsdl:output name="echo_in_headerResponse">
- <soap:body use="literal" />
- <soap:header message="tns:OutHeader" part="OutHeader" use="literal" />
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="send_out_header">
- <soap:operation soapAction="send_out_header" style="document" />
- <wsdl:input name="send_out_header">
- <soap:body use="literal" />
- <soap:header message="tns:InHeader" part="InHeader" use="literal" />
- </wsdl:input>
- <wsdl:output name="send_out_headerResponse">
- <soap:body use="literal" />
- <soap:header message="tns:OutHeader" part="OutHeader" use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="echo_in_complex_header">
- <soap:operation soapAction="echo_in_complex_header" style="document" />
- <wsdl:input name="echo_in_complex_header">
- <soap:body use="literal" />
- <soap:header message="tns:echo_in_complex_headerInHeaderMsg" part="InHeader" use="literal" />
- <soap:header message="tns:echo_in_complex_headerInHeaderMsg" part="InTraceHeader" use="literal" />
- </wsdl:input>
- <wsdl:output name="echo_in_complex_headerResponse">
- <soap:body use="literal" />
- <soap:header message="tns:echo_in_complex_headerOutHeaderMsg" part="OutHeader" use="literal" />
- <soap:header message="tns:echo_in_complex_headerOutHeaderMsg" part="OutTraceHeader" use="literal" />
- </wsdl:output>
- </wsdl:operation>
<wsdl:operation name="send_out_complex_header">
<soap:operation soapAction="send_out_complex_header" style="document" />
<wsdl:input name="send_out_complex_header">
@@ -1611,36 +1597,32 @@
<soap:header message="tns:send_out_complex_headerOutHeaderMsg" part="OutTraceHeader" use="literal" />
</wsdl:output>
</wsdl:operation>
- </wsdl:binding>
- <wsdl:binding name="Application" type="tns:Application">
- <soap:binding style="document" />
- <wsdl:operation name="documented_exception">
- <soap:operation soapAction="documented_exception" style="document" />
- <wsdl:input name="documented_exception">
+ <wsdl:operation name="send_out_header">
+ <soap:operation soapAction="send_out_header" style="document" />
+ <wsdl:input name="send_out_header">
<soap:body use="literal" />
+ <soap:header message="tns:InHeader" part="InHeader" use="literal" />
</wsdl:input>
- <wsdl:output name="documented_exceptionResponse">
+ <wsdl:output name="send_out_headerResponse">
<soap:body use="literal" />
+ <soap:header message="tns:OutHeader" part="OutHeader" use="literal" />
</wsdl:output>
- <wsdl:fault name="Fault">
- <soap:fault name="Fault" use="literal" />
- </wsdl:fault>
</wsdl:operation>
- <wsdl:operation name="python_exception">
- <soap:operation soapAction="python_exception" style="document" />
- <wsdl:input name="python_exception">
+ <wsdl:operation name="soap_exception">
+ <soap:operation soapAction="soap_exception" style="document" />
+ <wsdl:input name="soap_exception">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="python_exceptionResponse">
+ <wsdl:output name="soap_exceptionResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="soap_exception">
- <soap:operation soapAction="soap_exception" style="document" />
- <wsdl:input name="soap_exception">
+ <wsdl:operation name="test_empty">
+ <soap:operation soapAction="test_empty" style="document" />
+ <wsdl:input name="test_empty">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="soap_exceptionResponse">
+ <wsdl:output name="test_emptyResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
Something went wrong with that request. Please try again.