WEB SERVICE SEFAZ

LORDAUTUNM 31/10/2023 19:24:14
#501839
Alterado em 01/11/2023 09:00:51 Boa noite, estou desenvolvendo um código para comunicação com web service do CT-e 4.0, porem estou com dificuldades na url de recepção, todos os outros eventos já consegui fazer comunicação com sucesso porem a recepção não funciona, vou deixar a URL e o código que estou utilizando, se alguém poder me ajudar fico grato.

Erro retornado: cteRecepcao Web Service method name is not valid
URL de conexão: https://homologacao.cte.ms.gov.br/ws/CTeRecepcaoSincV4

Código vb.net:

Option Strict Off
Option Explicit On

Imports System.Runtime.InteropServices


Public Class CteAutorizacaoSinc
'''
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.42000"),
System.Diagnostics.DebuggerStepThroughAttribute(),
System.ComponentModel.DesignerCategoryAttribute("code"),
System.Web.Services.WebServiceBindingAttribute(Name:="CTeRecepcaoSincV4Soap12", [Namespace]:="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4")>

Partial Public Class CteAutorizacao
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
Private useDefaultCredentialsSetExplicitly As Boolean

'''
Public Sub New()
MyBase.New()
Me.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12

If (Me.IsLocalFileSystemWebService(Me.Url) = True) Then
Me.UseDefaultCredentials = True
Me.useDefaultCredentialsSetExplicitly = False
Else
Me.useDefaultCredentialsSetExplicitly = True
End If
End Sub

Public Shadows Property Url() As String
Get
Return MyBase.Url
End Get
Set(value As String)
If (((Me.IsLocalFileSystemWebService(MyBase.Url) = True) _
AndAlso (Me.useDefaultCredentialsSetExplicitly = False)) _
AndAlso (Me.IsLocalFileSystemWebService(value) = False)) Then
MyBase.UseDefaultCredentials = False
End If
MyBase.Url = value
End Set
End Property

Public Shadows Property UseDefaultCredentials() As Boolean
Get
Return MyBase.UseDefaultCredentials
End Get
Set(value As Boolean)
MyBase.UseDefaultCredentials = value
Me.useDefaultCredentialsSetExplicitly = True
End Set
End Property

'''

Public Function cteAutorizacao(ByVal cteDadosMsg As String) As System.Xml.XmlNode
Dim results() As Object = Me.Invoke("cteRecepcao", New Object() {cteDadosMsg})
Return CType(results(0), System.Xml.XmlNode)
End Function

Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean
If ((url Is Nothing) _
OrElse (url Is String.Empty)) Then
Return False
End If

Dim wsUri As System.Uri = New System.Uri(url)
If ((wsUri.Port >= 1024) _
AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then
Return True
End If
Return False
End Function
End Class
End Class
KERPLUNK 31/10/2023 23:09:16
#501840
Tem certeza que o nome do método é CTeRecepcaoSincV4Soap12?

LORDAUTUNM 06/11/2023 18:51:56
#501851
O Metodo a ser invocado é:

Dim results() As Object = Me.Invoke("cteRecepcao", New Object() {cteDadosMsg})
KERPLUNK 06/11/2023 20:23:46
#501852
Pois é, mas não é o decorador que você tem....
Faça seu login para responder