Hi guys,
I had a piece of code that was working perfectly fine. I went on to
work on something else in my app, updated a few gems in the process…
Now the first bit of code doesn’t work anymore, and I am lost. It
seems soap4r has decided to do things wrong - but I don’t know which
gem is impacting it.
The wsdl element is:
<xs:element name=“GetUserDetailRequest”>
xs:complexType
xs:complexContent
<xs:extension base=“tns:RequestBase”>
xs:choice
<xs:element name=“Id” type=“xs:long”>
</xs:element>
<xs:element name=“SecondId” type=“xs:string”>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
with RequestBase:
<xs:complexType name=“RequestBase”>
xs:sequence
<xs:element name=“LocalStuff” type=“xs:string”>
</xs:element>
<xs:element name=“CodeP” type=“xs:string”>
</xs:element>
</xs:sequence>
</xs:complexType>
When I call:
result = driver.getUserDetail(:CodeP => xxx, :LocalStuff => xxx, :Id
=> xxx)
the SOAP message generated is:
<?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:GetUserDetailRequest xmlns:n1=“http://mywsdl”>
n1:LocalStuffen-GB</n1:LocalStuff>
</n1:GetUserDetailRequest>
</env:Body>
</env:Envelope>
which is wrong (notably it misses CodeP) and returns an error from the
webservice. It used to work perfectly.
Do you guys know which gem update could be “conflicting” with soap4r?
Thanks!