Closed superlou closed 11 years ago
I don't know if it's necessary since Savon seems to understand the content type, but the WSDL is available at https://gist.github.com/superlou/6826789.
No problem. I managed to replicate this. New to savon so just trying to get my head around the source.
Got a fix but need to put the tests into a decent state before putting in a pull request. Here's the changed file if you need it sooner rather than later https://gist.github.com/kieranmaine/6827475.
Opened up following pull request https://github.com/savonrb/savon/pull/510
<env:Envelope xmlns:lol0="http://AutodeskDM/Services/ItemService/1/20/2011/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<lol0:SecurityHeader>
<lol0:Ticket>my_ticket</lol0:Ticket>
<lol0:UserId>my_user</lol0:UserId>
</lol0:SecurityHeader>
</env:Header>
<env:Body>
<lol0:FindItemRevisionsBySearchConditions>
<lol0:searchConditions>
<lol0:SrchCond PropDefId="264" SrchOper="1" SrchTxt="7103-1201" PropTyp="AllProperties" SrchRule="Must"/>
<lol0:SrchCond PropDefId="59" SrchOper="1" SrchTxt="Work" PropTyp="SingleProperty" SrchRule="Must"/>
</lol0:searchConditions>
<lol0:bRequestLatestOnly>true</lol0:bRequestLatestOnly>
</lol0:FindItemRevisionsBySearchConditions>
</env:Body>
</env:Envelope>
Unfortunately, our server is still replying with "incorrect input param", but Savon seems to be generating XML that matches the WSDL.
I just noticed that while the pretty printed XML looks great, the same issue still exists when monitoring the traffic in Wireshark. The filtering elements still look like <lol0:SrchCond/>
. I pulled the latest source from master, built the gem, and have my Gemfile pointing at the local copy.
I'll grab the wsdl and take a look tomorrow.
Sorry to ping the ticket. I was able to recreate it on a friend's computer, though I'm not sure how it could be a Savon issue.
With Savon 3, the
operation.example_body
returns:If I understand this output, the following should match Savon's understanding of the WSDL:
When I set the
operation.body
to a hash of the same format, it seems like the attributes are not being set on the SrchCond element properly (fromoperation.build
):I was looking at #473, and it seems like attributes should be supported, and in the code they are being sent through the "builder" gem. Is there anything that needs to be done for attributes other than prefixing with an "_"?