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

Changeset 1669

Show
Ignore:
Timestamp:
11/13/05 22:58:51 (3 years ago)
Author:
nahi
Message:

SOAPFault faultcode must be ns qualified. closes #177.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/rpc/router.rb

    r1658 r1669  
    162162      headerhandler.add(f.create) 
    163163    end 
    164     receive_headers(headerhandler, env.header) 
    165164    soap_response = default_encodingstyle = nil 
    166165    begin 
     166      receive_headers(headerhandler, env.header) 
    167167      soap_response = 
    168168        op.call(env.body, @mapping_registry, @literal_mapping_registry, 
     
    320320  # Create fault response. 
    321321  def fault(e) 
     322    if e.is_a?(UnhandledMustUnderstandHeaderError) 
     323      faultcode = FaultCode::MustUnderstand 
     324    else 
     325      faultcode = FaultCode::Server 
     326    end 
     327 
    322328    detail = Mapping::SOAPException.new(e) 
    323329    SOAPFault.new( 
    324       SOAPString.new('Server'), 
     330      SOAPElement.new(nil, faultcode), 
    325331      SOAPString.new(e.to_s), 
    326332      SOAPString.new(@actor), 
  • trunk/lib/soap/soap.rb

    r1623 r1669  
    8181class UnhandledMustUnderstandHeaderError < Error; end 
    8282 
     83 
     84module FaultCode 
     85  VersionMismatch = XSD::QName.new(EnvelopeNamespace, 'VersionMismatch').freeze 
     86  MustUnderstand = XSD::QName.new(EnvelopeNamespace, 'MustUnderstand').freeze 
     87  Client = XSD::QName.new(EnvelopeNamespace, 'Client').freeze 
     88  Server = XSD::QName.new(EnvelopeNamespace, 'Server').freeze 
     89end 
     90 
     91 
    8392class FaultError < Error 
    8493  attr_reader :faultcode 
  • trunk/lib/wsdl/soap/complexType.rb

    r1667 r1669  
    134134        element.local_simpletype.base 
    135135      else 
    136         # untyped 
     136        # element definition 
    137137        element.name 
    138138      end