Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

cjulio

Utilizar Webservices da AT

Mensagens Recomendadas

JPC

Boa tarde,

 

estou  com problemas ssl handshake  e decidi verificar usando o openssl, mas sigo a ter problemas com os meus certificados locais, estou a usar o seguinte comando, mas recebo sempre uma mensgem de erro.

Alguém sabe qual o problema ?

Obrigado,

João

command:

openssl s_client -connect servicos.portaldasfinancas.gov.pt:701 -CAfile C:\saf-t\certificados\xxx.pem

 

Erro:

CONNECTED(000001C0)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify error:num=20:unable to get local issuer certificate
12204:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:.\ssl\s23_lib.c:177:

---
Certificate chain
 0 s:/C=PT/postalCode=1200-602/ST=Lisboa/L=Lisboa/street=Rua Almeida Brand\xC3\xA3o n7/O=Centro de Gest\xC3\xA3o da Rede Inform\xC3\xA1tica do Governo - CEGER/OU=Autoridade Tribut\xC3\xA1ria e Aduaneira/OU=Enterprise SSL Pro Wildcard/CN=*.portaldasfinancas.gov.pt
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIHTDCCBjSgAwIBAgIRAMqT/u3iSnDnRpsue/xJ5yYwDQYJKoZIhvcNAQELBQAw
gZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTwwOgYD
VQQDEzNDT01PRE8gUlNBIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIFNlY3VyZSBT
ZXJ2ZXIgQ0EwHhcNMTgwNzE5MDAwMDAwWhcNMTkwNzE5MjM1OTU5WjCCASAxCzAJ
BgNVBAYTAlBUMREwDwYDVQQREwgxMjAwLTYwMjEPMA0GA1UECBMGTGlzYm9hMQ8w
DQYDVQQHEwZMaXNib2ExIDAeBgNVBAkMF1J1YSBBbG1laWRhIEJyYW5kw6NvIG43
MUIwQAYDVQQKDDlDZW50cm8gZGUgR2VzdMOjbyBkYSBSZWRlIEluZm9ybcOhdGlj
YSBkbyBHb3Zlcm5vIC0gQ0VHRVIxKzApBgNVBAsMIkF1dG9yaWRhZGUgVHJpYnV0
w6FyaWEgZSBBZHVhbmVpcmExJDAiBgNVBAsTG0VudGVycHJpc2UgU1NMIFBybyBX
aWxkY2FyZDEjMCEGA1UEAwwaKi5wb3J0YWxkYXNmaW5hbmNhcy5nb3YucHQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8x55Sv3nB1cM3I1YdT2QcLvKT
rvR4eMSBlJhqkxwZo/UnHvG7Rqjp/8GkMEwBJ3DS/a02QmMbG2AxGK8qADlKOfC5
i5/d7xS0s8909YQwr35Ikc+KJn2N5g/qcPjjoXQiAaz99Gykj31Ywc+pmUr5KDTS
p5HKd7CNxO6UgTxmEUjnVyg10o1AAAenyzF8C1ASGkW368etI3roYd109Ohg/RnE
rnVJ7KbLuV5GLnEvzQkDkRxsaecmC8ZFx7J+F8j5FdbhM63cEmT62s80y1N9qCDX
RlOlsFNDEULgaWxrRq84p5IsnaDD4nhQONiuqVIIgCzeZ4E5DwXlam72asFzAgMB
AAGjggMGMIIDAjAfBgNVHSMEGDAWgBSa8yvaz61Pti+7KkhIKhK3G0LBJDAdBgNV
HQ4EFgQUzhG2zNwAOgaj+nJ78VKUlNINZmkwDgYDVR0PAQH/BAQDAgWgMAwGA1Ud
EwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFAGA1UdIARJ
MEcwOwYMKwYBBAGyMQECAQMEMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJl
LmNvbW9kby5jb20vQ1BTMAgGBmeBDAECAjBaBgNVHR8EUzBRME+gTaBLhklodHRw
Oi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9SU0FPcmdhbml6YXRpb25WYWxpZGF0
aW9uU2VjdXJlU2VydmVyQ0EuY3JsMIGLBggrBgEFBQcBAQR/MH0wVQYIKwYBBQUH
MAKGSWh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQU9yZ2FuaXphdGlv
blZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6
Ly9vY3NwLmNvbW9kb2NhLmNvbTA/BgNVHREEODA2ghoqLnBvcnRhbGRhc2ZpbmFu
Y2FzLmdvdi5wdIIYcG9ydGFsZGFzZmluYW5jYXMuZ292LnB0MIIBBAYKKwYBBAHW
eQIEAgSB9QSB8gDwAHcA7ku9t3XOYLrhQmkfq+GeZqMPfl+wctiDAMR7iXqo/csA
AAFks0mv6AAABAMASDBGAiEAl+9hkwgzhecvWd3+v3ug0/g3qnuxqSxDMHqlUKrU
ZKMCIQCHqjbBTZKSMPC8t8wW7ajxvxK1y7e87EQD6FU3nlim9QB1AHR+2oMxrTMQ
kSGcziVPQnDCv/1eQiAIxjc1eeYQe8xWAAABZLNJr4UAAAQDAEYwRAIgbOmGlRc6
J6OO9yL08aL55FYfSiBiHXb044yQEd43UqYCIH9f8rCzbLNLXNAgQ2zILjuTvnKz
gH2wIXXT2ADby+qsMA0GCSqGSIb3DQEBCwUAA4IBAQBc0JVBT/pIIRy3qJ+nSNx0
fDxMQ3THbBeIhViCaT9QPhBfz63VE934xw3AhNAACRTbAbkf0IbzpAlXkANdyqS7
5iED7fL5Jx69y0kj7UdM2a1UwtjCki+lN3pfqCxExe79K25/1rFoLJ2BkoJALwnC
xSumaUEcR/Sl+UMNVOkTLQock0Ro0ytLEgbBuk1Gs1rDJdmBxIywDbxxtHmpvTVC
srKUF9or4Rni3UgzOiY/86tx29G4jE4hfB4vZQ6kjmHCg0kcFNtS0GRA2XMqmtCd
8N8kkSxo7APOMPnGzG82j82iE9/CG7uAPoLuBdubMwKs25dlJdN4GjSWfWE0IGpq
-----END CERTIFICATE-----
subject=/C=PT/postalCode=1200-602/ST=Lisboa/L=Lisboa/street=Rua Almeida Brand\xC3\xA3o n7/O=Centro de Gest\xC3\xA3o da Rede Inform\xC3\xA1tica do Governo - CEGER/OU=Autoridade Tribut\xC3\xA1ria e Aduaneira/OU=Enterprise SSL Pro Wildcard/CN=*.portaldasfinancas.gov.pt
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
---
SSL handshake has read 4984 bytes and written 370 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : AES256-SHA256
    Session-ID: 2015517E619E9C74FAE47A6062B93FEB76A839FADB16154D2BBF3A4D78232842
    Session-ID-ctx:
    Master-Key: D2CBA01BD0E37ADC8B69A74EA82B82DDEA2CD3CC6F023F18DBE5F0865E4DB3B74CC55720191328BC68361ADCE9BBD8D6
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1539863998
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)

