You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Tim Dierks <ti...@yahoo.com> on 2002/11/01 16:46:53 UTC
Re: .NET client omits null arguments
Scott,
Your suggestion works fine. I had hoped to avoid
editing the C# proxy file generated by the Microsoft
wsdl utility, but I guess there's no way around it.
Thanks for the help!
Tim Dierks
--- Scott Nichol <sn...@scottnichol.com> wrote:
> Here's the short of it:
>
> 1. You must use wsdl.exe to generate a proxy class
> for the service (or
> write a proxy manually). You cannot do "Add Web
> Reference", as that
> re-generates the proxy code whenever you rebuild the
> project (VS.NET).
>
> 2. You must add a SoapElement attribute for each
> method parameter that
> specifies the parameter is nullable, e.g.
>
> public String echoString([SoapElement("s",
> IsNullable=true)] String
> s) {...}
>
> 3. .NET will now send an XML element for every
> parameter, but for null
> parameters it will not send an xsi:type attribute,
> just xsi:null (note:
> this is a bug: it should send xsi:nil for the 2001
> schema). Therefore,
> you must add a mapping to your service's deployment
> descriptor for every
> parameter name, e.g.
>
> <isd:map
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:x="" qname="x:s"
>
>
xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/
> >
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Tim Dierks" <ti...@yahoo.com>
> To: <so...@xml.apache.org>
> Sent: Thursday, October 31, 2002 11:49 AM
> Subject: .NET client omits null arguments
>
>
> > I am having a problem with a .NET client omitting
> null
> > arguments from messages sent to my Apache SOAP
> (2.3.1)
> > service. For example, SOAP service method
> signature
> > is:
> >
> > public int myMethod(String arg1, String arg2);
> >
> > My .NET C# client makes an call to the SOAP
> service
> > like this:
> >
> > int result = myMethod(arg1, null);
> >
> > If arg2 is null, then arg2 is left out altogether
> from
> > the message sent to my Apache SOAP service. So
> Apache
> > SOAP generates a FAULT with the error "no
> signature
> > match", since it received only one argument
> instead of
> > two.
> >
> > Has anyone encountered this problem and figured
> out a
> > solution?
> >
> > Thanks,
> >
> > Tim Dierks
> >
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > HotJobs - Search new jobs daily now
> > http://hotjobs.yahoo.com/
> >
> > --
> > To unsubscribe, e-mail:
> <ma...@xml.apache.org>
> > For additional commands, e-mail:
> <ma...@xml.apache.org>
> >
> >
>
>
> --
> To unsubscribe, e-mail:
> <ma...@xml.apache.org>
> For additional commands, e-mail:
> <ma...@xml.apache.org>
>
__________________________________________________
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/