Laden...

WSDL in Windows Phone 8 nutzen

Erstellt von inek vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.390 Views
inek Themenstarter:in
182 Beiträge seit 2007
vor 10 Jahren
WSDL in Windows Phone 8 nutzen

Hi zusammen,
ich komme mal wieder nicht weiter, ich habe eine wsdl die ich gerne in eine Windows 8 phone App einbinden würde..

Dazu mache ich folgendes:
Add->Service-reference in VS 2013

die Methoden der wsdl werden mir in der Add form auch angezeigt.

Nach dem hinzufügen des services müsste ich eigentlich wie folgt vorgehen (so wie ich das sehe):

ServiceReference1.MyServiceClient myProxy = new ServiceReference1.MyServiceClient();

myProxy.myServiceMethod();

Allerdings findet VS die Methoden der wsdl hier nicht mehr ( also die MyServiceMethod )

was mach ich hier falsch ?

inek Themenstarter:in
182 Beiträge seit 2007
vor 10 Jahren

So hab das Problem gelöst.. es lag an der asynchronen Nutzung in windows Phone apps

Anscheinend muss in der wsdl das binding den style document haben


<soap:binding style="document"...

und im body muss literal statt encoded genutzt erden

<soap:body use="literal"/>

kann die wsdl jetzt anständig einbinden. nun habe ich aber ein neues Problem:

als response soll ein array mit strings zurückgegeben werden.
Das wird in der wsdl als complextype definiert


<types>
  <xs:complexType name='CityList'>
    <xs:element
      minOccurs='0'
      maxOccurs='unbounded'
      name='staffname'
      type='City'/>
  </xs:complexType>
  
  <xs:complexType name='City'>
    <xs:all>
      <xs:element
        minOccurs='0'
        maxOccurs='1'
        name='staffname'
        type='xs:string'/>
    </xs:all>
  </xs:complexType>

</types>  

auch das kann ich aktuell in c# nicht nutzen.
hier die Fehlermeldung:

System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation 'GetCitys'. ---> System.InvalidOperationException: There is an error in XML document (2, 148). ---> System.InvalidOperationException: The ReadContentAsString method is not supported on node type Element. If you want to read typed content of an element, use the ReadElementContentAs method.

Dazu jemand ne idee ?