7
votes

I'm getting an exception when trying to access an .asmx webservice within a MVC site. I've tried numerous things like updating the web reference within the console application and building another quick app to test, but can't get passed this issue. If I pull the URL out of the svc variable, I can browse to it directly.

Exception Details

System.Web.Services.Protocols.SoapException occurred Message=Server was unable to process request. ---> Value cannot be null. Parameter name: uriString
Source=System.Web.Services Actor="" Lang="" Node="" Role=""
StackTrace: at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at ClarityIntegration.SendTrackerDataToClarity() in [REDACTED].Reference.cs:line 78 at [REDACTED].Program.Main(String[] args) in [REDACTED].Program.cs:line 33
InnerException:

CONSOLE APP CODE

var svc = new TrackerClarityService.ClarityIntegration()
    {
        Url = url,
        Credentials =
            new System.Net.NetworkCredential("user", "pass", "domain")
    };
svc.SendTrackerDataToClarity();
svc.Dispose(); 

Issue Resolved

The exception was coming out of the Web Service itself. There were some global variables not being initialized directly through the .asmx call that were being initialized by the application itself.

Some simple checks on variables within the Web Service and setting what needs to be set have fixed up the issue.

3
Does this work in the console application? If not, the problem is definitely not related to asp.net or asp.net-mvc and those tags doesn't seem relevant to your question.Darin Dimitrov
Darrin - It's all a single solution at this point, so I'm testing the Web Service within my console application and this is where the issue is right now. I have no clue if it's a web service issue or not right now.RSolberg
The error is actually related to the Web Service, not the console application. The asp.net-mvc and asp.net tags are very relevant to this issue.RSolberg
@RSolberg, so you are able to successfully invoke your web service from the console application. Also if the error is related to the web service the two tags are not relevant. The web-services tag is relevant though.Darin Dimitrov
@Darin: no, hence showing the exception from the console app trying to invoke the webservice.RSolberg

3 Answers

2
votes

Issue Resolved

The exception was coming out of the Web Service itself. There were some global variables not being initialized directly through the .asmx call that were being initialized by the application itself.

Some simple checks on variables within the Web Service and setting what needs to be set have fixed up the issue.

1
votes

If using basic auth, this has solved my issues in the past:

NetworkCredential nc = new NetworkCredential();
nc.Domain = "domain"
nc.UserName = "user"
nc.Password = "pwd"

Uri uri = new Uri(svc.Url);
ICredentials credentials = nc.GetCredential(uri, "Basic");
svc.Credentials = credentials;
-1
votes

Captain here, this is the message when a WebReference has been instantiated, but has no URL defined or the given URL is null, and a method ist called. The origin of an empty URL could be a missing value in a app/web.config file.