Michał Winciorek

Programista

Wypowiedzi

  • Michał Winciorek
    Wpis na grupie Programiści .NET w temacie SOAP Header c# - WebService napisany w php
    6.05.2012, 00:38

    Zrobiłem za pomocą SoapExtension, tam też są metody dzięki którym można wstrzelić się po/przed serializacją/deserializacja.
    Jeszcze raz dziękuje za pomoc.

  • Michał Winciorek
    Wpis na grupie Programiści .NET w temacie SOAP Header c# - WebService napisany w php
    4.05.2012, 07:06

    Twoje podpowiedzi są "na wagę złota" ale problem też w tym, że jestem jeszcze trochę "zielony" i
    nie bardzo wiem gdzie dokładnie wpisać się z kodem. Poszukałem trochę o OnSerializingAttribute itd, wiem co mogę zrobić za ich pomocą ale nie wiem "gdzie". Czy mogę wykorzystać to co już mam (na podstawie wsdl) czy trzeba wszystko pisać od nowa?

    Mam coś takiego:
    W kodzie wygenerowanym na podstawie wsdl przed metodą, którą chcę użyć wstawiam atrybut;
    [SoapHeader("myHeader", Direction= SoapHeaderDirection.In)]

    w tej metodzie przed Invoke mam:
    myHeader = new KeySoapHeader();
    myHeader.authenticate = "klucz";

    gdzie KeySoapHeader to klasa dziedzicząca z SoapHeader.

    Nie bardzo wiem jak ominąć to aby w nagłówku nie było tagu o nazwie klasy tzn. <types:KeySoapHeader>
    Z góry dziękuje.

  • Michał Winciorek
    Wpis na grupie Programiści .NET w temacie SOAP Header c# - WebService napisany w php
    3.05.2012, 11:51

    Dzięki za wskazówkę.
    Dodałem ten nagłówek i wartość o jaką chodzi jednak pojawił się inny problem. Po stronie php oczekiwane jest coś takiego: <env:Header><ns2:authenticate>wartosc_klucza</ns2:authenticate></env:Header> a ode mnie wychodzi tak:
    <soap:Header><types:KeySoapHeader id="h_id1"><authenticate xsi:type="xsd:string">wartosc_klucza</authenticate></types:KeySoapHeader></soap:Header>.
    Wartości klucza są takie same jednak u mnie tag <authenticate> został obudowany tagiem o nazwie klasy, która dziedziczy z SoapHeader tzn. KeySoapHeader i php tego nie obsługuje.
    I teraz moje pytanie, jak to obejść aby wychodziło tak jak trzeba, lub ew. jak zmienić ten WebService po stronie php, choć rozmawiałem z jego twórcą i to też nie będzie proste.

  • Michał Winciorek
    Wpis na grupie Programiści .NET w temacie SOAP Header c# - WebService napisany w php
    1.05.2012, 12:15

    Witam,

    Mam następujący problem. Chciałbym w aplikacji WinForms (c#, VS 2010) użyć WebServisu napisanego w PHP. Mam plik wsdl, widzę metody jakie udostępnia WebSerwice. Dodałem sobie Web Reference, podałem adres pliku wsdl i wszystko jest dobrze, no może prawie. Problem jest taki, że do uwierzytelniania w tym WS trzeba podać klucz w nagłówku Soap. Nie login i hasło ale określony klucz (wartość alfanumeryczna). Aby użyć metod z WS trzeba podać ten klucz. I teraz jak przekazać ten klucz do nagłówka SOAP w przesyłanej wiadomości?
    Wielkie DZIĘKI za jakieś sugestie!!

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do