Re: deserialization arrays in Axis SOAP messages
From: parrot toes (parrottoes_at__WILL_NOT_RESPOND_hotmail.com.(donotspam))
Date: 12/07/04
- Next message: Dan Rogers: "RE: transmitting files in chunks...."
- Previous message: Mujtaba Syed: "Re: Unable to read data from the transport connection"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 7 Dec 2004 10:59:16 -0800
Sorry about the delay.
1) The WSDL provider has since changed their WSDL. It still has the
use=encoded attribute in the wsdlsoap:body elements (I assume that is the
element you referred to).
2) They don't publish their WSDL; they only provide it to registered
clients. As such, I'm not sure if they want me to redistribute it nor pass on
information about them. I have asked for permission to do so but have not
received a response.
Like you said, I've got my workaround.
I will forward the information you provided and maybe they will update their
site.
It's good to see IBM and Microsoft agreeing on stuff.
Thanks for your help.
"Dino Chiesa [Microsoft]" wrote:
> > Is anyone aware of this issue and if so is it an Axis issue, a dotnet
> > issue,
> > an interop issue or a result of SOAP schema ambiguities?
>
> It results from ambiguities and impracticalities in the SOAP specifications.
>
> The web service you are trying to access is using SOAP section-5 encoding.
> How do I know this? It is the (use="encoded") in the WSDL.
>
> But SOAP section-5 encoding is specifically dis-allowed by WS-I for
> interoperability reasons:
> http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16638080
>
> [WS-I was formed to resolve some of the ambiguities and overlaps in the
> various SOAP-relevant specs ]
>
> For some history on SOAP Section-5 encoding versus literal encoding, see:
> http://msdn.microsoft.com/msdnmag/issues/03/05/XMLFiles/default.aspx
>
> IBM also agrees that doc/lit is the best approach:
> http://www-106.ibm.com/developerworks/webservices/library/ws-whichwsdl/
>
>
> So, the short answer to your problem is: use document/literal web services.
> This requires a change on the server (AXIS) side. I don't know if that is
> possible in your case. If not, you have your workaround.
>
> Also : Where does this WSDL come from ? Where do you get this webservice?
> Is it a sample shipped with AXIS or something? Can we get the example
> fixed?
>
> -Dino
>
> --
> Dino Chiesa
> Microsoft Developer Division
> d i n o c h @ OmitThis . m i c r o s o f t . c o m
>
>
>
> "parrot toes" <parrottoes@_WILL_NOT_RESPOND_hotmail.com.(donotspam)> wrote
> in message news:20E6EF0A-2A8A-469C-A1D7-F985E1E8D2B6@microsoft.com...
> >A follow up to the above.
> >
> > I have created a work around that is better than manipulating the SOAP
> > message prior to deserialization.
> > Instead I have modified the class definitions that were generated by
> > wsdl.exe.
> > The class definition now matches the type definitions of the objects
> > deserialized from the message.
> >
> > Like so
> > The wsdl generated classes were (with element names changed, only the
> > schema
> > is relevent):
> > public class Response {
> > public string message;
> > public Itemstuff[] Items;
> > public string status;
> > public string Id;
> > }
> >
> > public class Itemstuff {
> > public string amount;
> > public string cur;
> > public string Type;
> > }
> >
> > But the deserialized content treated Items as an object[], so I modified
> > Response like so:
> > public class Response {
> > public string message;
> > public object[] Items;
> > public string status;
> > public string Id;
> > }
> >
> > And the problem went away.
> >
> > That's great for this particular problem, but it means that I have to edit
> > wsdl.exe output in order to use an Axis web service.
> > My modifications may (I don't know) only work for this particular SOAP
> > message and may not work if I try to access the same web service from a
> > different type of web server.
> >
> > So is there a general solution?
> > Is anyone aware of this issue and if so is it an Axis issue, a dotnet
> > issue,
> > an interop issue or a result of SOAP schema ambiguities?
> >
> >
>
>
>
- Next message: Dan Rogers: "RE: transmitting files in chunks...."
- Previous message: Mujtaba Syed: "Re: Unable to read data from the transport connection"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|