Editado por JPC
typo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xambas

Boas pessoal,

alguém ja tentou comunicar com os servidores a partir do estrangeiro?

estou a tentar correr testes a partir de uma maquina no BR contra o servidor de testes e falha "Falha da autenticação porque a parte remota fechou a sequência de transporte"

correndo testes a partir de uma maquina em PT, com os mesmos certificados, configurações, etc.. funciona!

alguem tem alguma ideia?

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JPC
10 horas atrás, xambas disse:

Boas pessoal,

alguém ja tentou comunicar com os servidores a partir do estrangeiro?

estou a tentar correr testes a partir de uma maquina no BR contra o servidor de testes e falha "Falha da autenticação porque a parte remota fechou a sequência de transporte"

correndo testes a partir de uma maquina em PT, com os mesmos certificados, configurações, etc.. funciona!

alguem tem alguma ideia?

obrigado

Tenho o mesmo problema mas estou em Portugal, não consigo sequer fazer o ssl handshake

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
eandrade

Boas,

Também estou a ter o mesmo erro em produção, "Falha da autenticação porque a parte remota fechou a sequência de transporte". Em ambiente de testes funciona perfeitamente e devolve resposta. Trocando para os certificados assinados pela AT, dá esse erro, exactamente com o mesmo código.

Uma dúvida que me surgiu foi: o certificado de testes da AT é o TesteWebservices.pfx, mas o certificado assinado por eles e para nós enviados é um ficheiro de extensão .cer. Eu não sou nenhum perito em segurança ou certificados digitais, mas sei o básico e que um ficheiro pfx pode conter mais do que apenas um certificado, enquanto o .cer é apenas o certificado em si. Poderá estar a faltar-me alguma coisa? Devia estar, por exemplo, a importar mais algo além do .cer quando estou em produção?

