incubator-yoko-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mosur Ravi, Balaji" <br...@iona.com>
Subject RE: Question on yoko-66 (<corba:param mode="out">)
Date Wed, 12 Jul 2006 13:24:09 GMT
In your example, x is always going to be an in parameter... (because
it's in the input message).

So when looking at the output message, the first part is "return", so it
becomes a corba:return parameter & z an out parameter.

- Balaji

-----Original Message-----
From: Nolan, Edell 
Sent: Wednesday, July 12, 2006 9:18 AM
To: yoko-dev@incubator.apache.org
Subject: RE: Question on yoko-66 (<corba:param mode="out">)

Hi,

Here is an example 

<message name="Test.MultiPart.test_short">
        <part name="x" element="xsd1:Test.MultiPart.test_short.x"/>
        <part name="y" element="xsd1:Test.MultiPart.test_short.y"/> 
</message>
<message name="Test.MultiPart.test_shortResponse">
        <part name="return"
element="xsd1:Test.MultiPart.test_short.return"/>
        <part name="y" element="xsd1:Test.MultiPart.test_short.y"/>
        <part name="z" element="xsd1:Test.MultiPart.test_short.z"/>
</message>


<operation name="test_short">
    <input message="tns:Test.MultiPart.test_short" name="test_short"/>
    <output message="tns:Test.MultiPart.test_shortResponse"
name="test_shortResponse"/>
</operation>

In this case 

Mode Type
===========
X =  in
Y = inout
Return = out
Z = out

So are you saying which ever comes first in the list of out parameters
becomes the return value of the idl operation ?

Edell.
 

-----Original Message-----
From: Mosur Ravi, Balaji 
Sent: 12 July 2006 14:10
To: yoko-dev@incubator.apache.org
Subject: RE: Question on yoko-66 (<corba:param mode="out">)

Hi edell,

There are 2 cases here...


1)WSDL to Corba Binding : In this case, we don't know what the parameter
mode is... Is it out or a return parameter? I would say, in this case,
we can take the first part as the return parameter & if other parts are
present, they become the out parameter...

Eg:
<message name="Test.MultiPart.test_shortResponse">
    <part name="x" element="xsd1:Test.MultiPart.test_short.x"/>
    <part name="y" element="xsd1:Test.MultiPart.test_short.y"/>
</message>

So in the corba binding, this could be mapped to a

<corba:return name="x" idltype="xsd1:Test.MultiPart.test_short.x"/>
<corba:param name="y" mode="out"
idltype="xsd1:Test.MultiPart.test_short.y"/>

And in idl,

x <opname>(out y);


2)IDL To WSDL: In this case, the idl gives us the necessary parameter
modes & we should use those for the corba binding... And when mapping to
a wsdl message we can put the return parameter first & then the out
parameters...

Does this sound reasonable?

- Balaji

-----Original Message-----
From: Nolan, Edell
Sent: Wednesday, July 12, 2006 7:02 AM
To: yoko-dev@incubator.apache.org
Subject: Question on yoko-66 (<corba:param mode="out">)

Hi,
 
I am working on jira issue Yoko-66 
 
The out parameter is not properly mapped to a <corba:param mode="out">
but instead it is mapped to a <corba:return ...>. 
This should happen only when the method has a return and not a out
parameter. 

So my question is in this case when we are trying to generate the
CORBABinding we have two out parameters.
can we assume that if the part name is "return" that we convert this to
a corba:return type in the corba binding and then then represents the
return value of the idl operation.
 
As there is no real way of distinguishing the two parameters. 
 
<message name="Test.MultiPart.test_shortResponse">
    <part name="return"
element="xsd1:Test.MultiPart.test_short.return"/>
    <part name="y" element="xsd1:Test.MultiPart.test_short.y"/>
    <part name="z" element="xsd1:Test.MultiPart.test_short.z"/>
</message>
 
I have looked at the idltowsdl tool and for an operation that has a
return value and an out parameter you will still end up with two parts
in your output message that from looking at it from a wsdl perspective
represents two output parameters. 
 
 
Does anybody have any objections to this assumption to "part
name="return" => <corba:return> type in the binding.
or have a better solution.
 
thanks, Edell.
 
Bug Description :
 
The out parameter is not properly mapped to a <corba:param mode="out">
but instead it is mapped to a <corba:return ...>. 
This should happen only when the method has a return and not a out
parameter. 

i.e. The following IDL operation 

void getShort (out short outShort); 

get bound to the following WSDL: 

<corba:binding ...>
 <wsdl:operation name="getShort">
  <corba:operation name="getShort"> 
   <corba:return name="outparameter" idltype="corba:short" />
  </corba:operation>
  <wsdl:output name="getShortResponse">
  </wsdl:output>
 </wsdl:operation> 

It should instead be
... 
  <corba:param name="outShort" mode="out" idltype="corba:short"/> 






Mime
View raw message