2009-08-20 8 views
3

Existe-t-il des problèmes de compatibilité lors de la synchronisation d'un objet dans .NET, puis de la désérialisation en Java?. Compatibilité de sérialisation/désérialisation Java vers Java

Je suis confronté à des problèmes dans de-sérialisation un objet en java qui a été publié en feuilleton dans .NET

Voici la déclaration détaillée du problème:

Dans la plate-forme .NET j'ai un cookie. 1. Cookie est sérialisé 2. puis il est crypté en utilisant Triple DES algo. 3. Envoyez-travers à l'application Java

En Java plate-forme 1. Décrypter le cookie en utilisant Triple DES, qui donne quelques octets 2. Deserialize les octets en utilisant quelque chose comme

nouvelle ObjectInputStream (nouvelle ByteArrayInputStream (octet [ ] decryptedCookie)). readObject();

La trace de pile d'exception que je reçois est: java.io.StreamCorruptedException: en-tête de flux incorrect:. 2F774555 à java.io.ObjectInputStream.readStreamHeader (Source inconnue) à java.io.ObjectInputStream (Source inconnue)

+1

sérialisation à quoi? octets? xml? –

+0

ce ryan dit. a quoi ressemble votre code comme? il n'y a pas suffisamment d'informations pour répondre à votre question. –

Répondre

5

Le sérialiseur WOX fournit une sérialisation interopérable pour .Net et Java.

+0

/.NET et Java devront utiliser le sérialiseur WOX uniquement pour être compatibles? N'y a-t-il pas d'autre option? –

+0

La seule autre option que je sais est de gérer la sérialisation/désérialisation vous-même sur. Net ou Java pour répliquer le format de l'autre plate-forme. C'est la raison pour laquelle le projet WOX est né. –

+0

Mise à jour: La sérialisation JSON est devenue un mécanisme de sérialisation multiplate-forme populaire depuis ma publication originale. C'est une représentation de texte assez compacte, mais pas aussi compacte qu'un format binaire. –

1

Si vous sérialiser en xml alors vous ne devriez pas rencontrer de problèmes de sérialisation de Java car au pire vous devez écrire votre propre morceau de code pour reconstruire les objets.

+0

Comment sérialisation XML différent de sérialisation une chaîne dans .NET ? En fin de compte ce qui compte est de savoir comment je suis de-sérialisation en Java N'est-ce pas ?? Ce que je comprends est que ObjectInputStream est le seul moyen de désérialiser en Java et cela ne fonctionnerait pas ici. S'il vous plaît clarifier ?? –

+0

Je n'ai jamais désartialisé en java, tout ce que je dis c'est que dans le pire des cas, si vous avez des objets XML, vous devrez écrire du code qui va analyser le XML et construire vos objets en java – Daniel

0

La façon dont java et .Net serialise en binaire diffère. Comment connaît-on les objets de l'autre, par ex. .Net aura des dictionnaires et des cartes Java?

Vous devez utiliser un format de données qui à la fois comprend et code pour faire les mappages d'objets.ainsi les réponses ci-dessus mentionnant XML et WOX.J'ai travaillé avec la société interne produit comme bien.

Questions connexes