[C#] Web Service et type comlpex

Signaler
Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009
-
Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009
-
Bonjour,

j'ai créé un webservice en C# et réussi à le déployer sur un serveur IIS.

Je n'ai pas de souci pour l'utiliser avec des types simples, mais quand je tente d'utiliser un type complex, j'ai une erreur, et à priori du coté du webservice, avec un message qui me dit que je pourrais trouver plus d'infos dans les log du serveur iis mais je ne trouve rien (ou je ne regarde pas au bon endroit, c'est la premiere fois que j'utilise  IIS)

Le wsdl que je génére m'a l'air bon, et quand j'utilise Axis depuis mon application Java pour déployer les classes nécessaires je retrouve bien mes classes que je veux passer en paramètre, et sérialisable.
J'ai d'ailleur installer SOAP UI et créé un mockService à partir du wsdl pour tester les appels et je peux l'intérroger sans problème depuis mon appli Java.

Bref, il me manque quelque chose coté C#/IIS.

Voici par exemple une classe que je veux passer une paramètre tel que je l'ai déclaré (je précise que c'est purement pour des tests) :

[

Serializable]

public
class
InputPicture{

   public
long pictureId{

        get {
return pictureId;}

        set { pictureId =
value;}
   }

   
  public
String pictureURL{

        get{
return pictureURL; }

        set { pictureURL =
value; }

   }

 public
String jpegData{

        get {
return jpegData; }

        set { jpegData =
value; }
}

}

Y a t'il des tag a ajouter ?

Merci pour votre aide

1 réponse

Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009

Voici mon wsdl généré si quelqu'un vois un probleme :

 <?xml version= "1.0" encoding="utf-8" ?>

-<wsdl:definitions xmlns:soap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm= " http://microsoft.com/wsdl/mime/textMatching/ " xmlns:soapenc ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime= " http://schemas.xmlsoap.org/wsdl/mime/ " xmlns:tns ="http://tempuri.org/" xmlns:s= " http://www.w3.org/2001/XMLSchema " xmlns:soap12 ="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http= " http://schemas.xmlsoap.org/wsdl/http/ " targetNamespace ="http://tempuri.org/" xmlns:wsdl= " http://schemas.xmlsoap.org/wsdl/ ">

-<wsdl:types>

-<s:schema elementFormDefault ="qualified" targetNamespace= " http://tempuri.org/ ">

-<s:element name ="HelloWorld">

 <s:complexType/>

 </s:element>

-<s:element name= " HelloWorldResponse ">

-<s:complexType>

-<s:sequence>

 <s:elementminOccurs ="0" maxOccurs= " 1 " name ="HelloWorldResult" type= " s:string " />

 </s:sequence>

 </s:complexType>

 </s:element>

-<s:element name ="ExtractFaceAndRegroup">

-<s:complexType>

-<s:sequence>
 <s:elementminOccurs" 0 " maxOccurs"1" name= " pictures " type ="tns:ArrayOfInputPicture" />

 </s:sequence>

 </s:complexType>

 </s:element>

-<s:complexType name= " ArrayOfInputPicture ">

-<s:sequence>

 <s:elementminOccurs ="0" maxOccurs= " unbounded " name ="InputPicture" nillable= " true " type ="tns:InputPicture" />

 </s:sequence>

 </s:complexType>

-<s:complexType name= " InputPicture ">

-<s:sequence>

 <s:elementminOccurs ="1" maxOccurs= " 1 " name ="pictureId" type= " s:long " />

 <s:elementminOccurs ="0" maxOccurs= " 1 " name ="pictureURL" type= " s:string " />

 <s:elementminOccurs ="0" maxOccurs= " 1 " name ="jpegData" type= " s:string " />

 </s:sequence>

 </s:complexType>

-<s:element name ="ExtractFaceAndRegroupResponse">

-<s:complexType>

-<s:sequence>
 <s:elementminOccurs" 0 " maxOccurs"1" name= " ExtractFaceAndRegroupResult " type ="s:string" />

 </s:sequence>

 </s:complexType>

 </s:element>

-<s:element name= " toto ">

-<s:complexType>

-<s:sequence>

 <s:elementminOccurs ="0" maxOccurs= " 1 " name ="picture" type= " tns:Face " />

 </s:sequence>

 </s:complexType>

 </s:element>

-<s:complexType name ="Face">

-<s:sequence>
 <s:elementminOccurs" 1 " maxOccurs"1" name= " faceId " type ="s:long" />
 <s:elementminOccurs" 1 " maxOccurs"1" name= " inputImageId " type ="s:long" />
 <s:elementminOccurs" 1 " maxOccurs"1" name= " xMin " type ="s:int" />
 <s:elementminOccurs" 1 " maxOccurs"1" name= " xMax " type ="s:int" />
 <s:elementminOccurs" 1 " maxOccurs"1" name= " yMin " type ="s:int" />
 <s:elementminOccurs" 1 " maxOccurs"1" name= " yMax " type ="s:int" />
 <s:elementminOccurs" 0 " maxOccurs"1" name= " bitmapData " type ="s:string" />

 </s:sequence>

 </s:complexType>

-<s:element name= " totoResponse ">

-<s:complexType>

