I agree that that reporting bugs is the way to go BUT ... ... I think it is equal important to find workarounds for the stable release. I have seen the questions being posted again again on the axis-user list and in other places but with no answers and since I had worked out what caused the errors I thought is was time to report the solutions/workarounds for them.
/Magnus On Tue, 2004-03-02 at 04:12, Davanum Srinivas wrote: > Folks, > > If you find a problem, PLEASE try latest CVS, IF it still exists, OPEN a bug report, > WITH a sample > that can be used to recreate the problem. The ONLY way we can fix problems is IF we > know about it > and we can RECREATE it. > > thanks, > dims > > --- Vivek Nagulapati <[EMAIL PROTECTED]> wrote: > > Hello Magnus, > > > > Thanks for sharing the information. It really helped me!! > > > > Magnus, as you said that Axis would not support Document/literal with .NET > > clients what can be the other option to bypass the serializing/deserializing > > phase of Axis? > > > > When you say that Axis does not support Doc/Lit, do you mean to say that > > there is no compatible XML datatype for Axis that would be understood by a > > .NET client? > > > > Thanks, > > Vivek > > > > >From: Magnus Sandberg <[EMAIL PROTECTED]> > > >Reply-To: [EMAIL PROTECTED] > > >To: [EMAIL PROTECTED] > > >Subject: Interoperability/.NET/Arrays ... and more [long] > > >Date: Mon, 01 Mar 2004 11:28:30 +0100 > > > > > > > > >I have seen quite a bit of post here on interoperability and problems > > >with Axis not generation WSDL as expected. > > > > > >I have been trying for some time to deploy a quite large service, using > > >Axis 1.1, with about a hundred functions and very deep complex data > > >structures, including Arrays. > > > > > >Just want to share a few things that I have found out on my journey to > > >success and to ask a few thing that don't work as I want them to. > > > > > >We are building our service from WSDL that we create in XML-spy, in out > > >first attempt we tried to generate a Doc/Literal Service. WSDL2Java > > >successfully generated java classes for us but when we tried to generate > > >WSDL from the running service (using ?WSDL) Axis kept on giving us > > >errors like this: > > > > > >---8<---- > > >Fault - WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL > > >Document -'.: The value of the attribute > > >"prefix="xmlns",localpart="tns1",rawname="xmlns:tns1"" is invalid. > > >Prefixed namespace bindings may not be empty.: > > >org.xml.sax.SAXParseException: The value of the attribute > > >"prefix="xmlns",localpart="tns1",rawname="xmlns:tns1"" is invalid. > > >Prefixed namespace bindings may not be empty. > > >---8<----- > > > > > >After searching, reading and experimenting quite a bit we found out that > > >Axis doesn't really like Doc/Literal so we tried RPC/Encoded instead. > > >(Note that .NET only likes Doc/Literal or RPC/Encoded and no other > > >combinations.) Now Axis could generate the WSDL and we started to build > > >clients. Using Axis as client was no problem but the .NET client gave us > > >this error: > > > > > >---8<----- > > >System.InvalidOperationException: There is an error in XML document > > >(114, 4). ---> System.InvalidCastException: Cannot assign object of type > > >SOAPTest.WebReference1.DataType to an object of type > > >SOAPTest.WebReference1.DataType[]. > > >---8<----- > > > > > >Again after some amount of testing we found that you must declare the > > >Arrays in WSDL like this: > > > > > >----8<----- > > > > > ><xsd:complexType name="DataTypeArray"> > > > <xsd:complexContent> > > > <xsd:restriction base="soapenc:Array"> > > > <xsd:sequence> > > > <xsd:element > > > name="DataList" > > > type="DataListType" > > > maxOccurs="unbounded"/> > > > </xsd:sequence> > > > <xsd:attribute > > > ref="soapenc:arrayType" > > > wsdl:arrayType="tns:DataListTyp[]"/> > > > </xsd:restriction> > > > </xsd:complexContent> > > ></xsd:complexType> > > > > > >---8<---- > > > > > >(I.e. using ComplexType + ComplexContent) > > > > > >No other syntax seemes to satisfy both Axis and .NET when using encoded. > > >So finally we got it all up and running and so far it seems that we have > > >interoperability with many different SOAP toolkits. > > > > > >And a few questions: > > > > > >How to you get Axis to return SoapFaults? I have declared faults in the > > >WSDL, the Fault classes are generated and I throw the generated Faults. > > >Still the only fault that Axis seems to return back to the client is the > > >"General Fault". Is it possibly, and in that case how, to make Axis to > > >return the correct SoapFault? > > > > > >Can axis handle <choice>? If I crate a WSDL with a <choice>, Axis keeps > > >on generating the same code as for <sequence>. Even worse is that ?wsdl > > >generates a <sequence> in the wsdl and not a <choice>. > > > > > > > > > > > >Thanks, > > > > > > > > >/Magnus Sandberg > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _________________________________________________________________ > > One-click access to Hotmail from any Web page download MSN Toolbar now! > > http://clk.atdmt.com/AVE/go/onm00200413ave/direct/01/ > > > > > ===== > Davanum Srinivas - http://webservices.apache.org/~dims/
