Question

Je suis en train de faire un service web très simple qui fait ce qui suit:

  1. Le client touche le service Web demandant un fichier.
  2. La classe de service de service Web interroge une table de hachage qui a la clé (requête de recherche) et la valeur en tant que valeur base64encoded d'un fichier (dire pdf)
  3. Maintenant, je dois utiliser MMD pour renvoyer la valeur base64encoded stockée dans la table de hachage au client.

Il est jusqu'à le client de le décoder et le convertir en pdf.

Alors, voici mes questions:

  1. Je comprends que nous encoder des fichiers à base64 pour la transmission via le service Web, mais où et comment MMD entrent en scène là?

  2. Quelqu'un peut me fournir une méthode simple qui utilise MMD et envoie le dos de données. Avons-nous besoin de préciser quelque chose dans le WSDL aussi? ou une simple chaîne type de retour suffirait? Pourquoi / Pourquoi pas?

Merci

J'ai vu ce code . Il utilise beaucoup d'annotations, j'ai juste besoin d'un simple code Java en utilisant MMD. Nouveau J2EE ICI:)

UPDATE 1

explication assez décent , maintenant je dois le comprendre à partir du niveau de mise en œuvre. Bonne info , mais pour .Net

MISE À JOUR 2

Quel devrait être le type de retour de la méthode "createMTOM (int id)" ??

Était-ce utile?

La solution

Vous semblez mélanger la mise en œuvre et le protocole.

La spécification pour MMD est . Cette page a des exemples de messages.

Si vous utilisez un environnement JAX-WS, vous utilisez assurément Annotations pour l'activer. Si vous rouler des messages de savon à la main, vous écrivez tout code Java vous devez écrire pour le produire. Essentiellement, des moyens de MTOM que le contenu du mouvement de données à une pièce jointe, qui est une partie MIME distinct du message, et est référencé par un xop: Inclure élément avec un href de la partie MIME

.

Le schéma doit dire base64Binary comme le type d'élément, mais les attributs supplémentaires donnent des conseils quant à l'interprétation des octets: xmime: contentType et xmime: expectedContentType. Dans mon expérience, la mise en œuvre de référence JAX-B a des limites sur l'utilisation de ces derniers. Vous ne pouvez pas, par exemple, obtenir pour convertir automatiquement le texte et-vient à octets. Dans un kit typique comme CXF ou Glassfish, vous mettez des données dans un DataHandler et le kit, il se transforme en pièce jointe.

Autres conseils

Un bon exemple / discussion détaillée est fournie dans le Redbook IBM: Développement d'applications Web Services, voir pages 64-74

http://www.redbooks.ibm.com/redpapers/pdfs/ redp4884.pdf

Il y a un article utile qui décrit MMD et comment activer avec CXF. L'article inclut également le code source pour un exemple de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top