Class SOAP::WSDLDriverFactory
In: soap/wsdlDriver.rb
Parent: Object

Methods

Classes and Modules

Class SOAP::WSDLDriverFactory::FactoryError

Attributes

wsdl  [R] 

Public Class methods

[Source]

# File soap/wsdlDriver.rb, line 33
  def initialize(wsdl, logdev = nil)
    @logdev = logdev
    @wsdl = import(wsdl)
  end

Public Instance methods

createDriver(servicename = nil, portname = nil)

Alias for create_driver

[Source]

# File soap/wsdlDriver.rb, line 42
  def create_driver(servicename = nil, portname = nil)
    service = if servicename
        @wsdl.service(XSD::QName.new(@wsdl.targetnamespace, servicename))
      else
        @wsdl.services[0]
      end
    if service.nil?
      raise FactoryError.new("Service #{ servicename } not found in WSDL.")
    end
    port = if portname
        service.ports[XSD::QName.new(@wsdl.targetnamespace, portname)]
      else
        service.ports[0]
      end
    if port.nil?
      raise FactoryError.new("Port #{ portname } not found in WSDL.")
    end
    if port.soap_address.nil?
      raise FactoryError.new("soap:address element not found in WSDL.")
    end
    WSDLDriver.new(@wsdl, port, @logdev)
  end

[Source]

# File soap/wsdlDriver.rb, line 38
  def inspect
    "#<#{self.class}:#{@wsdl.name}>"
  end

[Validate]