-1

我正在尝试根据提供者提供的一些文档调用旧的 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对象。

任何帮助表示赞赏!

4

1 回答 1

0

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

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);
    }
}
于 2020-05-24T20:20:51.057 回答