I am not sure if I get the entire picture, but hopefully some of this will help. I think you have Excel vba calling into .NET via a COM interface and then into a SOAP web svc.
You should have the correct PIA installed and referenced by your .NET assembly. Your COM interface should look something like this:
[Guid("123Fooetc...")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IBar
{
[DispId(1)]
void SomeMethod(Excel.Range someRange);
}
Implement the interface with a class something like this:
[Guid("345Fooetc..")]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("MyNameSpace.MyClass")]
public class MyClass : IBar
{
public void SomeMethod(Excel.Range someRange)
{...}
}
The first thing I would do is to replace your web service call with a real simple method in your .NET code, to make sure your interface and interop wrapper are working right.
Once your skeleton is working right you may want to consider calling your service with an HTTP method instead of using SOAP. For example, here is a simple call using HTTP GET:
string resource = yourUrl;
using (WebClient web = new WebClient())
{
web.Credentials = CredentialCache.DefaultCredentials;
someXml = web.DownloadString(resource);
}
return someXml; // or do something interesting with Excel range