OK, according to W3C, it is allowed to omit null parameters:

>From http://www.w3c.org/TR/2001/WD-soap12-part2-20011217/:
A NULL value or a default value MAY be represented by omission of the accessor 
element. A NULL value MAY also be indicated by an accessor element containing the 
attribute xsi:nil with value "1 or true" or possibly other application-dependent 
attributes and values.

What now?

> -----Original Message-----
> From: Thomas Börkel 
> Sent: Donnerstag, 21. März 2002 11:30
> To: [EMAIL PROTECTED]
> Subject: RE: Urgent interop problem with .NET if String parameter is
> null -> big problem
> 
> 
> 
> Apparently, this is not a problem if the client is Axis, 
> because Axis sends always all parameters and marks those 
> which are null with xsi:nil="true".
> 
> So, is this a bug of .NET or a missing feature in Axis? If it 
> is no bug in .NET, because it's allowed to omit null 
> parameters, then we have a big problem in Axis, I think, 
> because Axis does not know the parameter names at runtime.
> 
> > -----Original Message-----
> > From: Thomas Börkel 
> > Sent: Mittwoch, 20. März 2002 15:27
> > To: Axis Dev Mailinglist
> > Subject: Urgent interop problem with .NET if String 
> parameter is null
> > 
> > 
> > HI!
> > 
> > Consider the following method in a Java server:
> > 
> >   public String parameterTest(short s, int i, double d, 
> > String t, boolean b)
> > 
> > 
> > Now, if .NET is the client and I call parameterTest(1, 2, 
> > 3.5, null, true), then .NET does not pass in 't' at all. This 
> > results in an error in Axis.
> > 
> > This is the SOAP message from .NET for this:
> > 
> > <?xml version="1.0" encoding="utf-8"?>
> > <soap:Envelope 
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
> > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> > xmlns:tns="http://p2test.p2plus.apag.com"; 
> > xmlns:types="http://p2test.p2plus.apag.com/encodedTypes"; 
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> >   <soap:Body 
> > soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
> >     <tns:parameterTest>
> >       <s xsi:type="xsd:short">1</s>
> >       <i xsi:type="xsd:int">2</i>
> >       <d xsi:type="xsd:double">3.5</d>
> >       <b xsi:type="xsd:boolean">true</b>
> >     </tns:parameterTest>
> >   </soap:Body>
> > </soap:Envelope>
> > 
> > 
> > I am using Axis Beta1 and .NET 1.0. Anyone any ideas how to 
> > get this to work? Is it .NET's fault? Then I'll file a bug 
> > report to MS about this.
> > 
> > Thanks!
> > 
> > Regards,
> > Thomas
> > 
> > 
> 

Reply via email to