At 10:35 AM 6/2/2007, John Sundman wrote:

Second, as of 4.0.2 the XML-RPC APIs now work in both DHTML and SWF
runtimes in SOLO mode -- no LPS required.


Thanks for that!

Sounds like you might be the right person to ask a couple
of questions on RPC - particularly SOAP.

Any chance the SOAP will also be available to SOLO any
time soon?

I'm currently working on some SOAP calls, which unfortunately
the system is not following the WSDL and the name spacing
is off.

Ways I've thought of getting around it are:

1. just going to some plain XMLHttpRequest code - are you aware
the DHTML version of XMLHttpRequest is broken?  I'm playing in
SWF and working code complains about using lz.XMLHttpRequest
because it's duplicating the name??  I can give you details
and file a bug report if need be.

2. I have to do 3 calls instead of one to get my XML dataset,
otherwise I could fudge my own XML to the datatset's loading
of the data. So I ruled that out.

3. I looked heavily at the dhtml (and SWF versions too) of
rpc.js, namespace.js, and soap.js.  I thought I saw some
serialize routines that were creating the XML in namespace.js,
but changing that code didn't affect the XML generated in
the SOAP request. I can sort of see where some of the values
used in the SOAP envelope are being created, but not the actual
XML body.  I'm thinking it builds some kind of prototypical
XML at time of loading the WSDL.  If you could direct me to
where that code is, I'd be happy to make some corrections.

4. Because my issue is with name spacing, I was thinking I
might also be able to just change the name space lookup table
to make it work.  Unfortunately I can't see to track down where
it applies that table in order to know what changes in the
table would produce the right name space.  Basically the
WSDL calls for each request to have a name space value on
the body that is equal to the domain default plus ":" and
the port name.  The SOAP implementation ignores the WSDL's
definition of the message it should build and uses a
single value all the time that came from the WSDL:Definition
section.  (I can confirm that because I mess with my
WSDL and see that changing in the SOAP request)

5. Maybe if I someone could also point me to where the
XML is being sent out, I could do a quick transformation
on the one attribute of the one node in question.  How
can I get access to what SOAP is sending out just before
the actual XMLHttpRequest is invoked?

OK so I'm going to push my luck here, and also ask if
there isn't a way to share my WSDL between two different
SOAP instances?  What I'd really love to see is the
WSDL= be able to be set to a dataset instead of always
being a URL.  I'm working on ERP systems - there are
lots and lots of ports, and multiple operations in
each of the ports.  Have you noticed the WSDL load
is actually quite a bit slower than loading the same
document into a dataset?  (not to mention the issues
of async calls when you have 19 calls to the exact
same WSDL document)  I have ideas about what that
code should look like, but don't know enough of
where to start.

Thanks for listening anyway. ;-)


=======================================================================
Geoff Crawford                          Phone:         (973) 361 - 4224

                 ProcessWare ERP for the Chemical Industry


Reply via email to