[Mono-dev] WS stack.

Atsushi Eno atsushi at ximian.com
Thu Feb 8 05:16:29 EST 2007


Hi,

Well, if your patch is exactly about message serialization, then it is not
appropriate. The WSDL currently we generate is buggy and such a buggy
WSDL will result in such an incorrect message serialization (that is, since
the WSDL says fooSpecified should/could be in the message, wsdl.exe
will interpret it as part of the message contract, and thus it will generate
wrong proxy classes).

However, you patch is for SoapReflectionImporter and I guess that seems
to be the correct file to fix.

Or is your way to reproduce the bug different? Are you using different
service
engine (e.g. .NET) ?

Atsushi Eno

Daniel Lundqvist wrote:
>
> Hi,
>
> Ok, I think there perhaps is a missunderstanding here.
> What I'm talking about here is not the resulting WSDL but the actual
> SOAP/XML serialization of the RPC call.
>
> I apologize if I wasn't clear enough about that from the start.
>
> Hope that makes more sense for you in this case.
>
> -----Ursprungligt meddelande-----
> Från: mono-devel-list-bounces at lists.ximian.com genom Atsushi Eno
> Skickat: on 2007-02-07 16:27
> Till: mono-devel-list at lists.ximian.com
> Ämne: Re: [Mono-dev] WS stack.
>
> Hi :)
>
> Daniel Lundqvist wrote:
> > Hey again :)
> >
> > ons 2007-02-07 klockan 20:51 +0900 skrev Atsushi Eno:
> >> Hi Daniel,
> >>
> >> Daniel Lundqvist wrote:
> >>> Hi Atsushi,
> >>>
> >>> mån 2007-02-05 klockan 15:14 +0900 skrev Atsushi Eno:
> >>>> Hi Daniel,
> >>>>
> >>>> Daniel Lundqvist wrote:
> >>>>> The issue here is that it always sends the oid and parentoid field
> >>>>> regardless of value of <field>Specified.
> >>>>> I got a patch (against SVN) for it, don't know if it's correct but
> >>>>> solves the problem for me. So now it only sends oid and
> parentoid when
> >>>>> <field>Specified is set to true. This was tested with 1.1.17.1
> but the
> >>>>> problem is in SVN as well from what I can see.
> >>>> Oh, cool. Can you please share the patch so that it could be fixed?
> >>> Of course, thought I attached it but I'll reattach it. The problem is
> >>> that XmlTypeMapMember::CheckOptionalValueType is never called and thus
> >>> the OPTIONAL bit in its flags field is never set (Which is then
> checked
> >>> in XmlSerializationWriterInterpreter::MemberHasValue).
> >> Thanks :) However, now I tried your patch but it does not seem to
> >> fix the issue. Do you have actual case that the patch indeed fix
> >> the issue? I attached what I tried.
> >
> > Weird. I've redone my tests with the 1.2.3 release. With a stock
> > System.Xml.dll it have the problem but with a patched (with the patch I
> > sent earlier) it don't.
> >
> >>> There are some other places (I think) that XmlTypeMapMember is
> >>> instanciated but I didn't add the call there, so this patch only fixes
> >>> my problem. Perhaps this call should be placed in a more appropiate
> >>> place, but I don't speak the XML/WS stack fluently enough to find
> where.
> >> If your patch does not fix the case that I attached, then yes it is
> >> likely to happen. I'd wait for your case and try to fix it.
> >
> > Now I think I see one issue. Since you are using WebService and
> > WebMethod attributes perhaps they are hitting the other path that is
> > calling CreateMapMember(), in ImportMembersMapping in either
> > XmlReflectionImport.cs or SoapReflectionImport.cs (depends on using
> > literal encoding or not).
>  >
> > After some more investigation that seems to be the case. From what I can
> > see the enclosing type is not available at that point (which is needed
> > to call XmlTypeMapMember::CheckOptionalValueType).
>
> Well, however removing [WebService] didn't change anything, and
> without [WebMethod] it doesn't expose any ports. Or are you checking
> anything else than the output WSDL? (As long as the WSDL contains
> 'oldSpecified' and 'parentoidSpecified' the issue isn't fixed.)
>
> Probably a reproducible example would tell me what exactly is the
> issue you are having fix.
>
> Atsushi Eno
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>   




More information about the Mono-devel-list mailing list