Sha256: 8db8ade6b2315c4aaf38f7409c2983c480faf3842e7997dabb6c672b28cf5d17

Contents?: true

Size: 771 Bytes

Versions: 7

Compression:

Stored size: 771 Bytes

Contents

require 'soap/rpc/driver'
require 'soap/header/simplehandler'


class DefaultNSFilter < SOAP::Filter::Handler
  def on_outbound(envelope, opt)
    opt[:default_ns] = @default_ns
    envelope
  end

  def initialize
    @default_ns = SOAP::NS.new
    @default_ns.assign('urn:custom_ns', 'myns')
  end
end


class MyHeaderHandler < SOAP::Header::SimpleHandler
  MyHeaderName = XSD::QName.new('urn:custom_ns', 'myheader')

  def initialize
    super(MyHeaderName)
  end

  def on_simple_outbound
    { "hello" => "world" }
  end
end


client = SOAP::RPC::Driver.new("http://localhost:7171", "urn:custom_ns")
client.add_method('echo', 'amt')
client.filterchain << DefaultNSFilter.new
client.headerhandler << MyHeaderHandler.new
client.wiredump_dev = STDOUT

p client.echo(1)

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
soap4r-spox-1.6.0 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-2.0.5 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-2.0.3 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-2.0.2 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-2.0.1 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-2.0.0 sample/howto/custom_ns/client.rb
soap4r-ruby1.9-1.0.0 sample/howto/custom_ns/client.rb