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