Web services 使用coldfusion中.NET中复杂类型的restful Web服务
我在ColdFusion中遇到了一些问题,即如何设置需要restful NET Web服务的复杂参数。实际上,我有下一个代码,但是当我使用Ws时,我有一条消息“对象引用未设置为对象的实例。”因此,我认为我的CF代码是错误的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
<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=结果;
}
我希望有人能给我任何提示
问候