Thanks for this, but I am not sure it helps. I can get it to work with the C# code you have provided but wouldn't that mean that I would have to manually edit or create new classes in place of the C# classes that are generated when you add a web reference?
This would be a big overhead compared to the way our .NET clients have been working with the Axis 1.1 web services. If you use the generated classes do you experience the same problem as I do? Thanks. -----Original Message----- From: [mailto:[EMAIL PROTECTED] Sent: 15 July 2005 11:05 To: [email protected] Subject: RE: Interoperability problems with Axis 1.2.1 and .NET Hi, resending this message it came out alittle weird. You can do the following - ran wsd2java on your test.wsdl - fill in the TestServiceSoapBindingImpl.java as DateAndDecimal dad = new DateAndDecimal(); dad.setDateValue(null); dad.setDecimalValue(new BigDecimal(5)); return dad; - created a c# client, used code from http://cheeso.members.winisp.net/srcview.aspx?dir=xml-serialization&file=XsiNilDate.cs I have attached my c# client code. -cheers --- On Fri 07/15, < [EMAIL PROTECTED] > wrote: From: [mailto: [EMAIL PROTECTED] To: [email protected] Date: Fri, 15 Jul 2005 09:08:23 -0400 Subject: Interoperability problems with Axis 1.2.1 and .NET <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="MS Exchange Server version 6.0.6603.0"> <TITLE>Interoperability problems with Axis 1.2.1 and .NET</TITLE> </HEAD> <BODY> <!-- Converted from text/rtf format --> <P><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">Can someone please advise whether the below is a bug with Axis. I suspect it is as the only variable that is changing is my version of Axis (1.1 to 1.2.1) and the binding style (rpc/encoded to wrapped/literal).</FONT></P> <BR> <BR> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I am trying to convert my Axis 1.1 rpc/encoded web service to Axis 1.2.1 wrapped/literal web service but I have come across what I think is a showstopper...</FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">If I populate all the decimal and date fields then everything is fine. If I leave either a decimal or date field blank then I get an exception:</FONT></SPAN><SPAN LANG="en-gb"><B></B></SPAN><SPAN LANG="en-gb"><B> <FONT SIZE=2 FACE="Courier New">InvalidOperationException:</FONT></B><FONT SIZE=2 FACE="Courier New"></FONT><B> <FONT SIZE=2 FACE="Courier New">There is an error in XML document</FONT></B></SPAN><B><SPAN LANG="en-us"></SPAN></B><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">. This doesn't happen when I invoke my Axis 1.1 rpc/encoded web service from the same version of .NET.</FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I need to use my own classes so de/serialization uses the _Helper classes provided by Axis when using the --helperGen option on the wsdl2Java command. </FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I have attached the wsdl and the all the classes.</FONT></SPAN> </P> <P><SPAN LANG="en-us"><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<test.wsdl>> </FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<DateAndDecimal_Helper.java>> </FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<deploy.wsdd>> </FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<TestService.java>> </FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<TestServiceSoapBindingImpl.java>> </FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<DateAndDecimal.java>> </FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I have also included the XML for the response for both scenarios...</FONT></SPAN> </P> <P><SPAN LANG="en-us"><U><FONT SIZE=2 FACE="Arial">When decimal element is null</FONT></U></SPAN> </P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">XML </FONT></SPAN> </P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial"><?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="<A HREF="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</A>" xmlns:xsd="<A HREF="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</A>" xmlns:xsi="<A HREF="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</A>"><soapenv:Body><getDateAndDecimalResponse xmlns="<A HREF="http://test.axis">http://test.axis</A>"><getDateAndDecimalReturn><dateValue>2005-07-14T09:47:04.376Z</dateValue><decimalValue xsi:nil="true"/></getDateAndDecimalReturn></getDateAndDecimalResponse></soapenv:Body></soapenv:Envelope> </FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">.NET error message</FONT></SPAN> </P> <P><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New">[FormatException:</FONT></SPAN><SPAN LANG="en-gb"><B> <FONT SIZE=2 FACE="Courier New">Input string was not in a correct format</FONT></B><FONT SIZE=2 FACE="Courier New">.] System.Number.ParseDecimal(String s, NumberStyles style, NumberFormatInfo info) +0 System.Decimal.Parse(String s, NumberStyles style, IFormatProvider provider) +30 System.Xml.XmlConvert.ToDecimal(String s) +100 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6_DateAndDecimal(Boolean isNullable, Boolean checkType) +438 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read13_getDateAndDecimalResponse() +307 [</FONT><B><FONT SIZE=2 FACE="Courier New">InvalidOperationException:</FONT></B><FONT SIZE=2 FACE="Courier New"></FONT><B> <FONT SIZE=2 FACE="Courier New">There is an error in XML document</FONT></B> <FONT SIZE=2 FACE="Courier New">(1, 384).] System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) +413 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, XmlDeserializationEvents events) +25 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) +24 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +1057 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +218 Wrapped.AxisTests.TestServiceService.getDateAndDecimal(Int32 in0) in c:\webroot\wrapped\web references\axistests\reference.cs:61 Wrapped.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\webroot\wrapped\webform1.aspx.cs:97 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1292 <BR> </FONT></SPAN><SPAN LANG="en-gb"><U></U><U></U><U><FONT FACE="Times New Roman">When date element is null</FONT></U></SPAN> <BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">XML </FONT></SPAN> <BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman"><?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="<A HREF="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</A>" xmlns:xsd="<A HREF="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</A>" xmlns:xsi="<A HREF="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</A>"><soapenv:Body><getDateAndDecimalResponse xmlns="<A HREF="http://test.axis">http://test.axis</A>"><getDateAndDecimalReturn><dateValue xsi:nil="true"/><decimalValue>4.000</decimalValue></getDateAndDecimalReturn></getDateAndDecimalResponse></soapenv:Body></soapenv:Envelope></FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">.NET error message</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN> <BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">[FormatException:</FONT></SPAN><SPAN LANG="en-gb"><B> <FONT FACE="Times New Roman">String was not recognized as a valid DateTime</FONT></B><FONT FACE="Times New Roman">.] System.DateTimeParse.ParseExactMultiple(String s, String[] formats, DateTimeFormatInfo dtfi, DateTimeStyles style, DateTime& result) +286 System.DateTime.ParseExact(String s, String[] formats, IFormatProvider provider, DateTimeStyles style) +39 System.Xml.XmlConvert.ToDateTime(String s, String[] formats) +103 System.Xml.Serialization.XmlCustomFormatter.ToDateTime(String value, String[] formats) +9 System.Xml.Serialization.XmlCustomFormatter.ToDateTime(String value) +30 System.Xml.Serialization.XmlSerializationReader.ToDateTime(String value) +5 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6_DateAndDecimal(Boolean isNullable, Boolean checkType) +358 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read13_getDateAndDecimalResponse() +307 [</FONT><B><FONT FACE="Times New Roman">InvalidOperationException: There is an error in XML document</FONT></B> <FONT FACE="Times New Roman">(1, 333).] System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) +413 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, XmlDeserializationEvents events) +25 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) +24 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +1057 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +218 Wrapped.AxisTests.TestServiceService.getDateAndDecimal(Int32 in0) in c:\webroot\wrapped\web references\axistests\reference.cs:61 Wrapped.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\webroot\wrapped\webform1.aspx.cs:97 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1292 </FONT></SPAN></P> <P><SPAN LANG="en-gb"><U><FONT FACE="Times New Roman">Environment</FONT></U><BR> </SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Axis 1.2.1 wrapped/literal service deployed to websphere server</FONT></SPAN> <BR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">WebSphere Platform 5.1 [BASE 5.1.1 a0426.01] [JDK 1.4.2 cn1420-20040626] [PME 5.1.1 o0429.02] running with process name localhost\localhost\server1 and process id 3052</FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Host Operating System is Windows 2000, version 5.0</FONT></SPAN> <BR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Java version = J2RE 1.4.2 IBM Windows 32 build cn1420-20040626 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM</FONT></SPAN></P> <P><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Microsoft Development Environment 2003</FONT></SPAN> <BR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Microsoft .NET Framework 1.1</FONT></SPAN> <BR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Microsoft Visual C# .NET 69586-335-0000007-18998</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> </SPAN> </P> <BR> <pre>__________________________________________________________________________________________________________________________________ This e-mail may be privileged and/or confidential, and the sender does not waive any related rights and obligations. Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized. If you received this e-mail in error, please advise me (by return e-mail or otherwise) immediately. Ce courrier électronique est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite. Si vous recevez ce courrier électronique par erreur, veuillez m'en aviser immédiatement, par retour de courrier électronique ou par un autre moyen.</pre></BODY> </HTML><p>Attachment: test.wsdl (3.62KB)<br>Attachment: DateAndDecimal_Helper.java (3.07KB)<br>Attachment: deploy.wsdd (2.86KB)<br>Attachment: TestService.java (0.45KB)<br>Attachment: TestServiceSoapBindingImpl.java (0.54KB)<br>Attachment: DateAndDecimal.java (1.36KB)<br> _______________________________________________ __________________________________________________________________________________________________________________________________ This e-mail may be privileged and/or confidential, and the sender does not waive any related rights and obligations. Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized. If you received this e-mail in error, please advise me (by return e-mail or otherwise) immediately. Ce courrier électronique est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite. Si vous recevez ce courrier électronique par erreur, veuillez m'en aviser immédiatement, par retour de courrier électronique ou par un autre moyen.
