/usr/bin/pyxbwsdl is in python-pyxb 1.2.6+dfsg-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #!/usr/bin/python
# Sample URIs:
# http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl
# http://services.aonaware.com/DictService/DictService.asmx?WSDL
# http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
# http://api.google.com/GoogleSearch.wsdl
from __future__ import print_function
import sys
import xml.dom.minidom
from pyxb.utils.six.moves.urllib.request import urlopen
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
import pyxb.bundles.wssplat.wsdl11 as wsdl
for uri in sys.argv[1:]:
uri_src = urlopen(uri)
doc = xml.dom.minidom.parseString(uri_src.read())
spec = wsdl.definitions.createFromDOM(doc.documentElement, process_schema=True)
for s in spec.service:
print('Service: %s' % (s.name,))
if s.documentation:
print(s.documentation)
for p in s.port:
b = p.bindingReference
prot = b.protocolBinding
assert p.addressReference, 'No reference for %s wildcards: %s' % (p.name, p.wildcardElements()) # Usually fails when generated bindings import raw module
print(' Port %s at %s' % (p.name, p.addressReference.location))
ptr = b.portTypeReference
for op in b.operation:
pt_op = ptr.operationMap()[op.name]
if op.operationReference is not None:
print(' %s (at %s)' % (op.name, op.operationReference.locationInformation))
else:
print(' %s' % (op.name,))
if pt_op.documentation is not None:
print(' %s' % (pt_op.documentation,))
if pt_op.input is not None:
print(' Input: %s' % (pt_op.input.message,))
if pt_op.output is not None:
print(' Output: %s' % (pt_op.output.message,))
|