Witam,
próbuję stworzyć prostego klienta usługi WebService udsotępnionej przez zewnętrznego dostawcę, dodałem usługę w WebReferences i usługa jest widoczna, problem pojawia się kiedy próbuję sprawdzić działanie i wywołac prostą operację zalogowania. Sprawdziłem w aplikacji SOAPUI i usługa działa po dodaniu obsługi WS-Addressing w nagłówku żądania, w SOAPUI zrobiłem to ręcznie, natomiast pytanie jak zaimplementowac WS-Addresing w C# (Visual Studio 2010)? Znalazłem informacje nt. AddressingVersion, ale nie wiem czy to dobry kierunek i jak to ugryźć żeby działało. Poniżej prosty kod aplikacji do łączenia z usługą i xml żądania z dodanym WS-Addressing (linie 2,3,4)
aplikacja
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using REGONService.pl.gov.stat.wyszukiwarkaregontest;
//using System.ServiceModel.Channels;
namespace REGONService
{
class Program
{
static void Main(string[] args)
{
String sid;
String key;
UslugaBIRzewnPubl webService = new UslugaBIRzewnPubl();
key = "abcde12345abcde12345";
sid = webService.Zaloguj(key);
//Console.WriteLine(webService.Zaloguj(key));
}
}
}
xml żądania
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="http://CIS/BIR/PUBL/2014/07">
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To>https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc</wsa:To>
</soap:Header>
<soap:Body>
<ns:Zaloguj>
<!--Optional:-->
<ns:pKluczUzytkownika>abcde12345abcde12345</ns:pKluczUzytkownika>
</ns:Zaloguj>
</soap:Body>
</soap:Envelope>
Z góry dziękuję za pomoc.