require 'wsdl/info'
require 'xsd/namedelements'
module WSDL
class Service < Info
attr_reader :name attr_reader :ports
attr_reader :soap_address
def initialize
super
@name = nil
@ports = XSD::NamedElements.new
@soap_address = nil
end
def targetnamespace
parent.targetnamespace
end
def parse_element(element)
case element
when PortName
o = Port.new
@ports << o
o
when SOAPAddressName
o = WSDL::SOAP::Address.new
@soap_address = o
o
when DocumentationName
o = Documentation.new
o
else
nil
end
end
def parse_attr(attr, value)
case attr
when NameAttrName
@name = XSD::QName.new(targetnamespace, value.source)
else
nil
end
end
end
end