Łączenie się z WebService SEAP w PUESC

Łączenie się z WebService SEAP w PUESC
DA
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 2 lata
  • Postów:30
0

Założyłem konto na Platformie Usług Elektronicznych Skrabowo - Celnych pod adresem https://puesc.gov.pl/. W MS Visual Studio 2012 stworzyłem projekt który ma łączyć się ze środowiskiem testowym SEAP pod adresem https://wstest.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort?wsdl. Dokumentacja znajduje się pod adresem https://puesc.gov.pl/web/puesc/ecip/seap. Specyfikacja SEAP jest pod adresem https://puesc.gov.pl/documents/10180/61518695/Specyfikacja_XML_dla_Systemow_Zewnetrznych/88d570ba-9954-49b0-afd1-519c54e0e3a9?version=1.0. Pliki WSDL są pod adresem. https://puesc.gov.pl/documents/10180/61518695/za%C5%82%C4%85czniki_do_specyfikacji_technicznej.zip/d6d5698f-bea7-4b42-aa93-b838a84c3ab5?version=1.0. Napisałem poniższy kod:

Kopiuj
string endPointAddres = "https://wstest.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort?wsdl";
AcceptDocumentRequest acceptDocumentRequest = new AcceptDocumentRequest();
acceptDocumentRequest.document = new documentType();
acceptDocumentRequest.document.content = new contentType();
acceptDocumentRequest.document.content.filename = "plik.pdf";
acceptDocumentRequest.document.content.mime = mimeType.applicationpdf;
acceptDocumentRequest.document.content.Value = new byte[] { 0x20, 0x20 };
AcceptDocumentResponse acceptDocumentResponse;

var binding = new BasicHttpBinding() { MaxReceivedMessageSize = 2147483647 };
var endpoint = new EndpointAddress(endPointAddres);

using (DocumentHandlingPortClient client = new DocumentHandlingPortClient(binding, endpoint))
{
    acceptDocumentResponse = client.AcceptDocument(acceptDocumentRequest);
}

Po wykonaniu tego kodu pokazuje się błąd jak w załączniku zrzut9.jpg. Jeśli nie ustawie w konstruktorze obiektu client obiektów binding i endpoint pojawia się błąd jak w załączniku zrzut10.jpg. Jak naprawić błąd połączenia ? Jaki kod trzeba wstawić żeby się zalogować przy użyciu loginu i hasła z PUESC ? Jaki powinien być adres w obiekcie endPointAddress bo podany został adres WSDL ?

edytowany 1x, ostatnio: Riddle
abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:9 miesięcy
  • Postów:6610
0

Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
DA
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 2 lata
  • Postów:30
0

Poprawiłem kod:

Kopiuj
AcceptDocumentRequest acceptDocumentRequest = new AcceptDocumentRequest();
acceptDocumentRequest.document = new documentType();
acceptDocumentRequest.document.content = new contentType();
acceptDocumentRequest.document.content.filename = "plik.pdf";
acceptDocumentRequest.document.content.mime = mimeType.applicationpdf;
acceptDocumentRequest.document.content.Value = new byte[] { 0x20, 0x20 };
AcceptDocumentResponse acceptDocumentResponse;
var binding = new BasicHttpBinding() { MaxReceivedMessageSize = 2147483647 };
binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;

var endpoint = new EndpointAddress(endPointAddres);

using (DocumentHandlingPortClient client = new DocumentHandlingPortClient(binding, endpoint))
{
     client.ClientCredentials.UserName.UserName = "************";
     client.ClientCredentials.UserName.Password = "************";
     acceptDocumentResponse = client.AcceptDocument(acceptDocumentRequest);
}

Po wykonaniu kodu pokazuje błąd jak w załączniku zrzut11.jpg. W google pod adresem https://www.google.pl/?gws_rd=ssl#q=c%23+obiektu+komunikacyjnego+system.servicemodel.channels.servicechannel+nie+mo%C5%BCna+u%C5%BCywa%C4%87+do+komunikacji,+poniewa%C5%BC+jest+w+stanie+faulted jest mało informacji. Jaki kod trzeba dodać żeby naprawić błąd ?

edytowany 1x, ostatnio: Riddle
DA
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 2 lata
  • Postów:30
0

Poprawiłem kod:

