Web services 使用coldfusion中.NET中复杂类型的restful Web服务

Web services 使用coldfusion中.NET中复杂类型的restful Web服务,web-services,rest,coldfusion,complextype,Web Services,Rest,Coldfusion,Complextype,我在ColdFusion中遇到了一些问题,即如何设置需要restful NET Web服务的复杂参数。实际上,我有下一个代码,但是当我使用Ws时,我有一条消息“对象引用未设置为对象的实例。”因此,我认为我的CF代码是错误的 <cfset dotnetstring = createObject(".net", "System.String", "dotNetCoreProxy.jar")> <cfset ClienteList = CreateObject(".net","Sy

我在ColdFusion中遇到了一些问题,即如何设置需要restful NET Web服务的复杂参数。实际上,我有下一个代码,但是当我使用Ws时,我有一条消息“对象引用未设置为对象的实例。”因此,我认为我的CF代码是错误的

<cfset dotnetstring = createObject(".net", "System.String", "dotNetCoreProxy.jar")>

<cfset ClienteList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring.getDotNetClass())>
<cfset CoberturaList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring .getDotNetClass())>
<cfset IncisoList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring.getDotNetClass())>
<cfset ClausulaList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring.getDotNetClass())>
<cfset CuotaList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring.getDotNetClass())>
<cfset ObservacionList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar").init(dotnetstring.getDotNetClass())>







<cfset myEmission = StructNew()>
<cfset myEmission.Emission.codSuc = "30">
<cfset myEmission.Emission.codRamo = "200">
<cfset myEmission.Poliza.numPol = "0">
<cfset myEmission.Poliza.anioEndoso = "0">
<cfset myEmission.Poliza.numEndoso = "0">
<cfset myEmission.Poliza.codMoneda = "0">
<cfset myEmission.Poliza.codTipoPoliza = "4">
<cfset myEmission.Poliza.fecVigDesde = "30/11/2013">
<cfset myEmission.Poliza.fecVigHasta = "30/11/2014">
<cfset myEmission.agente.codTipoAgente = "1">
<cfset myEmission.agente.codAgente = "1000">

<cfset ClienteList.add("{apPat='Casey'}")>
<cfset ClienteList.add("{apMat='Walker'}")>
<cfset ClienteList.add("{nombre='Tom'}")>
<cfset ClienteList.add("{tipoPersona='J'}")>
<cfset ClienteList.add("{codItem='0'}")>
<!---<cfdump var="#ClienteList.Get_Count()#">--->
<cfset myEmission.Cliente = ClienteList>

<cfset CoberturaList.add("{codItem=12}")>
<cfset CoberturaList.add("{codIndCob=999}")>
<cfset CoberturaList.add("{codRamo=5}")>
<cfset CoberturaList.add("{codTarifa=13}")>
<cfset CoberturaList.add("{codObjeto=999}")>
<cfset myEmission.Cobertura = CoberturaList>

<cfset IncisoList.add("{codItem=0}")>
<cfset IncisoList.add("{codIndCob=77}")>
<cfset myEmission.Inciso = IncisoList>

<cfset ClausulaList.add("{codTipoAnexo=25}")>
<cfset ClausulaList.add("{codAnexo=50}")>
<cfset myEmission.Clausula = ClausulaList>

<cfset CuotaList.add("{numCuota=6}")>
<cfset CuotaList.add("{codItem=5}")>
<cfset CuotaList.add("{fecVenc='31/12/2013'}")>
<cfset CuotaList.add("{impPrimaMe='440.44m'}")>
<cfset CuotaList.add("{impIvaMe='33.33m'}")>
<cfset CuotaList.add("{impRecFinMe='22m'}")>
<cfset CuotaList.add("{impDerPoliza='11m'}")>
<cfset CuotaList.add("{impDerPolizaTur='0m'}")>
<cfset CuotaList.add("{impPremio='1010m'}")>
<cfset myEmission.Cuota = CuotaList>

<cfset ObservacionList.add("{codItem=7}")>
<cfset myEmission.Observacion = ObservacionList>

<cfset myEmission.Observacion.codItem = "7">

<!---<cfdump var="#myEmission#">--->




<cfset ws= createobject("webservice","http://somedomain.com.mx/IntegrationService/EmissionService.svc?wsdl") >

