我已经构建了.NET 1.1 Web Service,它应该接受文件并保存它们。
以下是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;
}
当我在.NET中使用这个Web服务创建一个客户端时,一切都很顺利,但是当我的同事试图从JAVA客户端向我发送文件时,我没有得到实际的文件。我得到的只是一个只有一个元素的字节数组。
文件的字节数组的定义,在WSDL中如下所示:
<s:element minOccurs="0" maxOccurs="1" name="docbinaryarray" type="s:base64Binary" />
他发给我base64binary并且每次都失败。我得到的只是Byte数组,里面只有一个元素。
答案 0 :(得分:1)
听起来像java中的错误 - 或者至少java没有发送.net服务所期望的内容。我们能看到java代码吗?