-<s:sequence>

 <s:elementminOccurs ="0" maxOccurs= " 1 " name ="totoResult" type= " s:string " />

 </s:sequence>

 </s:complexType>

 </s:element>

 </s:schema>

 </wsdl:types>

-<wsdl:message name ="HelloWorldSoapIn">
 <wsdl:partname" parameters " element"tns:HelloWorld" />

 </wsdl:message>

-<wsdl:message name= " HelloWorldSoapOut ">

 <wsdl:partname ="parameters" element= " tns:HelloWorldResponse " />

 </wsdl:message>

-<wsdl:message name ="ExtractFaceAndRegroupSoapIn">
 <wsdl:partname" parameters " element"tns:ExtractFaceAndRegroup" />

 </wsdl:message>

-<wsdl:message name= " ExtractFaceAndRegroupSoapOut ">

 <wsdl:partname ="parameters" element= " tns:ExtractFaceAndRegroupResponse " />

 </wsdl:message>

-<wsdl:message name ="totoSoapIn">
 <wsdl:partname" parameters " element"tns:toto" />

 </wsdl:message>

-<wsdl:message name= " totoSoapOut ">

 <wsdl:partname ="parameters" element= " tns:totoResponse " />

 </wsdl:message>

-<wsdl:portType name ="ServiceSoap">

-<wsdl:operation name= " HelloWorld ">

 <wsdl:inputmessage ="tns:HelloWorldSoapIn" />

 <wsdl:outputmessage= " tns:HelloWorldSoapOut " />

 </wsdl:operation>

-<wsdl:operation name ="ExtractFaceAndRegroup">

 <wsdl:inputmessage= " tns:ExtractFaceAndRegroupSoapIn " />

 <wsdl:outputmessage ="tns:ExtractFaceAndRegroupSoapOut" />

 </wsdl:operation>

-<wsdl:operation name= " toto ">

 <wsdl:inputmessage ="tns:totoSoapIn" />

 <wsdl:outputmessage= " tns:totoSoapOut " />

 </wsdl:operation>

 </wsdl:portType>

-<wsdl:binding name ="ServiceSoap" type= " tns:ServiceSoap ">

 <soap:bindingtransport ="http://schemas.xmlsoap.org/soap/http" />

-<wsdl:operation name= " HelloWorld ">

 <soap:operationsoapAction ="http://tempuri.org/HelloWorld" style= " document " />

-<wsdl:input>

 <soap:bodyuse ="literal" />

 </wsdl:input>

-<wsdl:output>

 <soap:bodyuse= " literal " />

 </wsdl:output>

 </wsdl:operation>

-<wsdl:operation name ="ExtractFaceAndRegroup">
 <soap:operationsoapAction" http://tempuri.org/ExtractFaceAndRegroup " style"document" />

-<wsdl:input>

 <soap:bodyuse= " literal " />

 </wsdl:input>

-<wsdl:output>

 <soap:bodyuse ="literal" />

 </wsdl:output>

 </wsdl:operation>

-<wsdl:operation name= " toto ">

 <soap:operationsoapAction ="http://tempuri.org/toto" style= " document " />

-<wsdl:input>

 <soap:bodyuse ="literal" />

 </wsdl:input>

-<wsdl:output>

 <soap:bodyuse= " literal " />

 </wsdl:output>

 </wsdl:operation>

 </wsdl:binding>

-<wsdl:binding name ="ServiceSoap12" type= " tns:ServiceSoap ">

 <soap12:bindingtransport ="http://schemas.xmlsoap.org/soap/http" />

-<wsdl:operation name= " HelloWorld ">

 <soap12:operationsoapAction ="http://tempuri.org/HelloWorld" style= " document " />

-<wsdl:input>

 <soap12:bodyuse ="literal" />

 </wsdl:input>

-<wsdl:output>

 <soap12:bodyuse= " literal " />

 </wsdl:output>

 </wsdl:operation>

-<wsdl:operation name ="ExtractFaceAndRegroup">
 <soap12:operationsoapAction" http://tempuri.org/ExtractFaceAndRegroup " style"document" />

-<wsdl:input>

 <soap12:bodyuse= " literal " />

 </wsdl:input>

-<wsdl:output>

 <soap12:bodyuse ="literal" />

 </wsdl:output>

 </wsdl:operation>

-<wsdl:operation name= " toto ">

 <soap12:operationsoapAction ="http://tempuri.org/toto" style= " document " />

-<wsdl:input>

 <soap12:bodyuse ="literal" />

 </wsdl:input>

-<wsdl:output>

 <soap12:bodyuse= " literal " />

 </wsdl:output>

 </wsdl:operation>

 </wsdl:binding>

-<wsdl:service name ="Service">

-<wsdl:port name= " ServiceSoap " binding ="tns:ServiceSoap">

 <soap:addresslocation= " http://localhost/RoseBudFaceReko/Service.asmx " />

 </wsdl:port>

-<wsdl:port name ="ServiceSoap12" binding= " tns:ServiceSoap12 ">

 <soap12:addresslocation ="http://localhost/RoseBudFaceReko/Service.asmx" />

 </wsdl:port>

 </wsdl:service>

 </wsdl:definitions>