You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Tammo van Lessen <tv...@gmail.com> on 2007/07/31 18:18:45 UTC
ODE-150
Hi again,
I was working on ODE-150 (problem with transition condition xpaths)
and have fixed it in my last commit.
Thanks to our regression tests, my fix (of course) broke some tests. I
might be wrong but I think that these test cases were incorrect as
they were assuming to have a wrapper element messages for parts
defined by type="".
The (hopefully) corrected test cases are in commit 561372.
Could you please have a look at it, I don't want to break other stuff.
Thanks in advance.
Cheers,
Tammo
Re: ODE-150
Posted by Matthieu Riou <ma...@gmail.com>.
Oh yes, I see now - and agree.
Thanks for the fix!
Matthieu
On 7/31/07, Tammo van Lessen <tv...@gmail.com> wrote:
>
> Hi,
>
> > So if I understand correctly it was for parts declared as a type as
> opposed
> > to an element. The thing is that those are supposed to have some sort of
> > wrapper because you could very well define a part as being a complexType
> > including a sequence. In which case you need some sort of concrete
> element
> > that deals with those.
> Exactly, sorry for being so unclear in my mail - I was in a hurry.
>
> > So when we have something like:
> >
> > <wsdl:part name="TestPart" type="tns:myComplexType"/>
> >
> > What we do is we effectively wrap the content of the part so that we get
> > something like:
> >
> > <message>
> > <TestPart>
> > <firstElmtInSequence/>
> > <secondElmtInSequence/>
> > </TestPart>
> > </message>
>
> Yeah, the <TestPart> element is perfectly fine. The problem was that
> Ode expected to receive a message like:
>
> <message>
> <TestPart>
> <myComplexType>
> <firstElmtInSequence/>
> <secondElmtInSequence/>
> </myComplexType>
> </TestPart>
> </message>
>
> For example lets take a look at the TestActivityFlow1 test. There is
> message defined by:
>
> <xsd:complexType name="testMessage">
> <xsd:sequence>
> <xsd:element name="requestID" type="xsd:string"/>
> <xsd:element name="requestText" type="xsd:string"/>
> ...
> </xsd:sequence>
> </xsd:complexType>
>
> <wsdl:message name="requestMessage">
> <wsdl:part name="requestMessageData" type="typens:testMessage"/>
> </wsdl:message>
>
> In my opinion a recieved SOAP message should then look like:
> <message> <!-- message wrapper -->
> <requestMessageData> <!-- part wrapper -->
> <requestID>foo</requestID>
> <requestName>bar</requestName>
> ...
> </requestMessageData>
> <message>
>
> instead of
>
> <message> <!-- message wrapper -->
> <requestMessageData> <!-- part wrapper -->
> <testMessage> <!-- mysterious wrapper -->
> <requestID>foo</requestID>
> <requestName>bar</requestName>
> ...
> </testMessage>
> </requestMessageData>
> <message>
>
> What do you think?
>
> Cheers,
> Tammo
>
Re: ODE-150
Posted by Tammo van Lessen <tv...@gmail.com>.
Hi,
> So if I understand correctly it was for parts declared as a type as opposed
> to an element. The thing is that those are supposed to have some sort of
> wrapper because you could very well define a part as being a complexType
> including a sequence. In which case you need some sort of concrete element
> that deals with those.
Exactly, sorry for being so unclear in my mail - I was in a hurry.
> So when we have something like:
>
> <wsdl:part name="TestPart" type="tns:myComplexType"/>
>
> What we do is we effectively wrap the content of the part so that we get
> something like:
>
> <message>
> <TestPart>
> <firstElmtInSequence/>
> <secondElmtInSequence/>
> </TestPart>
> </message>
Yeah, the <TestPart> element is perfectly fine. The problem was that
Ode expected to receive a message like:
<message>
<TestPart>
<myComplexType>
<firstElmtInSequence/>
<secondElmtInSequence/>
</myComplexType>
</TestPart>
</message>
For example lets take a look at the TestActivityFlow1 test. There is
message defined by:
<xsd:complexType name="testMessage">
<xsd:sequence>
<xsd:element name="requestID" type="xsd:string"/>
<xsd:element name="requestText" type="xsd:string"/>
...
</xsd:sequence>
</xsd:complexType>
<wsdl:message name="requestMessage">
<wsdl:part name="requestMessageData" type="typens:testMessage"/>
</wsdl:message>
In my opinion a recieved SOAP message should then look like:
<message> <!-- message wrapper -->
<requestMessageData> <!-- part wrapper -->
<requestID>foo</requestID>
<requestName>bar</requestName>
...
</requestMessageData>
<message>
instead of
<message> <!-- message wrapper -->
<requestMessageData> <!-- part wrapper -->
<testMessage> <!-- mysterious wrapper -->
<requestID>foo</requestID>
<requestName>bar</requestName>
...
</testMessage>
</requestMessageData>
<message>
What do you think?
Cheers,
Tammo
Re: ODE-150
Posted by Matthieu Riou <ma...@gmail.com>.
On 7/31/07, Tammo van Lessen <tv...@gmail.com> wrote:
>
> Hi again,
>
> I was working on ODE-150 (problem with transition condition xpaths)
> and have fixed it in my last commit.
>
> Thanks to our regression tests, my fix (of course) broke some tests. I
> might be wrong but I think that these test cases were incorrect as
> they were assuming to have a wrapper element messages for parts
> defined by type="".
So if I understand correctly it was for parts declared as a type as opposed
to an element. The thing is that those are supposed to have some sort of
wrapper because you could very well define a part as being a complexType
including a sequence. In which case you need some sort of concrete element
that deals with those.
So when we have something like:
<wsdl:part name="TestPart" type="tns:myComplexType"/>
What we do is we effectively wrap the content of the part so that we get
something like:
<message>
<TestPart>
<firstElmtInSequence/>
<secondElmtInSequence/>
</TestPart>
</message>
So in that case the wrapper is necessary but doesn't really matter as it's
usually eliminated when the message is actually sent.
But I could have misunderstood your problem...
The (hopefully) corrected test cases are in commit 561372.
>
> Could you please have a look at it, I don't want to break other stuff.
> Thanks in advance.
>
> Cheers,
> Tammo
>