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

Ticket #225 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

`struct2soap': You have a nil object when you didn't expect it!

Reported by: nahi Assigned to: nahi
Priority: high Milestone: 1.5.6
Component: soap4r Version: 1.5
Keywords: Cc:

Description

Basically I'm making calls to SOAP services exposed by Jira and
Confluence (www.atlassian.com products).

When trying to make any call that passes a Hash (effectively a struct
in WSDL I think) I get errors

/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:174:in
`struct2soap': You have a nil object when you didn't expect it!
(NoMethodError)
The error occured while evaluating nil.elements from
/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:141:in
`complexobj2soap'
       from
/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:120:in
`obj2typesoap'
       from
/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:44:in
`obj2soap'
       from /opt/local/lib/ruby/1.8/soap/mapping/mapping.rb:127:in
`_obj2soap'
       from
/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:217:in
`elements2soap'
       from /opt/local/lib/ruby/1.8/xsd/namedelements.rb:58:in `each'
       from /opt/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'
       from
/opt/local/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:213:in
`elements2soap'
        ... 14 levels...

I'm running HEAD soap4r in ruby 1.8.4 - I've tried soap4r 1.5.5 - same
problem.

I tried the workaround in the message posted above, but that doesn't
seem to work anymore.  Getting this working is critical as the SOAP
interface exposes far more functionality than the XMLRPC API. I really
don't want to write a dirty java:ruby thunking layer which is what is
being suggested by the vendor.

You can grab the public WSDL from

JIRA: http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
Confluence:
http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl

Change History

07/22/06 22:30:21 changed by nahi

  • status changed from new to closed.
  • resolution set to fixed.

(In [1688]) WSDLEncodedRegistry uses type.content.elements directly. Should use type.elements (a wrapper which checks complexContent, too). fixes #225.