Kopiuj
string endPointAddres = "https://wstest.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort?wsdl";
public void SendToSeap()
{
            byte[] byteArray;

            try
            {
                SENT_100 message = new SENT_100
                {
                    Comments = "Komentarz",
                    DocumentId = "10",
                    GoodsSender = new Trader
                    {
                        TraderAddress = new Address
                        {
                            City = "Olsztyn",
                            Country = "Polska",
                            Street = "Dworcowa",
                            HouseNumber = "20",
                            FlatNumber = "5",
                            PostalCode = "12-100"
                        },
                        TraderInfo = new TraderInfo { IdSisc = "2", TraderIdentityNumber = "8", TraderIdentityType = TraderIdentityType.VATUE, TraderName = "Nazwa 1" }
                    },
                    GoodsRecipient = new Trader
                    {
                        TraderAddress = new Address
                        {
                            City = "Gdańsk",
                            Country = "Polska",
                            Street = "Grunwaldzka",
                            HouseNumber = "50",
                            FlatNumber = "2",
                            PostalCode = "20-300"
                        },
                        TraderInfo = new TraderInfo { IdSisc = "4", TraderIdentityNumber = "12", TraderIdentityType = TraderIdentityType.NIP, TraderName = "Nazwa 2" }
                    },
                    Transport = new TransportSender
                    {
                        PlaceOfLoading = new AddressPL
                        {
                            City = "Kraków",
                            Country = CountryPL.PL,
                            Street = "Limanowskiego",
                            HouseNumber = "100",
                            FlatNumber = "9",
                            PostalCode = "40-500"
                        },
                        PlannedStartCarriageDate = new DateTime(2008, 8, 20)
                    },
                    GoodsInformation = new GoodsInformationForTrader
                    {
                        AmountOfGoods = 1000,
                        CodeCnClassification = "Code-CN20",
                        CodePkwiuClassification = "20506",
                        GoodsName = "Paliwo",
                        UnitOfMeasure = "litr",
                        GrossWeightOfGoods = 50,
                        GrossWeightOfGoodsSpecified = true
                    },
                    ResponseAddress = new ResponseAddress
                    {
                        EmailChannel = new EmailChannel
                        {
                            EmailAddress1 = "localhost1@localhost.pl",
                            EmailAddress2 = "localhost2@localhost.pl",
                            EmailAddress3 = "localhost3@localhost.pl"
                        },
                        WebServiceChannel = new WebServiceChannel
                        {
                            AuthenticationKey = "klucz",
                            UrlAddress = "http://www.localhost.pl",
                            Username = "login",
                            UserPassword = "pass",
                            WsFromSISC = true
                        }
                    },
                    Statements = new Statements
                    {
                        FirstName = "Jan",
                        LastName = "Kowalski",
                        Statement1 = true
                    }
                };
                XmlSerializer serializer = new XmlSerializer(typeof(SENT_100));
                using (MemoryStream ms = new MemoryStream())
                {
                    using (StreamWriter streamWriter = new StreamWriter(ms, Encoding.UTF8))
                    {
                        serializer.Serialize(streamWriter, message);
                        byteArray = ms.ToArray();
                        XmlMessageString = Encoding.UTF8.GetString(byteArray);
                    }
                }

                AcceptDocumentRequest acceptDocumentRequest = new AcceptDocumentRequest();
                AcceptDocumentRequest1 acceptDocumentRequest1 = new AcceptDocumentRequest1();
                acceptDocumentRequest.document = new documentType();
                acceptDocumentRequest.document.content = new contentType();
                acceptDocumentRequest.document.content.filename = "komunikat.xml";
                acceptDocumentRequest.document.content.mime = mimeType.applicationxml;
                acceptDocumentRequest.document.content.Value = byteArray;
                acceptDocumentRequest.document.targetSystems = new systemType[] { systemType.SENT };
                acceptDocumentRequest1.AcceptDocumentRequest = acceptDocumentRequest;
                AcceptDocumentResponse acceptDocumentResponse;
                SecurityBindingElement securityElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
                securityElement.IncludeTimestamp = false;
                TextMessageEncodingBindingElement encodingElement = new TextMessageEncodingBindingElement(MessageVersion.Soap11, Encoding.UTF8);
                HttpsTransportBindingElement transportElement = new HttpsTransportBindingElement() { AuthenticationScheme = System.Net.AuthenticationSchemes.Digest };
                CustomBinding customBinding = new CustomBinding(securityElement, encodingElement, transportElement);
                var endpoint = new EndpointAddress(endPointAddres);
                DocumentHandlingPortClient client = new DocumentHandlingPortClient(customBinding, endpoint);
                client.ClientCredentials.UserName.UserName = userName;
                client.ClientCredentials.UserName.Password = pass;
                acceptDocumentResponse = client.AcceptDocument(acceptDocumentRequest);
                client.Close();
          }
         catch (Exception ex)
         {
                MessageBox.Show(ex.Message);
         }
}

Komunikat musi być w wersji SOAP 1.1. Komunikat SOAP powinien wyglądać następująco:

Kopiuj
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <s:Header>
        <a:Action s:mustUnderstand="1">AcceptDocument</a:Action>
        <a:MessageID>urn:uuid:86dacc53-f521-4f7f-a2f8-27cdd1ff361f</a:MessageID>
        <a:ReplyTo>
            <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
        </a:ReplyTo>
        <a:To s:mustUnderstand="1">https://wstest.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort</a:To>
        <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <o:UsernameToken u:Id="uuid-12e35a5f-961c-4127-9f88-05240a23392b-31389" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <o:Username>??????????????????</o:Username>
                <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">nw4g7zD6Seh47N5G5NDhZ0BcGN8=</o:Password>
                <o:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">cWP9wiAeAGJlv2Rldu5Jng==</o:Nonce>
                <u:Created>2017-06-02T12:02:30Z</u:Created>
            </o:UsernameToken>
        </o:Security>
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <AcceptDocumentRequest xmlns="http://www.mf.gov.pl/uslugiBiznesowe/WsPull/Usluga/2014/01_v2_0">
            <document xmlns="http://www.mf.gov.pl/schematy/SISC/WsChannel/2014/01_v2_0">
                <content filename="??????????????????.xml" mime="application/xml">??????????????????==</content>
                <targetSystems>
                    <system>??????????????????</system>
                </targetSystems>
            </document>
        </AcceptDocumentRequest>
    </s:Body>
