开发者

Issue with size of byte[] being sent to web service?

I am trying to send a byte[] from a client to a web service. The array is composed of a serialized XML file.

My test scenario works (with a very small byte[]). Here is the code:

FormsService.FormsServiceClient client = new FormsService.FormsServiceClient();
        XmlDocument doc = new XmlDocument();
        XmlElement root = doc.CreateElement("root");
        XmlElement element = doc.CreateElement("child");
        root.AppendChild(element);
        doc.AppendChild(root);
MemoryStream ms = new MemoryStream();
        doc.Save(ms);
        byte[] bytes = ms.ToArray();
if (client.ServerActive())
        {
            client.SubmitForm(bytes);
            Console.ReadLine();
        }

And the service-side code looks like this:

public byte[] SubmitForm(byte[] bytes)
    {
        XmlDocument doc = new XmlDocument();
        string xml = Encoding.UTF8.GetString(decryptedBytes);
        doc.LoadXml(xml);
        XmlNodeList nodeList = doc.GetElementsByTagName("child");
        byte[] returnBytes = Encoding.UTF8.GetBytes(nodeList[0].Name);
        return bytes;
    }

This works perfectly. Results are correct.

However, when I try to read in an actual xml file from my file system (which is reading in correctly when I display it to console), submission returns an error even when I just try to accept and return the array:

A first chance exception of type 'System.ServiceModel.Dispatcher.NetDispatcherFaultException' occurred in mscorlib.dll

The actual client side code:

FormsService.FormsServiceClient client = new FormsService.FormsServiceClient();
        XmlDocument doc = new XmlDocument();
        doc.Load(myFilePath);
        MemoryStream ms = new MemoryStream();
        doc.Save(ms);
        byte[] bytes = ms.ToArray();

        if (client.ServerActive())
       开发者_JAVA百科 {
            client.SubmitForm(bytes);
            Console.ReadLine();
        }

The service side code:

public byte[] SubmitForm(byte[] bytes)
{
    return bytes;
{

Has anyone encountered this problem before? I don't see much difference between the two cases, but I am inexperienced with C#.

Any suggestions would be much appreciated.

Thanks!

badPanda


Try increasing the maximum message size quota.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