无法将 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, qname
和 service
是 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);
}
}
我正在尝试根据提供商提供的一些文档调用旧的 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, qname
和 service
是 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);
}
}