well, still no luck on the soap-encoding problem of yesterday. one interesting
discovery is that the
http://localhost:8080/axis/services/MyService?WSDL response says use="literal"
for all my <wsdlsoap:body> parts when
they should almost all be "encoded". so i guess the problem all comes back to
meta-data on the server... is it
normally necessary to hand-tweak the server-config.wsdd file? the only mention
of literal/encoded i found there was
in the <service> element (which also says use="literal"). not sure what i'm
missing here...
as usual, tho, when beating one's head against a brick wall, the best part is
when you stop (and read an article on
interop that says "If at all possible, avoid using the RPC/encoded style").
which brings me back to why i was going
for encoded in the first place - my requests and responses will have a lot of
duplicate data and i wanted to leverage
the multi-ref functionality in rpc-encoded. so, new question -
is there an easy way to get the multi-ref functionality in soap-encoding but in
a rpc/literal world? how do folks
normally address the issue of large amounts of duplicate elements in their
"object-model" without making life
difficult on their clients (i.e., requiring that they do something like this:
Request req = createRequest();
ID fooId = req.addFoo(new Foo(...));
Bar b1 = new Bar(fooId);
Bar b2 = new Bar(fooId);
req.addBar(b1);
req.addBar(b2);
...
i imagine this would create a request of the form:
<request>
<foos>
<Foo ID="123">...foo data...</Foo>
...
</foos>
<bars>
<Bar><Foo refID="123"/>...b1 data...</Bar>
<Bar><Foo refID="123"/>...b2 data...</Bar>
</bars>
</request>
any suggestions will be most welcome.
...............ron.