• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JAX-RPC return type question

 
Harsha Jay
Ranch Hand
Posts: 177
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If there are multiple '<part>' declared for a '<message>' defined in the '<output>' element in a '<portType>'. Does it make sense to declare void as return type by JAX-RPC compiler? are we not losing precision? or am I missing something.


RMH Section 15.3.4.2 bullet #6 raised this question

-Harsha
SCJP, SCWCD, IBM-XML Dev, SCEA
 
Jim Janssens
Ranch Hand
Posts: 210
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
IMHO, when you have multiple parts in a message listed as output (but not both in output and input) then both parts are automatically interpreted as 'out' parameters. Doing so will result in getting a 'Holder' in the stub and skeleton. When the stub sends a message to the skeleton, the value given by the stub to the out parameters is not serialized and thus not sent to the skeleton (at least, with axis it isn't, don't know if this is a must somehwere). The value given by the skeleton to the (empty) out parameters it receives is sent back to the client in the reply.

If you specify the 'paramterOrder' attribute you are obligated to specify at least all the input parameters. The omited output part is then considered as return value. When multiple output parts are omited, they are all treated as out parameters (in the understanding they are not used in the input, in that case it would be inout).

Note: According to the BP, the parameterOrder (when specified) MUST specify all the parts if no return value must bre present, or all the parts besides the return parameter if there is a return value

Does this answer your question ?
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic