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.

Reply via email to