无法将 java.lang.Class 隐式转换为 C# 对象

Cannot implicitly convert java.lang.Class to c# object

我正在尝试根据提供商提供的一些文档调用旧的 Java XML WS。事情是这样的。在某些时候,我需要创建一个 java 服务并调用它的 .getPort() 函数,但它需要一个 java.lang.class 对象,而我自己有一个接口。

public ServiceResponse CallFileUploadService(List<BatchFile> batchFiles)
    {
        ServiceResponse resp = new ServiceResponse();
        try
        {
            URL url = new URL(configuration.Endpoints.CallFileUploadService_Url);
            QName qname = new QName(configuration.Endpoints.CallFileUploadService_QName, "FileUploadWebService");
            Service service = Service.create(url, qname);

            IFileUploadWebService ws = service.getPort(typeof(IFileUploadWebService)); // GETTING ERROR HERE
        }
        catch (Exception ex)
        {
            Utilities.Print($"Error en la llamada al servicio web. Ver detalles:\n{ex.Message}\n\n{ex.StackTrace}", true);
        }
    }

错误说:

对象 url, qnameservice 是 java 个对象。

感谢任何帮助!

经过反复试验设法以这种方式解决了它。最后很简单,只需要一个演员表:

public ServiceResponse CallFileUploadService(List<BatchFile> batchFiles)
{
    ServiceResponse resp = new ServiceResponse();
    try
    {
        URL url = new URL(configuration.Endpoints.CallFileUploadService_Url);
        QName qname = new QName(configuration.Endpoints.CallFileUploadService_QName, "FileUploadWebService");
        Service service = Service.create(url, qname);

        IFileUploadWebService ws = (IFileUploadWebService)service.getPort(typeof(IFileUploadWebService)); // GETTING ERROR HERE
    }
    catch (Exception ex)
    {
        Utilities.Print($"Error en la llamada al servicio web. Ver detalles:\n{ex.Message}\n\n{ex.StackTrace}", true);
    }
}