MCPcopy Create free account
hub / github.com/andreikop/python-ws-discovery / parseHelloMessage

Function parseHelloMessage

wsdiscovery/actions/hello.py:62–94  ·  view source on GitHub ↗

parse a XML message into a SOAP envelope object

(dom)

Source from the content-addressed store, hash-verified

60
61
62def parseHelloMessage(dom):
63 "parse a XML message into a SOAP envelope object"
64 env = SoapEnvelope()
65 env.setAction(NS_ACTION_HELLO)
66
67 env.setMessageId(dom.getElementsByTagNameNS(NS_ADDRESSING, "MessageID")[0].firstChild.data.strip())
68 env.setTo(dom.getElementsByTagNameNS(NS_ADDRESSING, "To")[0].firstChild.data.strip())
69
70 _parseAppSequence(dom, env)
71
72 relatesToNodes = dom.getElementsByTagNameNS(NS_ADDRESSING, "RelatesTo")
73 if len(relatesToNodes) > 0:
74 env.setRelatesTo(relatesToNodes[0].firstChild.data.strip())
75 env.setRelationshipType(getQNameFromValue( \
76 relatesToNodes[0].getAttribute("RelationshipType"), relatesToNodes[0]))
77
78 env.setEPR(dom.getElementsByTagNameNS(NS_ADDRESSING, "Address")[0].firstChild.data.strip())
79
80 typeNodes = dom.getElementsByTagNameNS(NS_DISCOVERY, "Types")
81 if len(typeNodes) > 0:
82 env.setTypes(getTypes(typeNodes[0]))
83
84 scopeNodes = dom.getElementsByTagNameNS(NS_DISCOVERY, "Scopes")
85 if len(scopeNodes) > 0:
86 env.setScopes(getScopes(scopeNodes[0]))
87
88 xNodes = dom.getElementsByTagNameNS(NS_DISCOVERY, "XAddrs")
89 if len(xNodes) > 0:
90 env.setXAddrs(getXAddrs(xNodes[0]))
91
92 env.setMetadataVersion(dom.getElementsByTagNameNS(NS_DISCOVERY, "MetadataVersion")[0].firstChild.data.strip())
93
94 return env

Callers 1

parseSOAPMessageFunction · 0.85

Calls 15

setActionMethod · 0.95
setMessageIdMethod · 0.95
setToMethod · 0.95
setRelatesToMethod · 0.95
setRelationshipTypeMethod · 0.95
setEPRMethod · 0.95
setTypesMethod · 0.95
setScopesMethod · 0.95
setXAddrsMethod · 0.95
setMetadataVersionMethod · 0.95
SoapEnvelopeClass · 0.85
_parseAppSequenceFunction · 0.85

Tested by

no test coverage detected