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