Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1636

Show
Ignore:
Timestamp:
09/25/05 22:40:05 (3 years ago)
Author:
nahi
Message:

allow QName as a value.

include SOAP
include XSD
ele = SOAPElement.new(QName.new("urn:foo", "elename"),

QName.new("urn:bar", "value"))

puts Processor.marshal(SOAPEnvelope.new(nil, SOAPBody.new(ele)))
#=>
<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<env:Body>

<n1:elename xmlns:n1="urn:foo"

xmlns:n2="urn:bar">n2:value</n1:elename>

</env:Body>

</env:Envelope>

closes #157.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/encodingstyle/literalHandler.rb

    r1584 r1636  
    7272        end 
    7373      end 
    74       generator.encode_tag(name, attrs) 
    75       generator.encode_rawstring(data.text) if data.text 
     74      if data.text and data.text.is_a?(XSD::QName) 
     75        SOAPGenerator.assign_ns(attrs, ns, data.text.namespace) 
     76      end 
     77      generator.encode_tag(name, attrs) 
     78      if data.text 
     79        if data.text.is_a?(XSD::QName) 
     80          text = ns.name(data.text) 
     81        else 
     82          text = data.text 
     83        end 
     84        generator.encode_rawstring(text) 
     85      end 
    7686      data.each do |key, value| 
    7787        generator.encode_child(ns, value, data) 
  • trunk/lib/soap/mapping/wsdlliteralregistry.rb

    r1632 r1636  
    169169      ele = SOAPElement.from_obj(obj) 
    170170      ele.elename = qname 
     171      ele 
     172    elsif obj.is_a?(XSD::QName) 
     173      ele = SOAPElement.new(qname) 
     174      ele.text = obj 
    171175      ele 
    172176    else