Hi, I'm using Axis 1.2 Beta as server, and .Net WebService Studio as client for my tests. Almost everything is working fine, except for a strange behavior that happens depending of the result (response) of the web service, in methods that return arrays of complex types.
Below, it's shown two request for the same web service that returns an array of complex types. Hear is the example of a successfull request (i am using tcpmon to monitore the requests and responses): Request: POST /axis1.2/services/ServidorMatricula HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Content-Length: 346 Expect: 100-continue Host: 150.162.114.5:8085 <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><consultarMatriculasDisciplina xmlns="http://matricula"><in0>1</in0></consultarMatriculasDisciplina></soap:Body></soap:Envelope> Response: HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Mon, 20 Sep 2004 13:34:02 GMT Server: Apache-Coyote/1.1 39b <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <consultarMatriculasDisciplinaResponse xmlns="http://matricula"> <consultarMatriculasDisciplinaReturn> <idCategoria>1</idCategoria> <idDisciplina>1</idDisciplina> <idUsuario>2</idUsuario> <numero>1</numero> <regime>fff</regime> <situacaoMatricula>2</situacaoMatricula> </consultarMatriculasDisciplinaReturn> <consultarMatriculasDisciplinaReturn> <idCategoria>3</idCategoria> <idDisciplina>1</idDisciplina> <idUsuario>2</idUsuario> <numero>2</numero> <regime>fff</regime> <situacaoMatricula>2</situacaoMatricula> </consultarMatriculasDisciplinaReturn> </consultarMatriculasDisciplinaResponse> </soapenv:Body> </soapenv:Envelope> 0 I don't know what that "39b" befor <:?xml tag and that 0 at the end of response. Now, a request and response that produce an erro at the client: Request: POST /axis1.2/services/ServidorMatricula HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Content-Length: 346 Expect: 100-continue Host: 150.162.114.5:8085 <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><consultarMatriculasDisciplina xmlns="http://matricula"><in0>2</in0></consultarMatriculasDisciplina></soap:Body></soap:Envelope> Response: HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Mon, 20 Sep 2004 13:38:27 GMT Server: Apache-Coyote/1.1 4ac <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <consultarMatriculasDisciplinaResponse xmlns="http://matricula"> <consultarMatriculasDisciplinaReturn> <idCategoria>3</idCategoria> <idDisciplina>2</idDisciplina> <idUsuario>2</idUsuario> <numero>4</numero> <regime>fff</regime> <situacaoMatricula>2</situacaoMatricula> </consultarMatriculasDisciplinaReturn> <consultarMatriculasDisciplinaReturn> <idCategoria>3</idCategoria> <idDisciplina>2</idDisciplina> <idUsuario>3</idUsuario> <numero>9</numero> <regime>fff</regime> <situacaoMatricula>2</situacaoMatricula> </consultarMatriculasDisciplinaReturn> <consultarMatriculasDisciplinaReturn> <idCategoria>1</idCategoria> <idDisciplina>2</idDisciplina> <idUsuario>3</idUsuario> <numero>10</numero> <regime>ff</regime> <situacaoMatricula>2</situacaoMatricula> </consultarMatriculasDisciplinaReturn> </consultarMatriculasDisciplinaResponse> </soapenv:Body> </soapenv:Envelope> 0 This last request/response produce the following error at the client: System.Xml.XmlException: The data at the root level is invalid. Line 1, position 1. at System.Xml.XmlTextReader.ParseRoot() at System.Xml.XmlTextReader.Read() at System.Xml.XmlValidatingReader.ReadWithCollectTextToken() at System.Xml.XmlValidatingReader.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at System.Xml.XmlDocument.set_InnerXml(String value) at WebServiceStudio.MessageTracer.ReadMessage(Stream from, Int32 len, String contentType) at WebServiceStudio.WSSWebResponse.DumpResponse(WebResponse response) at WebServiceStudio.WSSWebResponse.DumpResponse() at WebServiceStudio.WSSWebRequest.GetResponse() I don't know what to do anymore!! So, I would appreciate any help!!! Thanks in advance!!! Fabio -------
