Nope, that is pretty much it.

One thing I did find, however, is a size issue of some sort or another. For example, this list with 9 elements is parsed correctly by the .Net WebServices Studio tool.

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x +mlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="h +ttp://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.o +rg/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soa +p/encoding/"> <soap:Body> <TEST:TestStructureNResponse xmlns:TEST="http://localhost:80/TESTS +ervices"> <TEST:TestStructureReturn xmlns:TEST="http://localhost:80/TESTSe +rvices" xsi:type="TEST:TestObj"> <foo soapenc:arrayType="xsd:string[9]" xsi:type="soapenc:Array +"> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> </foo> </TEST:TestStructureReturn> </TEST:TestStructureNResponse> </soap:Body> </soap:Envelope>

But the same response with an array size of 10 returns a There is invalid data at the root level. Line 1, position 1. error from that tool. Here is the data that is returned (retrieved by sending a request by hand to the service via telnet)

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x +mlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="h +ttp://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.o +rg/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soa +p/encoding/"> <soap:Body> <TEST:TestStructureNResponse xmlns:TEST="http://localhost:80/TESTS +ervices"> <TEST:TestStructureReturn xmlns:TEST="http://localhost:80/TESTSe +rvices" xsi:type="TEST:TestObj"> <foo soapenc:arrayType="xsd:string[10]" xsi:type="soapenc:Arra +y"> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> <item xsi:type="xsd:string">a</item> </foo> </TEST:TestStructureReturn> </TEST:TestStructureNResponse> </soap:Body> </soap:Envelope>

Whatever the cause, It is a little bit frustrating, to say the least :)

I am almost to the point of tossing the .NET WebService Studio tool, except that it works with our existing production server. I will update shortly to see if a different version of Apache (the current production setup) causes this to behave.

Update: Happens in the production version of apache as well (1.3), so it does not look like it is related to Apache. In production, the break point is going from 6 to 7 items in the array.

Update 2: Oh yeah. I forgot to say, replace all of the localhost:80 stuff with the local server name. It gets replaced on the server side automatically.

grrrr

--MidLifeXis


In reply to Re^6: SOAP::Lite, .NET, and complex structures by MidLifeXis
in thread SOAP::Lite, .NET, and complex structures by MidLifeXis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.