</s:Envelope>

Komunikat SOAP faktycznie wysyłany wygląda następująco:

Kopiuj
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
	<s:Header>
		<VsDebuggerCausalityData xmlns="http://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink">uIDPo4VHQlipRgZBuqIbJiI9D18AAAAAnnLr3omqRU64PkQQg4CO61e/fXWDnthHsKw7zs/Fkx4ACQAA</VsDebuggerCausalityData>
		<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
			<o:UsernameToken u:Id="uuid-87bf3b0c-613b-47d0-9b14-76da8901c80e-1">
				<o:Username>********************</o:Username>
				<o:Password>********************</o:Password>
			</o:UsernameToken>
		</o:Security>
	</s:Header>
	<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
		<AcceptDocumentRequest xmlns="http://www.mf.gov.pl/uslugiBiznesowe/WsPull/Usluga/2014/01_v2_0">
			<document xmlns="http://www.mf.gov.pl/schematy/SISC/WsChannel/2014/01_v2_0">
				<content filename="komunikat.xml" mime="application/xml">77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxTRU5UXzEwMCB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NFTlRfMTAwLnhzZCI+DQogIDxHb29kc1NlbmRlcj4NCiAgICA8VHJhZGVySW5mbyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPElkU2lzYz4yPC9JZFNpc2M+DQogICAgICA8VHJhZGVyTmFtZT5OYXp3YSAxPC9UcmFkZXJOYW1lPg0KICAgICAgPFRyYWRlcklkZW50aXR5VHlwZT5WQVQgVUU8L1RyYWRlcklkZW50aXR5VHlwZT4NCiAgICAgIDxUcmFkZXJJZGVudGl0eU51bWJlcj44PC9UcmFkZXJJZGVudGl0eU51bWJlcj4NCiAgICA8L1RyYWRlckluZm8+DQogICAgPFRyYWRlckFkZHJlc3MgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxTdHJlZXQ+RHdvcmNvd2E8L1N0cmVldD4NCiAgICAgIDxIb3VzZU51bWJlcj4yMDwvSG91c2VOdW1iZXI+DQogICAgICA8RmxhdE51bWJlcj41PC9GbGF0TnVtYmVyPg0KICAgICAgPENpdHk+T2xzenR5bjwvQ2l0eT4NCiAgICAgIDxDb3VudHJ5PlBvbHNrYTwvQ291bnRyeT4NCiAgICAgIDxQb3N0YWxDb2RlPjEyLTEwMDwvUG9zdGFsQ29kZT4NCiAgICA8L1RyYWRlckFkZHJlc3M+DQogIDwvR29vZHNTZW5kZXI+DQogIDxHb29kc1JlY2lwaWVudD4NCiAgICA8VHJhZGVySW5mbyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPElkU2lzYz40PC9JZFNpc2M+DQogICAgICA8VHJhZGVyTmFtZT5OYXp3YSAyPC9UcmFkZXJOYW1lPg0KICAgICAgPFRyYWRlcklkZW50aXR5VHlwZT5OSVA8L1RyYWRlcklkZW50aXR5VHlwZT4NCiAgICAgIDxUcmFkZXJJZGVudGl0eU51bWJlcj4xMjwvVHJhZGVySWRlbnRpdHlOdW1iZXI+DQogICAgPC9UcmFkZXJJbmZvPg0KICAgIDxUcmFkZXJBZGRyZXNzIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+DQogICAgICA8U3RyZWV0PkdydW53YWxkemthPC9TdHJlZXQ+DQogICAgICA8SG91c2VOdW1iZXI+NTA8L0hvdXNlTnVtYmVyPg0KICAgICAgPEZsYXROdW1iZXI+MjwvRmxhdE51bWJlcj4NCiAgICAgIDxDaXR5PkdkYcWEc2s8L0NpdHk+DQogICAgICA8Q291bnRyeT5Qb2xza2E8L0NvdW50cnk+DQogICAgICA8UG9zdGFsQ29kZT4yMC0zMDA8L1Bvc3RhbENvZGU+DQogICAgPC9UcmFkZXJBZGRyZXNzPg0KICA8L0dvb2RzUmVjaXBpZW50Pg0KICA8VHJhbnNwb3J0Pg0KICAgIDxQbGFjZU9mTG9hZGluZyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPFN0cmVldD5MaW1hbm93c2tpZWdvPC9TdHJlZXQ+DQogICAgICA8SG91c2VOdW1iZXI+MTAwPC9Ib3VzZU51bWJlcj4NCiAgICAgIDxGbGF0TnVtYmVyPjk8L0ZsYXROdW1iZXI+DQogICAgICA8Q2l0eT5LcmFrw7N3PC9DaXR5Pg0KICAgICAgPENvdW50cnk+UEw8L0NvdW50cnk+DQogICAgICA8UG9zdGFsQ29kZT40MC01MDA8L1Bvc3RhbENvZGU+DQogICAgPC9QbGFjZU9mTG9hZGluZz4NCiAgICA8UGxhbm5lZFN0YXJ0Q2FycmlhZ2VEYXRlIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+MjAwOC0wOC0yMDwvUGxhbm5lZFN0YXJ0Q2FycmlhZ2VEYXRlPg0KICA8L1RyYW5zcG9ydD4NCiAgPEdvb2RzSW5mb3JtYXRpb24+DQogICAgPENvZGVDbkNsYXNzaWZpY2F0aW9uIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+Q29kZS1DTjIwPC9Db2RlQ25DbGFzc2lmaWNhdGlvbj4NCiAgICA8Q29kZVBrd2l1Q2xhc3NpZmljYXRpb24geG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4yMDUwNjwvQ29kZVBrd2l1Q2xhc3NpZmljYXRpb24+DQogICAgPEdvb2RzTmFtZSB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPlBhbGl3bzwvR29vZHNOYW1lPg0KICAgIDxBbW91bnRPZkdvb2RzIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+MTAwMDwvQW1vdW50T2ZHb29kcz4NCiAgICA8VW5pdE9mTWVhc3VyZSB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPmxpdHI8L1VuaXRPZk1lYXN1cmU+DQogICAgPEdyb3NzV2VpZ2h0T2ZHb29kcyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPjUwPC9Hcm9zc1dlaWdodE9mR29vZHM+DQogIDwvR29vZHNJbmZvcm1hdGlvbj4NCiAgPENvbW1lbnRzPktvbWVudGFyejwvQ29tbWVudHM+DQogIDxEb2N1bWVudElkPjEwPC9Eb2N1bWVudElkPg0KICA8UmVzcG9uc2VBZGRyZXNzPg0KICAgIDxFbWFpbENoYW5uZWwgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxFbWFpbEFkZHJlc3MxPmxvY2FsaG9zdDFAbG9jYWxob3N0LnBsPC9FbWFpbEFkZHJlc3MxPg0KICAgICAgPEVtYWlsQWRkcmVzczI+bG9jYWxob3N0MkBsb2NhbGhvc3QucGw8L0VtYWlsQWRkcmVzczI+DQogICAgICA8RW1haWxBZGRyZXNzMz5sb2NhbGhvc3QzQGxvY2FsaG9zdC5wbDwvRW1haWxBZGRyZXNzMz4NCiAgICA8L0VtYWlsQ2hhbm5lbD4NCiAgICA8V2ViU2VydmljZUNoYW5uZWwgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxXc0Zyb21TSVNDPnRydWU8L1dzRnJvbVNJU0M+DQogICAgICA8VXJsQWRkcmVzcz5odHRwOi8vd3d3LmxvY2FsaG9zdC5wbDwvVXJsQWRkcmVzcz4NCiAgICAgIDxVc2VybmFtZT5sb2dpbjwvVXNlcm5hbWU+DQogICAgICA8VXNlclBhc3N3b3JkPnBhc3M8L1VzZXJQYXNzd29yZD4NCiAgICAgIDxBdXRoZW50aWNhdGlvbktleT5rbHVjejwvQXV0aGVudGljYXRpb25LZXk+DQogICAgPC9XZWJTZXJ2aWNlQ2hhbm5lbD4NCiAgPC9SZXNwb25zZUFkZHJlc3M+DQogIDxTdGF0ZW1lbnRzPg0KICAgIDxTdGF0ZW1lbnQxIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+dHJ1ZTwvU3RhdGVtZW50MT4NCiAgICA8Rmlyc3ROYW1lIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+SmFuPC9GaXJzdE5hbWU+DQogICAgPExhc3ROYW1lIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+S293YWxza2k8L0xhc3ROYW1lPg0KICA8L1N0YXRlbWVudHM+DQo8L1NFTlRfMTAwPg==</content>
				<targetSystems>
					<system>SENT</system>
				</targetSystems>
			</document>
		</AcceptDocumentRequest>
	</s:Body>
