Re: deserialization arrays in Axis SOAP messages

From: parrot toes (parrottoes_at__WILL_NOT_RESPOND_hotmail.com.(donotspam))
Date: 12/07/04


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?
> >
> >
>
>
>



Relevant Pages

  • Re: SOAP project
    ... | The interop problems I've seen are between .NET and AXIS, ... | There's another Web Service written in perl. ... there is no WSDL for that. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Java Axis client to a generic web service
    ... java client to a web service developed in Axis too. ... Now I have to develop another client to a web service but it ... WSDL2Java is a standalone tool, and will work if you have a WSDL. ...
    (comp.lang.java.programmer)
  • Re: WSDL.exe vs. "Add Web Reference"
    ... For example this complexType: ... I them created a WSDL using the XSD. ... Then I placed this file in an "Empty Web Project", added a Web Service, made ... If I do all these steps correctly the client should ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: .NET based SOAP client inter-op issue with Apache Axis based w
    ... I've developed a web service using Apache Axis 1.4 (WSDL shown at the ... defining a ServiceDescriptor array in the WSDL (without the ServiceList ...
    (microsoft.public.dotnet.framework.webservices)
  • RE: Two questions for gurus about using strongly typed DataSet in Web
    ... > CustomerDataSet) in WSDL instead of using the WSDL <import ... > Apparently, if I include CustomerDataSet schema definition in WSDL types, it ... How to send a strongly typed DataSet over SOAP without the XSD? ... > typed DataSet between Web service server and client. ...
    (microsoft.public.dotnet.framework.adonet)

Quantcast