cs_blat
Messages postés102Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention 5 juin 2007
-
19 janv. 2007 à 14:28
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 2007
-
23 janv. 2007 à 20:21
Bonjour,
Voila mon problème : je tente de créer un webservice qui accède à un autre webservice. Pour ce faire, j'ai crée un proxy du webservice que je tente d'accéder grace à la commande wsdl.
Ensuite, j'ai un petit client tout con qui se connecte au webservice...
Fichier Client.cs :
using System;
using System.Net;
class Client {
static void Main (string[] args) {
proxy.MonWebService ws = new proxy.MonWebService();
ws.Credentials = new NetworkCredential("username", "password");
UInt32[] id = ws.GetAllIds();
//...
}
}
A la compilation (gmcs /t:exe /out:client.exe /r:System.Web.Services client.cs proxy.cs) tout se passe bien, mais à l'exécution gros crash :
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
at System.Xml.Serialization.XmlSerializationReader.ReadList (System.Object resultList) [0x00000]
at System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement (System.String name, System.String ns, Boolean elementCanBeType, System.String fixupReference) [0x00000]
at System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement (System.String fixupReference) [0x00000]
at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadMembers (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean isValueList, Boolean readByOrder) [0x00000]
at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadMessage (System.Xml.Serialization.XmlMembersMapping typeMap) [0x00000]
at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadRoot () [0x00000]
at System.Xml.Serialization.XmlSerializer.Deserialize (System.Xml.Serialization.XmlSerializationReader reader) [0x00000]
Le truc bizarre, c'est que si j'appelle une autre fonction qui retourne un int tout simple ou une string ca marche, mais dès qu'il s'agit d'un tableau ca plante, et j'me retrouve avec la liste d'erreur que j'ai mis au dessus.
Et j'avoue ne pas du tout comprendre pourquoi, donc si qq'un pouvait m'éclairer, je l'en remercie d'avance :)
cs_blat
Messages postés102Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention 5 juin 20071 22 janv. 2007 à 09:33
J'ai quasi la même erreur en developpant avec WebMatrix sous XP...
Unhandled Exception: System.InvalidOperationExceptio
<wbr>n: There is an error in XML
document (2, 455). ---> System.InvalidOperationExceptio<wbr>n: The specified type was
not recognized: name='THpSvcWCleMatiere', namespace='http://www.indexeducation.
com/frahtm/HpSvcW.html', at <return xmlns=''>.
at System.Xml.Serialization<wbr>.XmlSerializationReader<wbr>.GetPrimitiveType
(XmlQualif
iedName typeName, Boolean throwOnUnknown)
at System.Xml.Serialization<wbr>.XmlSerializationReader<wbr>.ReadArray(String typeName,
String typeNs)
at System.Xml.Serialization<wbr>.XmlSerializationReader<wbr>.ReadReferencingElement
(Str
ing name, String ns, Boolean elementCanBeType, String& fixupReference)
at System.Xml.Serialization<wbr>.XmlSerializationReader<wbr>.ReadReferencingElement(Str
ing name, String ns, String& fixupReference)
at Microsoft.Xml.Serialization<wbr>.GeneratedAssembly.XmlSerializa<wbr>tionReaderBindin
gMatieres.Read9_ToutesLesMatier<wbr>esResponse()
at Microsoft.Xml.Serialization<wbr>.GeneratedAssembly.ArrayOfObjec<wbr>tSerializer17.De</wbr></wbr> serialize(XmlSerializationReade<wbr>r reader)
at System.Xml.Serialization<wbr>.XmlSerializer.Deserialize(XmlReader xmlReader, St
ring encodingStyle, XmlDeserializationEvents events)
--- End of inner exception stack trace ---
at System.Xml.Serialization<wbr>.XmlSerializer.Deserialize(XmlReader xmlReader, St
ring encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization<wbr>.XmlSerializer.Deserialize
(XmlReader xmlReader, St
ring encodingStyle)
at System.Web.Services.Protocols<wbr>.SoapHttpClientProtocol<wbr>.ReadResponse(SoapClie
ntMessage message, WebResponse response, Stream responseStream, Boolean asyncCal
l)
at System.Web.Services.Protocols<wbr>.SoapHttpClientProtocol.Invoke(String methodN
ame, Object[] parameters)
at proxy.BindingMatieres.ToutesLes<wbr>Matieres()
at Client.Main(String[] args)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cs_blat
Messages postés102Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention 5 juin 20071 23 janv. 2007 à 15:25
Après appel des services techniques de la boite qui a produit le web service le pb vient de chez eux... Ou du moins d'une restriction qu'ils font sur les tableaux et que microsoft .NET n'accepte pas car ils suivent la norme WS-I et non la norme W3C... Le service web serait donc innattaquable en .NET :/