</s:Envelope>

Pokazuje mi błąd w załączniku zrzut22.jpg. Jeśli użyje w obiekcie klasy CustomBinding obiektu klasy BasicHttpBinding w następujący sposób:

Kopiuj
var binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Digest;
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
CustomBinding customBinding = new CustomBinding(binding);

to pokazuje błąd w załączniku zrzut21.jpg i w parametrze InnerException wyjątku jest błąd "The security token could not be authenticated or authorized". Wówczas komunikat SOAP wygląda następujaco:

Kopiuj
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
	<s:Header>
		<VsDebuggerCausalityData xmlns="http://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink">uIDPo/PyMZ+h+dFHl+9Ur59qQn8AAAAAxWBC8Im6YUO0oyrRcEDLD+meq1olOqhNjrO0T0D3na0ACQAA</VsDebuggerCausalityData>
		<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
			<u:Timestamp u:Id="_0">
				<u:Created>2017-06-07T14:09:13.221Z</u:Created>
				<u:Expires>2017-06-07T14:14:13.221Z</u:Expires>
			</u:Timestamp>
			<o:UsernameToken u:Id="uuid-bdab954e-e92e-4e92-8278-b69e4cfa7e32-1">
				<o:Username>***********************</o:Username>
				<o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">*******************</o:Password>
			</o:UsernameToken>
		</o:Security>
	</s:Header>
	<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
		<AcceptDocumentRequest xmlns="http://www.mf.gov.pl/uslugiBiznesowe/WsPull/Usluga/2014/01_v2_0">
			<document xmlns="http://www.mf.gov.pl/schematy/SISC/WsChannel/2014/01_v2_0"><content filename="komunikat.xml" mime="application/xml">77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxTRU5UXzEwMCB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NFTlRfMTAwLnhzZCI+DQogIDxHb29kc1NlbmRlcj4NCiAgICA8VHJhZGVySW5mbyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPElkU2lzYz4yPC9JZFNpc2M+DQogICAgICA8VHJhZGVyTmFtZT5OYXp3YSAxPC9UcmFkZXJOYW1lPg0KICAgICAgPFRyYWRlcklkZW50aXR5VHlwZT5WQVQgVUU8L1RyYWRlcklkZW50aXR5VHlwZT4NCiAgICAgIDxUcmFkZXJJZGVudGl0eU51bWJlcj44PC9UcmFkZXJJZGVudGl0eU51bWJlcj4NCiAgICA8L1RyYWRlckluZm8+DQogICAgPFRyYWRlckFkZHJlc3MgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxTdHJlZXQ+RHdvcmNvd2E8L1N0cmVldD4NCiAgICAgIDxIb3VzZU51bWJlcj4yMDwvSG91c2VOdW1iZXI+DQogICAgICA8RmxhdE51bWJlcj41PC9GbGF0TnVtYmVyPg0KICAgICAgPENpdHk+T2xzenR5bjwvQ2l0eT4NCiAgICAgIDxDb3VudHJ5PlBvbHNrYTwvQ291bnRyeT4NCiAgICAgIDxQb3N0YWxDb2RlPjEyLTEwMDwvUG9zdGFsQ29kZT4NCiAgICA8L1RyYWRlckFkZHJlc3M+DQogIDwvR29vZHNTZW5kZXI+DQogIDxHb29kc1JlY2lwaWVudD4NCiAgICA8VHJhZGVySW5mbyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPElkU2lzYz40PC9JZFNpc2M+DQogICAgICA8VHJhZGVyTmFtZT5OYXp3YSAyPC9UcmFkZXJOYW1lPg0KICAgICAgPFRyYWRlcklkZW50aXR5VHlwZT5OSVA8L1RyYWRlcklkZW50aXR5VHlwZT4NCiAgICAgIDxUcmFkZXJJZGVudGl0eU51bWJlcj4xMjwvVHJhZGVySWRlbnRpdHlOdW1iZXI+DQogICAgPC9UcmFkZXJJbmZvPg0KICAgIDxUcmFkZXJBZGRyZXNzIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+DQogICAgICA8U3RyZWV0PkdydW53YWxkemthPC9TdHJlZXQ+DQogICAgICA8SG91c2VOdW1iZXI+NTA8L0hvdXNlTnVtYmVyPg0KICAgICAgPEZsYXROdW1iZXI+MjwvRmxhdE51bWJlcj4NCiAgICAgIDxDaXR5PkdkYcWEc2s8L0NpdHk+DQogICAgICA8Q291bnRyeT5Qb2xza2E8L0NvdW50cnk+DQogICAgICA8UG9zdGFsQ29kZT4yMC0zMDA8L1Bvc3RhbENvZGU+DQogICAgPC9UcmFkZXJBZGRyZXNzPg0KICA8L0dvb2RzUmVjaXBpZW50Pg0KICA8VHJhbnNwb3J0Pg0KICAgIDxQbGFjZU9mTG9hZGluZyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPg0KICAgICAgPFN0cmVldD5MaW1hbm93c2tpZWdvPC9TdHJlZXQ+DQogICAgICA8SG91c2VOdW1iZXI+MTAwPC9Ib3VzZU51bWJlcj4NCiAgICAgIDxGbGF0TnVtYmVyPjk8L0ZsYXROdW1iZXI+DQogICAgICA8Q2l0eT5LcmFrw7N3PC9DaXR5Pg0KICAgICAgPENvdW50cnk+UEw8L0NvdW50cnk+DQogICAgICA8UG9zdGFsQ29kZT40MC01MDA8L1Bvc3RhbENvZGU+DQogICAgPC9QbGFjZU9mTG9hZGluZz4NCiAgICA8UGxhbm5lZFN0YXJ0Q2FycmlhZ2VEYXRlIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+MjAwOC0wOC0yMDwvUGxhbm5lZFN0YXJ0Q2FycmlhZ2VEYXRlPg0KICA8L1RyYW5zcG9ydD4NCiAgPEdvb2RzSW5mb3JtYXRpb24+DQogICAgPENvZGVDbkNsYXNzaWZpY2F0aW9uIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+Q29kZS1DTjIwPC9Db2RlQ25DbGFzc2lmaWNhdGlvbj4NCiAgICA8Q29kZVBrd2l1Q2xhc3NpZmljYXRpb24geG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4yMDUwNjwvQ29kZVBrd2l1Q2xhc3NpZmljYXRpb24+DQogICAgPEdvb2RzTmFtZSB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPlBhbGl3bzwvR29vZHNOYW1lPg0KICAgIDxBbW91bnRPZkdvb2RzIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+MTAwMDwvQW1vdW50T2ZHb29kcz4NCiAgICA8VW5pdE9mTWVhc3VyZSB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPmxpdHI8L1VuaXRPZk1lYXN1cmU+DQogICAgPEdyb3NzV2VpZ2h0T2ZHb29kcyB4bWxucz0iaHR0cDovL3d3dy5tZi5nb3YucGwvU0VOVC8yMDE3LzAxLzE4L1NUeXBlcy54c2QiPjUwPC9Hcm9zc1dlaWdodE9mR29vZHM+DQogIDwvR29vZHNJbmZvcm1hdGlvbj4NCiAgPENvbW1lbnRzPktvbWVudGFyejwvQ29tbWVudHM+DQogIDxEb2N1bWVudElkPjEwPC9Eb2N1bWVudElkPg0KICA8UmVzcG9uc2VBZGRyZXNzPg0KICAgIDxFbWFpbENoYW5uZWwgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxFbWFpbEFkZHJlc3MxPmxvY2FsaG9zdDFAbG9jYWxob3N0LnBsPC9FbWFpbEFkZHJlc3MxPg0KICAgICAgPEVtYWlsQWRkcmVzczI+bG9jYWxob3N0MkBsb2NhbGhvc3QucGw8L0VtYWlsQWRkcmVzczI+DQogICAgICA8RW1haWxBZGRyZXNzMz5sb2NhbGhvc3QzQGxvY2FsaG9zdC5wbDwvRW1haWxBZGRyZXNzMz4NCiAgICA8L0VtYWlsQ2hhbm5lbD4NCiAgICA8V2ViU2VydmljZUNoYW5uZWwgeG1sbnM9Imh0dHA6Ly93d3cubWYuZ292LnBsL1NFTlQvMjAxNy8wMS8xOC9TVHlwZXMueHNkIj4NCiAgICAgIDxXc0Zyb21TSVNDPnRydWU8L1dzRnJvbVNJU0M+DQogICAgICA8VXJsQWRkcmVzcz5odHRwOi8vd3d3LmxvY2FsaG9zdC5wbDwvVXJsQWRkcmVzcz4NCiAgICAgIDxVc2VybmFtZT5sb2dpbjwvVXNlcm5hbWU+DQogICAgICA8VXNlclBhc3N3b3JkPnBhc3M8L1VzZXJQYXNzd29yZD4NCiAgICAgIDxBdXRoZW50aWNhdGlvbktleT5rbHVjejwvQXV0aGVudGljYXRpb25LZXk+DQogICAgPC9XZWJTZXJ2aWNlQ2hhbm5lbD4NCiAgPC9SZXNwb25zZUFkZHJlc3M+DQogIDxTdGF0ZW1lbnRzPg0KICAgIDxTdGF0ZW1lbnQxIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+dHJ1ZTwvU3RhdGVtZW50MT4NCiAgICA8Rmlyc3ROYW1lIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+SmFuPC9GaXJzdE5hbWU+DQogICAgPExhc3ROYW1lIHhtbG5zPSJodHRwOi8vd3d3Lm1mLmdvdi5wbC9TRU5ULzIwMTcvMDEvMTgvU1R5cGVzLnhzZCI+S293YWxza2k8L0xhc3ROYW1lPg0KICA8L1N0YXRlbWVudHM+DQo8L1NFTlRfMTAwPg==</content>
			<targetSystems>
				<system>SENT</system>
			</targetSystems>
			</document>
		</AcceptDocumentRequest>
	</s:Body>
