05/12/2013

Gerar Xml a parti de uma classe em um webservice.

Olá pessoal,

Eu tenho esse webservice, https://homologacao.selodigital.tjce.jus.br/wsselodigital/SolicitacaoSelo?wsdl, e não estou conseguindo gerar um xml a partir de uma classe contida nesse webservice, para depois validar o schema e enviar.

Agradeço a todos desde já pela ajuda.

Samuel Barros

Respostas

06/12/2013

Gilson Joanelo

Clica em Add Service Reference e depois em Add WebReference e referencia o link https://homologacao.selodigital.tjce.jus.br/wsselodigital/SolicitacaoSelo, a webreference se encarre de deserializar
Responder Citar

08/12/2013

Aluisio Cavalcante

esse webservice seria externo?
Responder Citar

09/12/2013

Samuel Barros

esse webservice seria externo?


sim ele é externo.

Responder Citar

09/12/2013

Samuel Barros

Clica em Add Service Reference e depois em Add WebReference e referencia o link https://homologacao.selodigital.tjce.jus.br/wsselodigital/SolicitacaoSelo, a webreference se encarre de deserializar


Obrigado pela dica, já consegui referência-lo, mais a luta continua para deserializar e serializar da um erro de {"Erro no documento XML (1, 2)."}. Já consigo passar valores aos objetos do webservice .

acesso os objetos do webservice exemplo:

Dim solicitaSelo As New SolicitacaoSelo.TSolicitacaoSelo

'-------------Cabeçalho-----------------
Dim cabecalho As New SolicitacaoSelo.TCabecalho
Dim serventia As New SolicitacaoSelo.TServentia

cabecalho.versao = "0.1"
cabecalho.dataHora = Now
cabecalho.ambiente = "3"

serventia.codigoServentia = "0002"
cabecalho.serventia = serventia

solicitaSelo.cabecalho = cabecalho
'---------------------------------------

'------------Solicitante----------------
Dim solicitante As New SolicitacaoSelo.TPessoaSolicitacao
Dim documento As New SolicitacaoSelo.Documento
Dim telefones As New ArrayList
Dim telefone As New SolicitacaoSelo.Telefone
Dim emails As New ArrayList
Dim email As New SolicitacaoSelo.Email

solicitante.nomePessoa = "Samuel"

documento.tipoDocumento = 4
documento.numero = 4445
documento.descricao = "IDENTIDADE"
documento.orgaoEmissor = "SSP-CE"
documento.dataEmissao = Now

solicitante.documento = documento

telefone.tipoTelefone = 1
telefone.ddd = 85
telefone.numero = "32236098"

telefones.Add(telefone)
Dim telefoneArray As Array
telefoneArray = telefones.ToArray(GetType(SolicitacaoSelo.Telefone))

solicitante.telefone = telefoneArray

email.tipoEmail = 1
email.enderecoEmail = "samuel@swind.com.br"

emails.Add(email)
Dim emailArray As Array
emailArray = emails.ToArray(GetType(SolicitacaoSelo.Email))

solicitante.email = emailArray

solicitaSelo.solicitante = solicitante
'---------------------------------------

solicitaSelo.idSolicitacaoSelo = 1

'---------------Itens------------------
Dim itens As New ArrayList
Dim iten As New SolicitacaoSelo.TSeloSolicitacao
Dim codigoSelo As New SolicitacaoSelo.TCodigoSelo

iten.sequencial = 1
codigoSelo.codigo = "1"
iten.codigoSelo = codigoSelo
iten.quantidade = 100

itens.Add(iten)
Dim itenArray As Array

itenArray = itens.ToArray(GetType(SolicitacaoSelo.TSeloSolicitacao))


solicitaSelo.itens = itenArray
'---------------------------------------

'-----------Signature-------------------


'---------------------------------------
Dim solicitaSelos As New SolicitacaoSelo.solicitaSelos

solicitaSelos.arg0 = solicitaSelo

Dim arquivo As String = "C:\Users\Samuel\Documents\Visual Studio 2012\Projects\WebService\xml\xsSolicitacaoSelo.xml"
Dim XElement As XElement = XElement.Load(arquivo)

Dim tss As New SolicitacaoSelo.TSolicitacaoSelo

tss = Serializer.Deserializer(Of SolicitacaoSelo.TSolicitacaoSelo)(XElement) ' ocorre um erro nesse ponto de {"Erro no documento XML (1, 2)."}

Dim xmlReturn As XElement = Serializer.Serialize(Of SolicitacaoSelo.TSolicitacaoSelo)(solicitaSelos)

End Sub

tenho essa classe que deserializa e serializa

Public Class Serializer

Public Shared Function Deserializer(Of T)(xElement As XElement) As T
Using memoryStream = New MemoryStream(Encoding.ASCII.GetBytes(xElement.ToString()))
Dim xmlSerializer = New XmlSerializer(GetType(T))
Return DirectCast(xmlSerializer.Deserialize(memoryStream), T) ' Nesse ponto o erro que quando é chamado {"Erro no documento XML (1, 2)."}
End Using
End Function


Public Shared Function Serialize(Of T)(o As Object) As XElement
Using memoryStream = New MemoryStream()
Using streamWriter As TextWriter = New StreamWriter(memoryStream)
Dim xmlSerializer = New XmlSerializer(GetType(T))
xmlSerializer.Serialize(streamWriter, o)
Return XElement.Parse(Encoding.ASCII.GetString(memoryStream.ToArray()))
End Using
End Using
End Function

End Class


como citei está corredo de {"Erro no documento XML (1, 2)."} e ainda não consegui ver o pq??? agradeço a ajuda.
Responder Citar

09/12/2013

Aluisio Cavalcante

blz então.
Responder Citar

24/09/2014

Cristiano Fagundes

Ola, Samuel conseguiu resolver este problema de {"Erro no documento XML (1, 2)."} ? Estou com o mesmo problema e não consigo resolver, obrigado.
Responder Citar