使用 java 的 .net Web 服务未显示预期结果

本文关键字:显示 结果 服务 java net Web 使用 | 更新日期: 2023-09-27 18:33:13

我在从简单的Java应用程序使用.NET Web服务时遇到问题。我现在只测试Web服务客户端是否获取了预期数据,显然它没有。我在 Eclipse 中使用 wsdl 位置创建了一个 Web 服务客户端,它进展顺利。另外,我已经在 .NET 端测试了这些方法,它们工作正常。因此,在使用 Web 服务客户端生成的方法时,问题一定是我缺少的。我将展示几乎非常简单的代码:

package com.consumeserviciodirectorio;
import java.rmi.RemoteException;
import org.apache.axis.AxisFault;
import org.tempuri.*;
import org.datacontract.schemas._2004._07.DAL_DirectorioCide_Modelo.*;
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
try {
IDirectorioCIDEProxy d = new IDirectorioCIDEProxy();
String resp = d.jerry("ya");
System.out.println(resp);
ModeloEmpleadoParaDirectorio[] lista = d.consulta("Paterno=|osorio|");
System.out.println(lista.length);
for(ModeloEmpleadoParaDirectorio res:lista){
System.out.println("Nombre: "+res.getNombres()+" Apellidos: "+res.getPaterno()+" "+res.getMaterno());
System.out.println("Area: "+res.getAreaDescripcion()+" Email: "+res.getEmailCia());
}
}
catch (AxisFault e) {
    System.out.println(e.getMessage()+ " "+e.getFaultReason());
}
catch (RemoteException ex) {
    System.out.println(ex.getMessage());
}
    }
}

此外,.NET 端的代码是这样的(它经过测试并且与我在上面传递的参数一起使用):

public List<Modelo.ModeloEmpleadoParaDirectorio> Consulta(string Consulta)
        {
            List<Modelo.ModeloEmpleadoParaDirectorio> _result = new List<Modelo.ModeloEmpleadoParaDirectorio>();
            try
            {
                using (EvolutionCatalogosEntities modelo = new EvolutionCatalogosEntities())
                {
                    Consulta = Consulta.Replace("|", "'"");
                    _result = (from U in modelo.Empleado
                               join C in modelo.CatAreas on U.ActInstId equals C.IdCatArea
                               select new Modelo.ModeloEmpleadoParaDirectorio
                               {
                                   Id = U.Id,
                                   Nombres = U.Nombres,
                                   Paterno = U.Paterno,
                                   Materno = U.Materno,
                                   AreaDescripcion = C.AreaDescripcion,
                                   EmailCia = U.EmailCia
                               }).AsQueryable().Where(Consulta).ToList();
                }
                return _result;
            }
            catch
            {
                return _result;
            }
        }

但是,无论我做什么,名为 lista 的变量都是一个空数组,这意味着它的长度为 0。我一定缺少一些东西,但我之前使用相同的方法来调用 Web 服务并且它有效。有人可以指出该代码的问题是什么吗?

使用 java 的 .net Web 服务未显示预期结果

我找到了在 .NET 端调试服务的答案。问题是 svc 的 web.config 中缺少模型的连接字符串。我知道代码不是问题,在任何连接点上。很抱歉发布可能与实际问题无关的问题。