</s:Envelope>

Którą metodą robić z obiektem klasy CustomBinding bez obiektu klasy BasicHttpBinding czy z tym obiektem ? Jak naprawić błędy związane z tokenem ?

edytowany 2x, ostatnio: Riddle
S1
Znalazłem ten kod i próbowałem skorzystać do połączenia z WebService SEAP w PUESC. Ale niestety nie mogę sobie z tym poradzić. Cały czas jest błąd związany z nieprawidłową autoryzacją. Wielka prośba o pomoc.
PR
  • Rejestracja:prawie 14 lat
  • Ostatnio:11 miesięcy
  • Postów:17
1

udało się ogarnąć temat? Obecnie mam podobny problem dostaje wyjątek: "Odebrano niezabezpieczony lub nieprawidłowo zabezpieczony błąd od drugiej strony. Kod i szczegóły błędu można uzyskać w wewnętrznym wyjątku FaultException."

KA
a co jest w wewnętrznym wyjątku?
J4
  • Rejestracja:ponad 2 lata
  • Ostatnio:ponad rok
  • Postów:1
0

Poruszę temat ponownie, czy udało się do dziś komuś połączyć z serwisem i mógłby pomóc?

API podłączam jako connected service w VS Studio i mam kod:

Kopiuj
string endPointAddres = "https://te-ws.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort?wsdl";

