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 ?
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 ?