组合代理目标必须至少实现一个接口

时间:2016-08-02 15:09:49

标签: c# .net spring wcf

我有一个简单的WCF服务,但当我尝试在浏览器中打开它时,我收到此错误:

组合代理目标必须至少实现一个接口

标记代码

btnNext.setOnClickListener(new View.OnClickListener() {
    ...
}

btnNext.setOnClickListener(new View.OnClickListener() {
    ...
}

ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() {
    ...
}

public class MyViewPagerAdapter extends PagerAdapter {
    ...
}

IWSRiesgoLiquidez.cs

<%@ ServiceHost Language="C#" Debug="true" Service="Mvm.SATWeb.ServicesLiquidez.Service.WSRiesgoLiquidez"  Factory="Spring.ServiceModel.Activation.ServiceHostFactory" CodeBehind="WSRiesgoLiquidez.svc.cs" %>

实施:WSRiesgoLiquidez.cs

namespace Mvm.SATWeb.ServicesLiquidez.Service
{
    // NOTE: If you change the interface name "IWSEnvioTerceros" here, you must also update the reference to "IWSEnvioTerceros" in Web.config.
    [ServiceContract]
    interface IWSRiesgoLiquidez    
    {

        [OperationContract]
        ResultadoOperacionLiquidez consultaIngresosEgresosPuntosDeAtencion(string USUARIO, string CLAVE, string CODIGORED, string FECHA, string HORAINICIAL, string HORAFINAL);

        [OperationContract]
        ResultadoOperacionLiquidez consultaValorRealPuntoDeAtencion(string USUARIO, string CLAVE, string CODIGORED, string CODIGOPUNTOATENCION);

        [OperationContract]
        ResultadoOperacionLiquidez consultaValorRealPorPuntosDeatencion(string USUARIO, string CLAVE, string CODIGORED);



    }
}

然后在我的web.config中我有:

namespace Mvm.SATWeb.ServicesLiquidez.Service
{

    public class WSRiesgoLiquidez : IWSRiesgoLiquidez
    {


        public ResultadoOperacionLiquidez consultaIngresosEgresosPuntosDeAtencion(string USUARIO, string CLAVE, string CODIGORED, string FECHA, string HORAINICIAL, string HORAFINAL)
        {
            ResultadoOperacionLiquidez respuesta = new ResultadoOperacionLiquidez();
            IServicioMaestros ServicioMaestros = SATWebServiceLocator<IServicioMaestros>.ObtenerServicio();





            try
            {

                using (var riesLiq = new Mvm.SATWeb.ServicesLiquidez.Comun.BusinessDelegate.RiesgoLiqBD())
                {
                  //  respuesta.Retorno = riesLiq.consultaIngresosEgresosPuntosDeAtencion(HORAINICIAL, HORAFINAL);

                    //EnvioTO objLiq = riesLiq.consultaIngresosEgresosPuntosDeAtencion(HORAINICIAL, HORAFINAL);

                    respuesta = riesLiq.consultaIngresosEgresosPuntosDeAtencion(HORAINICIAL, HORAFINAL);


                    respuesta.EjecucionExitosa = true;
                }

            }
            catch (Exception ex)
            {
                respuesta.EjecucionExitosa = false;
                respuesta.MensajeValidacion = RemoveLocalizationString(ex.Message);

            }

            return respuesta;

        }
        public ResultadoOperacionLiquidez consultaValorRealPuntoDeAtencion(string USUARIO, string CLAVE, string CODIGORED, string CODIGOPUNTOATENCION)
        {
            ResultadoOperacionLiquidez respuesta = new ResultadoOperacionLiquidez();
            return respuesta;
        }





        public ResultadoOperacionLiquidez consultaValorRealPorPuntosDeatencion(string USUARIO, string CLAVE, string CODIGORED)
        {
            ResultadoOperacionLiquidez respuesta = new ResultadoOperacionLiquidez();
            return respuesta;
        }
        private string RemoveLocalizationString(string p)
        {
            string strMensaje = String.Empty;
            strMensaje = p.Replace("[", "").Replace(", es-CO]", "");
            return strMensaje;
        }


    }
}

在ServiciosNegocios.config上我有

  <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" />
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
    </sectionGroup>

  </configSections>
  <!-- Configuración de spring con los servicios Web -->


  <spring>
    <context>
       Servicios de seguridad, logging, multilenguaje, etc. 
      <resource uri="~/Servicios/Infraestructura.config" />
       La declaracion de los servicios de negocio (Los BO) 
      <resource uri="~/Servicios/ServiciosNegocio.config" />
    </context>
  </spring>

和Infraestructure.config

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
  <description>Declaracion de objetos de negocio</description>





  <!--Objetos de negocio - Seguridad-->
  <object id="SATWebSeguridadTarget" type="Mvm.SATWeb.Core.Seguridad.Modelo.Negocio.ServicioSeguridad, Mvm.SATWeb.Core">
  </object>
  <!--Proxy - Seguridad-->
  <object id="SATWebSeguridadService"
      type="Spring.Aop.Framework.ProxyFactoryObject">
    <property name="target">
      <ref object="SATWebSeguridadTarget"/>
    </property>
    <property name="interceptorNames">
      <list>
        <value>MethodInterceptor</value>
      </list>
    </property>
  </object>

  <object id="Mvm.SATWeb.ServicesLiquidez.Service.WSRiesgoLiquidezTarget"
            type="Mvm.SATWeb.ServicesLiquidez.Service.WSRiesgoLiquidez, Mvm.SATWeb.ServicesLiquidez">
  </object>

  <object id="Mvm.SATWeb.ServicesLiquidez.Service.WSRiesgoLiquidez"
        type="Spring.Aop.Framework.ProxyFactoryObject">
    <property name="target">
      <ref object="Mvm.SATWeb.ServicesLiquidez.Service.WSRiesgoLiquidezTarget"/>
    </property>
    <property name="interceptorNames">
      <list>
        <value>MethodInterceptor</value>
      </list>
    </property>
  </object>

</objects>

详细错误是这样的:

  

组合代理目标必须至少实现一个接口。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.ArgumentException:组合代理目标   必须至少实现一个接口。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[ArgumentException:组合代理目标必须至少实现   一个界面。]
  Spring.Proxy.CompositionProxyTypeBuilder.BuildProxyType()+ 125 5   Spring.ServiceModel.Support.ServiceProxyTypeBuilder.BuildProxyType()   +41 Spring.ServiceModel.SpringServiceHost.CreateServiceType(String serviceName,IApplicationContext applicationContext)+177
  Spring.ServiceModel.SpringServiceHost..ctor(String serviceName,   IApplicationContext applicationContext,Uri [] baseAddresses)+43
  Spring.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(字符串   参考,Uri [] baseAddresses)+141
  System.ServiceModel.HostingManager.CreateService(字符串   normalizedVirtualPath)+693
  System.ServiceModel.HostingManager.ActivateService(字符串   normalizedVirtualPath)+42
  System.ServiceModel.HostingManager.EnsureServiceAvailable(字符串   normalizedVirtualPath)+479

0 个答案:

没有答案