CustomBinding customBinding = new CustomBinding();

TextMessageEncodingBindingElement encoding = new TextMessageEncodingBindingElement(MessageVersion.Soap11, Encoding.UTF8);
customBinding.Elements.Add(encoding);

var transport = new HttpsTransportBindingElement();
transport.AuthenticationScheme = System.Net.AuthenticationSchemes.Digest;
customBinding.Elements.Add(transport);

var endpoint = new EndpointAddress(endPointAddres);
DocumentHandlingPortClient client = new DocumentHandlingPortClient(customBinding, endpoint);

client.ClientCredentials.UserName.UserName = "xxxxx";
client.ClientCredentials.UserName.Password = "xxxxx";

var acceptDocumentResponse = client.AcceptDocument(new AcceptDocumentRequest());

client.Close();

Serwis zwraca błąd:

Kopiuj
System.ServiceModel.FaultException: 'A required header representing a Message Addressing Property is not present'

Dziękuje z góry.

edytowany 1x, ostatnio: Riddle
M9
Czy udało ci się rozwiązać ten problem?
GA
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 2 lata
  • Postów:2
0

generalnie powinieneś wysłać w żądaniu jeszcze te 2 parametry:

Kopiuj
<wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:[some-message-id]</wsa:MessageID>
<wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">AcceptDocument</wsa:Action>
edytowany 1x, ostatnio: Garoth
M9
  • Rejestracja:ponad 2 lata
  • Ostatnio:około rok
  • Postów:2
