A
Ajay Choudhary
Hi,
If the client tries to access a web service with invalid namespace, it gets
a SOAP exception as invalid SOAPAction.
The invalid namespace will happen because the proxies on the client side
were generated before the namespace on the server side was updated.
I would like to handle this myself and throw a SOAP exception with more
information in it.
How can I do that?
Thanks,
Ajay
Serve Code - The namespace is updated from "1111" to "2222".
[WebService(Namespace=http://NoServerWithThisName/Services/SayHello/2222)]
public class SayHello : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World from "+Environment.UserName;
}
}
Client Proxy Code - Notice the "1111"
[System.Web.Services.WebServiceBindingAttribute(Name="SayHelloSoap",
Namespace=http://NoServerWithThisName/Services/SayHello/1111)]
public class SayHello : System.Web.Services.Protocols.SoapHttpClientProtocol
{
....
}
Client Code -
try
{
SayHello s = new SayHello();
MessageBox.Show(s.HelloWorld());
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
If the client tries to access a web service with invalid namespace, it gets
a SOAP exception as invalid SOAPAction.
The invalid namespace will happen because the proxies on the client side
were generated before the namespace on the server side was updated.
I would like to handle this myself and throw a SOAP exception with more
information in it.
How can I do that?
Thanks,
Ajay
Serve Code - The namespace is updated from "1111" to "2222".
[WebService(Namespace=http://NoServerWithThisName/Services/SayHello/2222)]
public class SayHello : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World from "+Environment.UserName;
}
}
Client Proxy Code - Notice the "1111"
[System.Web.Services.WebServiceBindingAttribute(Name="SayHelloSoap",
Namespace=http://NoServerWithThisName/Services/SayHello/1111)]
public class SayHello : System.Web.Services.Protocols.SoapHttpClientProtocol
{
....
}
Client Code -
try
{
SayHello s = new SayHello();
MessageBox.Show(s.HelloWorld());
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}