Forum: Ruby soap4r problem

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F0afd024e17c0c4753aa8d618ba9bb0f?d=identicon&s=25 Marcin Raczkowski (Guest)
on 2007-07-02 10:29
(Received via mailing list)
I generated 3 files from wsdl using ruby4r now when i try to run it, i
get
correct response and Exception:

============================

ruby -d DetaExchangeClient.rb
Set XSD::XMLParser::XMLParser as XML processor.
Wire dump:

= Request

! CONNECT TO 194.56.211.106:443
! CONNECTION ESTABLISHED
/usr/lib/ruby/1.8/http-access2.rb:1101: warning: using default DH
parameters.
ng: /C=PL/ST=Mazowieckie/L=Warszawa/O=ACTION
S.A./OU=IT/CN=i-serwis2.action.pl
at depth 0 - 20: unable to get local issuer certificate
POST /DetaExchange.asmx HTTP/1.1
SOAPAction: "https://DetaExchange.action.pl/Product_Get"
Content-Type: text/xml; charset=utf-8
User-Agent: SOAP4R/1.5.5 (/114, ruby 1.8.5 (2006-08-25) [i486-linux])
Date: Mon Jul 02 08:26:51 +0000 2007
Content-Length: 450
Host: 194.56.211.106

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <Product_Get xmlns="https://DetaExchange.action.pl/">
      <UserName>was_here</UserName>
      <UserID>666</UserID>
      <ProductID>ID1234</ProductID>
      <UserPassword>secret</UserPassword>
    </Product_Get>
  </soap:Body>
</soap:Envelope>

= Response

HTTP/1.1 200 OK
Connection: close
Date: Mon, 02 Jul 2007 08:22:23 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 685

<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><Prod...
xmlns="https://DetaExchange.action.pl/"><Product_GetResul...
Automatyczna AEG LAVAMAT
54610</productName><producerID>AEG</producerID><groupID>AGD</groupID><subGroupID>AGD-PRW</subGroupID><warranty><warrantyType>F</warrantyType><warrantyLength>24</warrantyLength></warranty><quantity>1</quantity><price>1060.0000000</price></Product_GetResult></Product_GetResponse></soap:Body></soap:Envelope>!
CONNECTION CLOSED


Exception `NoMethodError'
at /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:321 - undefined
method `name' for nil:NilClass
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:321:in
`add_elements2stubobj': undefined method `name' for nil:NilClass
(NoMethodError)
        from /usr/lib/ruby/1.8/soap/baseData.rb:605:in `each'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:292:in
`add_elements2stubobj'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:277:in
`soapele2stubobj'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:264:in
`any2obj'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:305:in
`add_elements2stubobj'
        from /usr/lib/ruby/1.8/soap/baseData.rb:605:in `each'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:292:in
`add_elements2stubobj'
        from
/usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:277:in
`soapele2stubobj'
         ... 13 levels...
        from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:149:in `call'
        from /usr/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
        from (eval):6:in `product_Get'
        from DetaExchangeClient.rb:167
===============================
anyone have any ide what i did wrong?
This topic is locked and can not be replied to.