0

Czy udało się komuś połączyć z serwisem? Mam podobną sytuację jak janek49.

GA
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 2 lata
  • Postów:2
0

Mi działa, co prawda w PHP, ale działa. A podeślij proszę swój finalny XML.

Czy System.Net.AuthenticationSchemes.Digest implementuje DigestExt?

btw, dla mnie bardzo przydatnym było skonfigurowanie sobie do tego SoapUI, tam testowałem komunikację i sposób formułowania komunikatu i odwzorowałem to dzięki temu u siebie w projekcie.

Całkowity nagłówek powinien wyglądać jakoś w tym stylu:

Kopiuj
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
     <wsse:UsernameToken wsu:Id="UsernameToken-082EFF1F580E1692B416753295433961">
        <wsse:Username>username</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">S2TB7a5UiX6zlM94q6yG1gJYm6g=</wsse:Password>
        <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">UjvwFh5WiLlM8MFnzOYFhg==</wsse:Nonce>
        <wsu:Created>2023-02-02T09:19:03.395Z</wsu:Created>
     </wsse:UsernameToken>
  </wsse:Security>
  <wsa:Action>AcceptDocument</wsa:Action>
  <wsa:MessageID>uuid:801ca606-d052-4284-bba5-aa92e1681f0c</wsa:MessageID>
</soapenv:Header>

Dla konfiguracji w SoapUI:
screenshot-20230202102214.png

edytowany 4x, ostatnio: Riddle
M9
  • Rejestracja:ponad 2 lata
  • Ostatnio:około rok
  • Postów:2
0

Dzięki za pomoc, teraz pojawia mi się taki błąd: "A security error was encountered when verifying the message"
Request wygląda tak:

Kopiuj
<s:Envelope
    xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <s:Header>
        <MessageID>uuid:801ca606-d052-4284-bba5-aa92e1681f0c</MessageID>
        <Action>AcceptDocument</Action>
        <o:Security s:mustUnderstand="1"
            xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <o:UsernameToken u:Id="uuid-d92d29b4-9903-4c6f-9883-53479ad66e7a-1"
                xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <o:Username>xxxx</o:Username>
                <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#Digest">xxxxxxx</o:Password>
                <o:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">xxxxx</o:Nonce>
                <u:Created>2023-02-02T08:39:47.385Z</u:Created>
            </o:UsernameToken>
        </o:Security>
    </s:Header>
    <s:Body
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <AcceptDocumentRequest
            xmlns="http://www.mf.gov.pl/uslugiBiznesowe/WsPull/Usluga/2014/01_v2_0"/>
        </s:Body>
    </s:Envelope>

Nie wiesz co może być przyczyną?

edytowany 2x, ostatnio: Riddle
PZ
  • Rejestracja:ponad 3 lata
  • Ostatnio:6 miesięcy
  • Postów:7
0

Myślę ze z wykorzystaniem tych ambitnych bibliotek od Microsoftu do łączenia z webservice to się tego nie da zrobić. Jak zrobić logowanie w świetny sposób opisano tutaj : https://weblog.west-wind.com/posts/2012/nov/24/wcf-wssecurity-and-wse-nonce-authentication Radzę przeczytać komentarze sporo wnoszą.
Gość zrobił kawał dobrej roboty opisując wszystko. Sam mechanizm kodowania hasła można jeszcze znaleźć tu : https://stackoverflow.com/questions/25262909/c-sharp-encoding-wsse-security-password-digest-with-sha-1-and-base64-not-matchin

Problem tylko taki że jak wszystko połączyć do kupy to i tak nie działa bo bramka wymaga podania jeszcze takich znaczników :

Kopiuj
<wsa:Action>AcceptDocument</wsa:Action>
<wsa:MessageID> uuid:77ea1045-945d-4ef4-ad2d-480bd2be0cfe </wsa:MessageID>
<wsa:To>https://te-ws.puesc.gov.pl/seap_wsChannel/DocumentHandlingPort</wsa:To>