EDIT: Ao escrever esta dúvida "fez-se luz", e fui procurar. Não façam como eu e leiam as instruções só por alto, vão ficar a faltar coisas. É mesmo esse o problema. Para quem estiver com a mesma dúvida que eu, faltava integrar o certificado com a chave privada para gerar o ficheiro .pfx. Está tudo escrito e bem documentado como fazer no Manual de Integração de Software, página 43.

Ignorem o resto do post :P

 

Editado por eandrade

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xfangx

Hello,

So what is with the -100 - A data início de transporte é inferior à data atual, pelo que esta informação será considerada uma mera comunicação de dados à AT;

I still don't understand if this is an issue or not.

They get this when they enter the XML on the website.

The files are generated in UK time zone.

Thank you,

Editado por xfangx

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jorang
41 minutos atrás, xfangx disse:

Hello,

So what is with the -100 - A data início de transporte é inferior à data atual, pelo que esta informação será considerada uma mera comunicação de dados à AT;

I still don't understand if this is an issue or not.

They get this when they enter the XML on the website.

The files are generated in UK time zone.

Thank you,

Communication of a document has to be made in advance - prior to the movement of goods start date/time.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xfangx
Just now, jorang said:

Communication of a document has to be made in advance - prior to the movement of goods start date/time.

Hmm, but this is not specified in the implementation document.

I see that the errors are listed in the document. If they sent it like this, it will be rejected and the ATcode not generated I supposed.

Everyone modified their software that generate the XML to put an advanced hour on this?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jorang
1 hora atrás, xfangx disse:

Hmm, but this is not specified in the implementation document.

I see that the errors are listed in the document. If they sent it like this, it will be rejected and the ATcode not generated I supposed.

Everyone modified their software that generate the XML to put an advanced hour on this?

This is not an implementation issue nor it is related to the software itself - users have to think in advance of their need to move goods.
It is required by law that all movements of goods should be communicated beforehand.

Nevertheless, you might use realtime communication (by using a webservice) for each generated document instead of relying on the user XML submission for pending documents.

http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/ComunicacaodosdadosdasfaturasaAT.pdf

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JPC

Boa tarde,

Quais os certificados e passwords a usar conectat ao ambiente de desenvolvimento ? a documentação fornecida é confusa...

 

Obrigado,

João

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
iznougudpt
Em 23/10/2018 às 09:47, xfangx disse:

Hmm, but this is not specified in the implementation document.

I see that the errors are listed in the document. If they sent it like this, it will be rejected and the ATcode not generated I supposed.

Everyone modified their software that generate the XML to put an advanced hour on this?

I just add 10 minutes when generating the document so users have a small window of time to finish generating the document and submiting it to the AT.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tomke

Hi,

I am developing the consumer for E-Fatura web service. I have the test certificate from the authorities, but with this what I have I am always getting an error: 
 

Citação

An error occurred while making the HTTP request to https://servicos.portaldasfinancas.gov.pt/faturas/. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.

This is the .wsdl file I am using: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/factemiws.wsdl
I am using test data from the pdf under this link: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/ComunicacaodosdadosdasfaturasaAT.pdf.
But even when some data will be invalid it should returns the response from the service instead of returning exception...

I am developing in C#. This is the code that I am currently using:

				string cert_name = "TesteWebservices.pfx";
                string cert_pass = "TESTEwebservice";

                faturasClient proxy = new faturasClient();
                proxy.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(cert_name, cert_pass);

                var serviceResponse = proxy.RegisterInvoice(new InvoiceGenerator().GetInvoiceForTestService());

The exception is in the last line while trying to send invoice request.

There are of course some ideas in the Internet like changing the SecurityProtocol to TLS 1.1 or 1.2, but I was trying this and it is not helping. Still getting the same error.
Any ideas on this ?

Editado por Tomke

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JPC
58 minutes ago, Tomke said:

Hi,

I am developing the consumer for E-Fatura web service. I have the test certificate from the authorities, but with this what I have I am always getting an error: 
 

