Array
(
)

Gerar Xml a parti de uma classe em um webservice.

Samuel Barros
   - 05 dez 2013

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.

Gilson Joanelo
   - 06 dez 2013

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

Aluisio Cavalcante
   - 08 dez 2013

esse webservice seria externo?

Samuel Barros
   - 09 dez 2013


Citação:
esse webservice seria externo?


sim ele é externo.

Samuel Barros
   - 09 dez 2013


Citação:
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.

Aluisio Cavalcante
   - 09 dez 2013

blz então.

Cristiano Fagundes
|
MVP
    24 set 2014

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