Zacząłem szukać jak to dodać i poległem. Okazuje się że to jest jakaś kosmiczna technologia jak zacząłem szukać to znajduje się tylko specyfikacja standardu gdzie na dwóch pierwszych stronach jest lista z imionami i nazwiskami twórców. Głównie pracownicy Microsoft, Sap, Oracle.
Darowałem dobie czytanie tego jak się znajdzie coś sensownego to rada jest taka żeby znowu nadpisać istniejące klasy ...
Darowałem sobie ponownie brnięcie w to. Na razie robię tak ze pod adresem : https://puesc.gov.pl/documents/20123/603192581/Specyfikacja+kana%C5%82%C3%B3w+direct+systemu+SENT.pdf/0451b842-3796-bb86-a9e4-9efcd4944737?t=1623413062935 jest specyfikacja jak wysłany komunikat powinien wyglądać. Tu jest przykład https://stackoverflow.com/questions/9482773/web-service-without-adding-a-reference jak wysłać komunikat przez http cały komunikat musi być zwykłym stringiem. Zobaczę czy zadziała jak połączę to wszystko do kupy :D

edytowany 1x, ostatnio: Riddle
S1
  • Rejestracja:7 miesięcy
  • Ostatnio:6 miesięcy
  • Postów:3
1

Witam, Znalazłem tutaj kod i próbowałem skorzystać do połączenia z WebService SEAP w PUESC. Ale niestety nie mogę sobie z tym poradzić. Cały czas jest błąd związany z nieprawidłową autoryzacją. Próbuję to ogarnąć w C#. Zastosowałem kod umieszczony w tym wątku, ale nie wiem nic poza tym. Przypuszczam, że należy dodać usernameToken do kodu. Ale nie wiem jak to zrobić. Szukałem i jedynie znalazłem ten post w tym temacie. PasswordDigest powinien być OK, zgodnie z formułą: Base64(SHA-1(Nonce + Created + Base64(SHA-1(Password)))). Jednak dostaję komunikat błędu: System.ServiceModel.FaultException: „A security error was encountered when verifying the message”. Wielka prośba o pomoc.

PZ
  • Rejestracja:ponad 3 lata
  • Ostatnio:6 miesięcy
  • Postów:7
0

Mnie udało się posklejać z tego co jest tutaj dostępne. To co opisał @Garoth było bardzo pomocne. Do tego te dwa linki które podałem wyżej i póki co działa. Choć pewnie nie powinno się tego tak robić i można jakoś lepiej. Co co UsernameToken to tak musisz go podać ja robię go tak :
string UsernameToken = Guid.NewGuid().ToString();

Jak potrzebny gotowiec w c# który nie jest napisany za najlepiej ale póki co działa to pisz na priv jakoś komercyjnie można się dogadać.

edytowany 1x, ostatnio: PawelZE
S1
Potrzebuję tego w celach nie komercyjnych. Liczyłem na koleżeńską pomoc.
S1
  • Rejestracja:7 miesięcy
  • Ostatnio:6 miesięcy
  • Postów:3
0

Nadal próbuję z połączeniem. Teraz mam komunikat: "Nierozpoznana wersja wiadomości." Może ktoś pomóc?

S1
  • Rejestracja:7 miesięcy
  • Ostatnio:6 miesięcy
  • Postów:3
0

Teraz taki komunikat. Ma ktoś jakiś pomysł co poprawić?

System.ServiceModel.ProtocolException
HResult=0x80131501
Message=Serwer zdalny zwrócił nieoczekiwaną odpowiedź: (407) authenticationrequired.

Podaję login i hasło.
Ale pewnie źle.

PZ
  • Rejestracja:ponad 3 lata
  • Ostatnio:6 miesięcy
  • Postów:7
0

Cześć.
Podpowiem jeszcze trochę dla :
string nonce = "ocjrutQnmEOmDz9VfDYxzg==";
string createdString = "2023-08-29T08:20:13.612Z";
string password = "test123";
Hasło powinno mieć postać:
0liHtwl95aCe6zEEjpWpsdlz+EU=
Dodaj takie dane do swojego generatora i zobacz czy na pewno dostaniesz takie hasło. Jeśli tak to błędu trzeba szukać gdzieś indziej. I tak jak pisałem wcześniej wszystko jest w linkach które podałem wcześniej + te świetne screen które podał @Garoth
P.S.
Jakoś trudno mi sobie wyobrazić że ktoś niekomercyjnie wstaje sobie rano i wymyśla że: a dziś to napiszę sobie połączenie co webserwice PUESC 😄

Zobacz pozostałe 2 komentarze
S1
Rzeczywiście nie otrzymuję dobrego hasła.
S1
OK. Znalazłem właściwy algorytm. Hasło jest zgodne.
S1
Ale nadal komunikat: A security error was encountered when verifying the message.
S1
No rzeczywiście nie poradzę sobie z tym problemem. Kolega miał rację, że nie dam rady. Nikt mi raczej nie pomoże. Zatem poddaje się. Dziękuję za chociaż trochę wsparcia, ale niewiele pomogło. Pozdrawiam
S1
To jeszcze zapytam, taki mam teraz komunikat: "A required header representing a Message Addressing Property is not present". Poszukiwania w google nic nie pomogły. Nie mam pojęcia co zrobić.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.