使用 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 服务并且它有效。有人可以指出该代码的问题是什么吗?
我找到了在 .NET 端调试服务的答案。问题是 svc 的 web.config 中缺少模型的连接字符串。我知道代码不是问题,在任何连接点上。很抱歉发布可能与实际问题无关的问题。