[RESOLVIDO]Teste WebService RPS

Boa tarde galera

Estou consumindo o webservice TesteEnvioLoteRPS e recebo esse retorno: XML não compatível com Schema.

<?xml version="1.0" encoding="UTF-8"?><RetornoEnvioLoteRPS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.prefeitura.sp.gov.br/nfe"><Cabecalho Versao="1" xmlns=""><Sucesso>false</Sucesso></Cabecalho><Erro xmlns=""><Codigo>1001</Codigo><Descricao>XML não compatível com Schema.</Descricao></Erro></RetornoEnvioLoteRPS>

O Problema é o que não está compatível, antes algumas mensagens apareciam, tipo, tag errada e etc, eu fui corrigindo e então deu nessa. Alguem já passou por isso?

Ola bruno, você está validando ele, XML x XSD(PedidoEnvioLoteRPS_v01.xsd)?

Boa tarde, estou validando sim, passa tranquilo na validação.
Já trabalho com o projeto NF-e faz alguns anos, começando agora com o NFS-e de SP e me parecia ser tão simples até que vem um erro desses sem dizer o que é rsrs

Então, aqui na empresa que trabalho também estamos implementando NFS-e e já concluímos SP, eu faria um teste com SoapUI e verificaria a diferença entre os documentos. pelo erro, ele não está formado corretamente.

consegui achar o problema aqui mesmo ele não informando, o CNPJ estava com faltando 1 digito, agora estou com problema na assinatura, no manual está falando que a assinatura do RPS tem q ser em cima dos 86 digitos, ai logo em baixo ele apresenta a tabela e um exemplo com 103 digitos e no esquema diz 86 e se somar os campos da 85, ai lascou

Para a assinatura da cadeia de caracteres são 86 posições mesmo, não me recordo de ver uma tabela com 103 digitos, não está confundindo com NF-e né? o documento que me guiei no desenvolvimento se chama NFe_Web_Service.pdf.
depois de gerado esse hash RSA-SHA1 precisa assinar o documento root, mas ai é uma assinatura normal do documento como era no NFe.

Eh esse mesmo o arquivo, olha o exemplo deles

Com base no trecho da mensagem XML apresentada, montamos a seguinte string de caracteres:
"31000000OL03 00000000000120070103TNN00000000205000000000000050000002658100013167474254209999999000106S"
Mas logo em seguida tem uma explicação que utiliza uma de 86, olha só, apresenta esse erro:

Assinatura Digital do RPS incorreta - String verificada (98414100OL03 00000000000120170109TNN00000000123450000000000000000007498218351223000169N)

E minha assinatura não tem esse N no final, com ele daria 87 caracteres

98414100OL03 00000000000120170109TNN00000000123450000000000000000007498218351223000169
98414100OL03 00000000000120170109TNN00000000123450000000000000000007498218351223000169N

A minha é a primeira, a menos q eu esteja cego rsrsrs so esse N está diferente

hehehehe, são 86 mesmo, tenho rodando em produção, o que acontece é que não é obrigatório informarmos os dados do intermediário, veja:

Observação: não é necessário informar os dados de intermediário na assinatura se não houver intermediário. Como exemplo, sem intermediário a string montada seria dessa forma:
"31000000OL03 00000000000120070103TNN00000000205000000000000050000002658100013167474254”

Saquei q eh 86 mesmo kkkkkkkkk Agora porque não valida q estou encucado, a prefeitura manda com esse N no final

Salve pessoal
Resolvi o problema aqui, segue solução:

O primeiro problema era a mensagem “XML não compatível com Schema.”, que não indicava o que era, descobri que quando coloca uma TAG obrigatório mas não informa o valor, retorna essa mensagem, no meu caso era a tag:

[CPFCNPJRemetente]
[CNPJ/]
[/CPFCNPJRemetente]

Quando inserido o valor:

[CPFCNPJRemetente]
[CNPJ]99999999999[/CNPJ]
[/CPFCNPJRemetente]

Funcionou.

O segundo problema da assinatura de 86 caracteres foi o seguinte, quando enviada para a prefeitura recebia a mesma string de assinatura que meu sistema gerava só que vinha um N no final e a mensagem de Assinatura Invalida.
O Problema era que eu estava informando a TAG [ISSRetidoIntermediario], ou seja, se existe um intermediario, é necessário incluir na string de assinatura os dados do intermediario, ficando 103 caracteres e não os 86. Retirei a TAG[ISSRetidoIntermediario] e funcionou tranquilo com os 86 caracteres, inserir os dados do Intermediario e funcionou corretamente com os 103 caracteres.