

C# připojení k webové službě WSDL
Ahoj, zeptám se hloupě, mám tuhle službu:
PensionCalculator.ServiceReference1.AppServerPortTypeClient soap = new ServiceReference1.AppServerPortTypeClient();
soap.ClientCredentials.UserName.UserName = "test";
soap.ClientCredentials.UserName.Password = "test";
// nyní zavolám metodu:
soap.RetiringDate_ex("demo", "demo", "05/05/1970", true, 3);
Tak to na posledním řádku spadne s hláškou:
Server vrátil neplatnou chybu SOAP. Další informace naleznete u třídy InnerException.
System.ServiceModel.CommunicationException: Server vrátil neplatnou chybu SOAP. Další informace naleznete u třídy InnerException. ---> System.Xml.XmlException: Byl očekáván počáteční element faultcode z oboru názvů . Byl nalezen element element soap:faultcode z oboru názvů envelope. Řádek 2, pozice 268.
v System.Xml.XmlExceptionHelper.ThrowXmlException(Xm lDictionaryReader reader, String res, String arg1, String arg2, String arg3)
v System.Xml.XmlDictionaryReader.MoveToStartElement( XmlDictionaryString localName, XmlDictionaryString namespaceUri)
v System.Xml.XmlDictionaryReader.ReadStartElement(Xm lDictionaryString localName, XmlDictionaryString namespaceUri)
v System.ServiceModel.Channels.ReceivedFault.CreateF ault11(XmlDictionaryReader reader, Int32 maxBufferSize)
Ví někdo, co to znamená, a co tam mám zjevně špatně?
Je to nedokumentovaná webservice.
Třídy pro tu službu jsou vygenerované správně? Nejsou třeba vygenerované pro jinou verzi služby?
Kde to prosím najdu?
Službu jsem vložil, jako url adresu v ADD service reference ve VS.
Normálně se mi tam zobrazily metody a všechno, ale když to zavolám tak to píše tohle.
Projekt je to Framework 4.5
A určitě jsi vložil správnou adresu? Taky je možné, že WSDL soubor neodpovídá skutečnosti. Taky je možné, že to prostě voláš špatně (což se ale bez dokumentace sotva dozvíš).
chybove hlasky po cesky
... to sa potom krasne hlada na nete riesenie :)
Daj sem aj vypis tej inner exception.
Kdyby jsi sem dal url WSDL, mohl bych zkusit vygenerovat třídy v jiném prostředí (Intersystems Caché) a zkusit přesně Tvé volání.
Neodvážím se ale předpovědět, jestli bych něčemu pomohl.
Dobré, problém byl ve formátu datumu.
Formát to používá yyyy-MM-DD
Čuchej Rexi.....
WSDL pouziva format XMLDate. Ten datovy typ, definovany interfacem sluzby ma metody na konverzi z normalniho datumu