------art_7004_3610163.1140195173084
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Just a quick follow up. I just noticed that it appears that Soap4r is
sorting the variable:

  @@schema_element = [
    ["in0", "SOAP::SOAPString"],
    ["in1", "SOAP::SOAPString"],
    ["in3", "SOAP::SOAPString"],
    ["in2", "SOAP::SOAPString"],
  ]

The Soap it outputs 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>
    <find xmlns="urn://pace2020.com/epace/sdk/FindObjects">
      <in1>@customer ='BIELUM'</in1>
      <in2>in2</in2>
      <in3>in3</in3>
      <in0>InventoryItem</in00>
    </find>
  </env:Body>
</env:Envelope>

Which tells me that there is some sort of Array sorting occuring here. Now
note, if run in just ruby, this same code becomes:

<?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>
    <find xmlns="urn://pace2020.com/epace/sdk/FindObjects">
      <in3>in3</in3>
      <in0>InventoryItem</in0>
      <in1>@customer ='BIELUM'</in1>
      <in2>in2</in2>
    </find>
  </env:Body>
</env:Envelope>

Either way, we're seeing very strange behavior. It almost appears as if the
array is being sorted then pushed or flipped .... I've been looking through
the Rails API, looking for a possible extension done to the sort array
methods, but have been unable to find one. Either way, my question now is,
can I just turn off sorting? Can it just use the order I specify in the
@@schema_element class property ?

Thanks, I'll also be directing this directly to the Soap4r site as well.
Hopefully someone out there, who is more experienced with this object than
I, will be able to help out.

~Drew


On 2/17/06, Drew Butler <nodrew / gmail.com> wrote:
>
> Yeah, I ended up discovering http-access2 a little while back. It
> defintely
> does work using this method. I wish there had been some more documentation
> out there pointing me in this direction. Luckily though some old posts in
> ruby-talk had allowed me the insite that Soap4r will automatically detect
> if
> http-access2 is installed and with the proper othions added, it will login
> to a server for you.
>
> Thanks for the help though.
>
> Now I just have to figure out why the soap outputted is slightly different
> between rails and a plain ruby script. The main issue I'm seeing now is
> that
> a particular Soap server that I'm working with is dependant on the order
> that variables is passed in, rather than the names themselves.
>
> When I script through Ruby itself, it will pass the variables properly,
> when
> I run this same script through a Rails front-end however, the variables
> get
> flipped. This means:
>
> <?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>
>     <find xmlns="urn://pace2020.com/epace/sdk/FindObjects">
>       <in0>InventoryItem</in0>
>       <in1>@customer ='BIELUM'</in1>
>     </find>
>   </env:Body>
> </env:Envelope>
>
> becomes:





<?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>
>     <find xmlns="urn://pace2020.com/epace/sdk/FindObjects">
>       <in1>@customer ='BIELUM'</in1>
>       <in0>InventoryItem</in0>
>     </find>
>   </env:Body>
> </env:Envelope>
>
> I'm currently working with the provider of this service to understand why
> they're order dependant, when the variables are different, but am unsure
> why
> there is a difference between the outputs of soap4r depending on how the
> script is run, even though NOTHING has changed between the two. They both
> are run through the same objects created by wsdl2ruby ....
>
> Any thoughts ?
>
> On 2/5/06, Oliver Andrich <oliver.andrich / gmail.com> wrote:
> >
> > On Sun, Feb 05, 2006 at 08:58:21PM +0900, NAKAMURA, Hiroshi wrote:
> > > Drew Butler wrote:
> > > > Now, my question is, does Rails or even Ruby itself support SOAP
> > client
> > > > calls through basic HTTP Authentication? From the research I've
> done,
> > > > this
> > > > is an unsupported feature. I am however not willing to give up on
> this
> > > > yet
> > > > until I get some input from people who are definitely more
> experienced
> > > > than
> > > > myself.
> > >
> > > soap4r supports BasicAuth.  cf.`
> > > http://dev.ctor.org/soap4r/browser/trunk/sample/soap/basicauth .
> > >  Unfortunately I don't know how to do it with AWS client.  Someone?
> >
> > Well, if you have installed http-access2 it actually does basic auth.
> >
> > Oliver
> >
> > --
> > Oliver Andrich --- oliver.andrich / gmail.com --- http://roughbook.de/
> >
> >
>
>

------art_7004_3610163.1140195173084--