2010-03-24 5 views
1

J'ai construit le service Web .NET 1.1 qui devrait accepter les fichiers et les enregistrer.Envoyer un fichier sur le service Web de Java à .net

Voici le code du webmethod:

[WebMethod] 
    public bool SaveDocument(Byte[] docbinaryarray, string docname) 
    { 
    string dirPath = @"C:\Temp\WSTEST\"; 

    if(!Directory.Exists(dirPath)) 
    { 
    Directory.CreateDirectory(dirPath); 
    } 
    string filePath = dirPath + docname; 

    FileStream objfilestream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite); 
    objfilestream.Write(docbinaryarray, 0, docbinaryarray.Length); 
    objfilestream.Close(); 

    return true; 
    } 

Quand je fais un client .NET en référence à ce tout service Web va très bien, mais quand un de mes collègues essaie de me faire parvenir un fichier un client JAVA je ne reçois pas le fichier réel. Tout ce que je reçois est un tableau d'octets avec un seul élément.

Définition du tableau d'octets pour le fichier, dans WSDL ressemble à ceci:

<s:element minOccurs="0" maxOccurs="1" name="docbinaryarray" type="s:base64Binary" /> 

Il me envoie base64Binary et échoue à chaque fois. Tout ce que je reçois est tableau Byte avec seulement un élément à l'intérieur.

Répondre

1

On dirait que le bogue est dans le java - ou au moins le java n'envoie pas ce que le service .net attend. Pouvons-nous voir le code java?

+1

Je suis d'accord ... il serait utile de voir le code java –