This is the .wsdl file I am using: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/factemiws.wsdl
I am using test data from the pdf under this link: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/ComunicacaodosdadosdasfaturasaAT.pdf.
But even when some data will be invalid it should returns the response from the service instead of returning exception...

I am developing in C#. This is the code that I am currently using:


				string cert_name = "TesteWebservices.pfx";
                string cert_pass = "TESTEwebservice";

                faturasClient proxy = new faturasClient();
                proxy.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(cert_name, cert_pass);

                var serviceResponse = proxy.RegisterInvoice(new InvoiceGenerator().GetInvoiceForTestService());

The exception is in the last line while trying to send invoice request.

There are of course some ideas in the Internet like changing the SecurityProtocol to TLS 1.1 or 1.2, but I was trying this and it is not helping. Still getting the same error.
Any ideas on this ?

I'm facing this issue also, and running out of ideas, I'll let you know when I find a fix

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tjcsantos

Boa noite,

Estão a conseguir comunicar com a AT (ambiente de testes)?

Estou a tentar criar contratos de arrendamento e emitir recibos de rendas utilizando WebServices e recebo sempre o seguinte erro:

Erro interno de servidor (Contactar equipa aplicacional responsável pelo serviço ou a Área de Sistemas - AAP): HTTP error 503 [Request reference: 7833110:7147f1ae5bd7770b03d68351]

Uma vez que o erro 503 corresponde a serviço indisponível, creio ser o serviço disponibilizado pela AT que está com problemas/indisponível.

Alguém me pode confirmar se também está (ou não) a ter este problema?

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jmta_92

Bom dia pessoal,

Eu estava a comunicar as guias de transporte em modo produção até ao dia 2/11/2018, a partir daí deixou de dar. Mais alguém teve esse problema?

o erro que dá é :

stdClass Object
(
    [ResponseStatus] => stdClass Object
        (
            [ReturnCode] => -99
            [ReturnMessage] => Erro interno
        )

)

SOAP-ERROR: Encoding: Element 'Country' has fixed value 'PT' (value 'ES' is not allowed)
SOAP-ERROR: Encoding: Element 'Country' has fixed value 'PT' (value 'ES' is not allowed)
Call to a member function format() on null

Atenção do meu lado não está a ser enviado nenhum ES

O site que permite a sincronização da data e hora também está em baixo: 

ntp02.oal.ul.pt

alguém sabe o que se passa ou esta a ter problemas?

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lufinima
1 minute ago, jmta_92 said:

O site que permite a sincronização da data e hora também está em baixo: 

ntp02.oal.ul.pt

alguém sabe o que se passa ou esta a ter problemas?

Obrigado

Afinal não é só a mim que está a dar erro de sincronização da data e hora!

Tanto o servidor ntp02.oal.ul.pt como o ntp04.oal.ul.pt estão em baixo, detectei problemas desde ontem à tarde.

Como é que a malta consegue sincronizar a hora legal de Portugal com ambos em baixo? Alternativas?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jmta_92
2 minutos atrás, lufinima disse:

Afinal não é só a mim que está a dar erro de sincronização da data e hora!

Tanto o servidor ntp02.oal.ul.pt como o ntp04.oal.ul.pt estão em baixo, detectei problemas desde ontem à tarde.

Como é que a malta consegue sincronizar a hora legal de Portugal com ambos em baixo? Alternativas?

Eu neste momento arrisquei utilizar o horário do servidor que, supostamente está certo. De facto não está a dar erro nas horas, apenas aquele em cima que não tem nada a ver

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JPC
1 hour ago, jmta_92 said:

Bom dia pessoal,

Eu estava a comunicar as guias de transporte em modo produção até ao dia 2/11/2018, a partir daí deixou de dar. Mais alguém teve esse problema?

o erro que dá é :


stdClass Object
(
    [ResponseStatus] => stdClass Object
        (
            [ReturnCode] => -99
            [ReturnMessage] => Erro interno
        )

)

SOAP-ERROR: Encoding: Element 'Country' has fixed value 'PT' (value 'ES' is not allowed)
SOAP-ERROR: Encoding: Element 'Country' has fixed value 'PT' (value 'ES' is not allowed)
Call to a member function format() on null

Atenção do meu lado não está a ser enviado nenhum ES

O site que permite a sincronização da data e hora também está em baixo: 

