Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web Services does not work in mono 4

I have an app that uses Webservices with ASP.Net and am supposed to maintain. So I was sharpening my skills on the topic. I have no problem running Webservice in Window with VS 2013 but have issues with mono.

Here is the error I get when I run the code

System.ArgumentNullException
Value cannot be null.
Parameter name: path1

Description: HTTP 500.Error processing request.

Details: Non-web exception. Exception origin (name of application or object): mscorlib.
Exception stack trace:
  at System.IO.Path.Combine (System.String path1, System.String path2) [0x00006] in <filename unknown>:0 
  at System.Web.Services.Configuration.WsdlHelpGeneratorElement.get_HelpGeneratorPath () [0x0000c] in <filename unknown>:0 
  at System.Web.Services.Protocols.DocumentationServerProtocol.Initialize () [0x001f1] in <filename unknown>:0 
  at System.Web.Services.Protocols.ServerProtocol.SetContext (System.Type type, System.Web.HttpContext context, System.Web.HttpRequest request, System.Web.HttpResponse response) [0x00022] in <filename unknown>:0 
  at System.Web.Services.Protocols.ServerProtocolFactory.Create (System.Type type, System.Web.HttpContext context, System.Web.HttpRequest request, System.Web.HttpResponse response, System.Boolean& abortProcessing) [0x00014] in <filename unknown>:0 

and here are the codes

WebService1.asmx

<%@ WebService Language="C#" CodeBehind="WebService1.asmx.cs" Class="DemoService.WebService1" %>

WebService1.asmx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml;

namespace DemoService
{
    /// <summary>
    /// Summary description for WebService1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public XmlElement AddMe(int a, int b)
        {
            XmlDocument doc = new XmlDocument(); 
            for(int i=0; i<5; i++)
            {
                XmlNode n = doc.CreateNode( XmlNodeType.Element,  i.ToString(), "me.com.aisee");
                for(int j=0; j<5; j++)
                {
                    //n.AppendChild(doc.CreateElement(j.ToString()));
                }
            }

            return doc.DocumentElement;

        }
    }
}

I don't what I miss here. to the best of my knowledge, it should just work fine. Here is my Mono version

~$ mono --version
Mono JIT compiler version 4.3.0 (tarball Fri Jun 12 11:43:58 UTC 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            sgen
like image 749
Stefano Mtangoo Avatar asked Jun 16 '15 07:06

Stefano Mtangoo


Video Answer


1 Answers

That's a bug in mono. You may look at here: https://bugzilla.xamarin.com/show_bug.cgi?id=37137

and https://bugzilla.xamarin.com/show_bug.cgi?id=39772

like image 136
Robert Avatar answered Sep 24 '22 15:09

Robert