<cfset aString = ws.createPolicy(#myEmission#) >

<cfdump var="#aString#">

我有一个如何从网上使用Web服务的示例。我的问题是如何在CF中设置对象

protected void Button1_Click(object sender, EventArgs e)
    {
        //Create Emission object in order to manage entities for emission process
        IntegrationService.Emission myEmission = new IntegrationService.Emission();
        myEmission.codSuc = 30;
        myEmission.codRamo = 200;
        myEmission.poliza = new IntegrationService.Poliza() { 
                                                              //These must be initialized from WS
                                                              numPol = "0", 
                                                              anioEndoso = 0, 
                                                              numEndoso = "0",
                                                              //
                                                              codMoneda = 0, 
                                                              codTipoPoliza = 4, 
                                                              fecVigDesde = new DateTime(2013,11,30),
                                                              fecVigHasta = new DateTime(2014,11,30)
                                                            };
        myEmission.agente = new IntegrationService.Agente() { 
                                                              codTipoAgente = 1,
                                                              codAgente = 1000
                                                            };
        myEmission.cliente = new System.Collections.Generic.List<IntegrationService.Cliente>(){
                                            new IntegrationService.Cliente()
                                            {
                                                apPat = "Casey",
                                                apMat = "Walker",
                                                nombre = "Tom",
                                                tipoPersona = "J",
                                                codItem = 0
                                            }
                                          };
        myEmission.cobertura = new System.Collections.Generic.List<IntegrationService.Cobertura>(){
                                                new IntegrationService.Cobertura() 
                                                {
                                                    codItem = 12,
                                                    codIndCob = 999,
                                                    codRamo = 5,
                                                    codTarifa = "13",
                                                    codObjeto = "999"
                                                }
                                            };
        myEmission.inciso = new System.Collections.Generic.List<IntegrationService.Inciso>(){
                                                new IntegrationService.Inciso()
                                                {
                                                    codItem = 0,
                                                    codIndCob = 77
                                                }
                                            };
        myEmission.clausula = new System.Collections.Generic.List<IntegrationService.Clausula>(){
                                                new IntegrationService.Clausula()
                                                {
                                                    codTipoAnexo = 25,
                                                    codAnexo = 50
                                                }
                                            };
        myEmission.cuota = new System.Collections.Generic.List<IntegrationService.Cuota>(){
                                                new IntegrationService.Cuota()
                                                {
                                                    numCuota = 6,
                                                    codItem = 5,
                                                    fecVenc = new DateTime(2013,12,31),
                                                    impPrimaMe = 440.44m,
                                                    impIvaMe = 33.33m,
                                                    impRecFinMe = 22m,
                                                    impDerPoliza = 11m,
                                                    impDerPolizaTur = 0m,
                                                    impPremio = 1010m
                                                }
                                            };
        myEmission.observacion = new System.Collections.Generic.List<IntegrationService.Observacion>(){
                                                new IntegrationService.Observacion()
                                                {
                                                    codItem = 7
                                                }
                                            };
        //Instantiate service as client

        IntegrationService.EmissionServiceClient myServiceClient = new IntegrationService.EmissionServiceClient();
        //Open service client request
        myServiceClient.Open();
        //Call specified WebMethod as necessary, sending Emission object as parameter
        result = myServiceClient.createPolicy(myEmission);
        //Close service client request
        myServiceClient.Close();

        Label1.Text = result;
    }
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
//创建排放对象以管理排放过程的实体
IntegrationService.Emission=新的IntegrationService.Emission();
myEmission.codSuc=30;
myEmission.codRamo=200;
myEmission.poliza=新的IntegrationService.poliza(){
//这些必须从WS-Server初始化
numPol=“0”,
anioEndoso=0,
numEndoso=“0”,
//
codMoneda=0,
codTipoPoliza=4,
fecVigDesde=新日期时间(2013,11,30),
fecVigHasta=新日期时间(2014,11,30)
};
myEmission.agente=新的IntegrationService.agente(){
codTipoAgente=1,
codAgente=1000
};
myEmission.cliente=new System.Collections.Generic.List(){
新的IntegrationService.Cliente()
{
apPat=“Casey”,
apMat=“沃克”,
nombre=“汤姆”,
tipoPersona=“J”,
codItem=0
}
};
myEmission.cobertura=new System.Collections.Generic.List(){
新的IntegrationService.Cobertura()
{
codItem=12,
CODINCOB=999,
codRamo=5,
codTarifa=“13”,
codObjeto=“999”
}
};
myEmission.inciso=new System.Collections.Generic.List(){
新的IntegrationService.Inciso()
{
codItem=0,
CODINCOB=77
}
};
myEmission.clausula=new System.Collections.Generic.List(){
新的IntegrationService.Clausula()
{
codTipoAnexo=25,
codAnexo=50
}
};
myEmission.cuota=new System.Collections.Generic.List(){
新的IntegrationService.Cuota()
{
numCuota=6,
codItem=5,
fecVenc=新日期时间(2013,12,31),
IMPPRINAME=440.44米,
impIvaMe=33.33米,
Impercfinme=22m,
impDerPoliza=11米,
impDerPolizaTur=0m,
impPremio=1010m
}
};
myEmission.observacion=new System.Collections.Generic.List(){
新的IntegrationService.Observacion()
{
代码项=7
}
};
//将服务实例化为客户端
IntegrationService.EmissionServiceClient myServiceClient=新的IntegrationService.EmissionServiceClient();
//开放服务客户端请求
myServiceClient.Open();
//根据需要调用指定的WebMethod,将发射对象作为参数发送
结果=myServiceClient.createPolicy(myEmission);
//关闭服务客户端请求
myServiceClient.Close();
Label1.Text=结果;
}
我希望有人能给我任何提示

问候