ntp02.oal.ul.pt

alguém sabe o que se passa ou esta a ter problemas?

Obrigado

Estou a receber o mesmo  erro em produção, mas não percebo o que se passa, em desenvolvimento nunca consegui ligar, recebo sempre um erro deo não ter a ligação segura, alguém têm os dados e certificados do ambiente de desenvolvimento ?

 

Obrigado,

João

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alfredocdmiranda
On 10/24/2018 at 9:33 AM, Tomke said:

Hi,

I am developing the consumer for E-Fatura web service. I have the test certificate from the authorities, but with this what I have I am always getting an error: 
 

This is the .wsdl file I am using: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/factemiws.wsdl
I am using test data from the pdf under this link: http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Documents/ComunicacaodosdadosdasfaturasaAT.pdf.
But even when some data will be invalid it should returns the response from the service instead of returning exception...

I am developing in C#. This is the code that I am currently using:


				string cert_name = "TesteWebservices.pfx";
                string cert_pass = "TESTEwebservice";

                faturasClient proxy = new faturasClient();
                proxy.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(cert_name, cert_pass);

                var serviceResponse = proxy.RegisterInvoice(new InvoiceGenerator().GetInvoiceForTestService());

The exception is in the last line while trying to send invoice request.

There are of course some ideas in the Internet like changing the SecurityProtocol to TLS 1.1 or 1.2, but I was trying this and it is not helping. Still getting the same error.
Any ideas on this ?

I think we have solved this issue.

 

var cert = new X509Certificate2("TesteWebServices.pfx", "TESTEwebservice", X509KeyStorageFlags.MachineKeySet);
ServicePointManager.SecurityProtocol = (SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12);
BasicHttpBinding bind = new BasicHttpBinding();
bind.Security.Mode = BasicHttpSecurityMode.Transport;
bind.TransferMode = TransferMode.Streamed;
faturasClient client = new faturasClient(bind, new System.ServiceModel.EndpointAddress(WS_URL));

bind.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
bind.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;
client.ClientCredentials.ClientCertificate.Certificate = cert;
client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
client.Endpoint.EndpointBehaviors.Add(new SchemaValidationBehavior());

string encryptedPass = string.Empty;
string symetricKey = string.Empty;
string createdDate = string.Empty;
string noonce;
string creationDate;

var x = File.ReadAllBytes("ChaveCifraPublicaAT2020.cer");
GetHeaderFields(x, ATPassword, out encryptedPass, out noonce, out creationDate);

XmlElement headerXml = GetSoapHeaderAsXML(
  ATUsername,
  encryptedPass,
  noonce,
  creationDate);

System.ServiceModel.Channels.MessageHeader mh = System.ServiceModel.Channels.MessageHeader.CreateHeader("Security","http://schemas.xmlsoap.org/ws/2002/12/secext", headerXml);

using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
{
	OperationContext.Current.OutgoingMessageHeaders.Add(mh);
	RegisterInvoiceResponseType res = client.RegisterInvoice(Invoice);
  }
}

Now, I am facing a big problem mismatched tag, expected hr at offset 241 of. Tried many solutions and nothing.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JPC

Uma duvida,

posso usar o seguinte header, declarando todos os name spaces, logo ao inicio, opção A, ou tenho de seguir a opção B ?

Obrigado

Opção A

<S:Envelope xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext/" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <wss:Security>
      <wss:UsernameToken>
        <wss:Username>someuser</wss:Username>
        <wss:Password>password</wss:Password>
        <wss:Nonce>irskeighwçkietghnwçrtoighnwrçoitgk</wss:Nonce>
        <wss:Created>rtligjnrltwgjrltgjrtlig</wss:Created>
      </wss:UsernameToken>
    </wss:Security>
  </S:Header>
  <S:Body>Some body</S:Body>
</S:Envelope>

Opção B

<S:Envelope xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext/" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext/">
        <wss:UsernameToken>
            <wss:Username>someuser</wss:Username>
            <wss:Password>password</wss:Password>
            <wss:Nonce>irskeighwçkietghnwçrtoighnwrçoitgk</wss:Nonce>
            <wss:Created>rtligjnrltwgjrltgjrtlig</wss:Created>
        </wss:UsernameToken>
    </wss:Security>  </S:Header>
  <S:Body>Some body</S:Body>
</S:Envelope>

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.