Coldfusion CF web服务阵列与.Net web服务阵列

Coldfusion CF web服务阵列与.Net web服务阵列,coldfusion,Coldfusion,MethodCRM api在.Net中有此示例 Dim arrUpdateFieldsArray(1) As String Dim arrUpdateValueArray(1) As String arrUpdateFieldsArray(0) = Me.txtUpdateField1.Text arrUpdateValueArray(0) = Me.txtUpdateValue1.Text arrUpdateFieldsArray(1) = Me.txtUpdateField12Text a

MethodCRM api在.Net中有此示例

Dim arrUpdateFieldsArray(1) As String
Dim arrUpdateValueArray(1) As String

arrUpdateFieldsArray(0) = Me.txtUpdateField1.Text
arrUpdateValueArray(0) = Me.txtUpdateValue1.Text
arrUpdateFieldsArray(1) = Me.txtUpdateField12Text
arrUpdateValueArray(1) = Me.txtUpdateValue2.Text

'Call the MethodAPI to update the record
sResult = wbsMethodAPI.MethodAPIUpdateV2(sCompanyAccount, sUserName, sPassword, "", _sUpdateTable, arrUpdateFrieldsArray, arrUpdateValueArray, intRecordID)
wbsMethodAPI = Nothing
我曾尝试构建这个等价物,但没有成功,这就是我所尝试的

<CFSCRIPT>
    s = "salesRep,CustomerType";
    array1 = s.split(",");
    s = "#Signature_RepName#,#Payment_CompanyType#";
    array2 = s.split(",");

    string = CreateObject("java", "java.lang.String");
    array = CreateObject("java", "java.lang.reflect.Array");
    cookies = array.newInstance(string.getClass(), 3);
    array.set(cookies, 0, "salesRep");
    array.set(cookies, 1, "CustomerType");

    string2 = CreateObject("java", "java.lang.String");
    array2 = CreateObject("java", "java.lang.reflect.Array");
    cookies2 = array2.newInstance(string.getClass(), 3);
    array2.set(cookies2, 0, "#Signature_RepName#");
    array2.set(cookies2, 1, "#Payment_CompanyType#");
</CFSCRIPT>

<cfhttp url="https://www.methodintegration.com/MethodAPI/service.asmx/MethodAPIUpdateV2" method="GET"> 
    <cfhttpparam type="URL" name="strCompanyAccount" value="xxxx"/>
    <cfhttpparam type="URL" name="strLogin" value="xxxx"/>
    <cfhttpparam type="URL" name="strPassword" value="xxxx"/>
    <cfhttpparam type="URL" name="strSessionID" value=""/>
    <cfhttpparam type="URL" name="strTable" value="Customer"/>
    <cfhttpparam type="URL" name="arrUpdateFieldsArray" value=#cookies#/>
    <cfhttpparam type="URL" name="arrUpdateValueArray" value=#cookies2#/>
    <cfhttpparam type="URL" name="intRecordID" value="#customerid#"/>
</cfhttp>

s=“salesRep,CustomerType”;
阵列1=s.split(“,”);
s=“#签名#代表姓名#,#付款#公司类型#”;
array2=s.split(“,”);
string=CreateObject(“java”、“java.lang.string”);
array=CreateObject(“java”、“java.lang.reflect.array”);
cookies=array.newInstance(string.getClass(),3);
数组.set(cookies,0,“salesRep”);
数组.set(cookies,1,“CustomerType”);
string2=CreateObject(“java”、“java.lang.String”);
array2=CreateObject(“java”,“java.lang.reflect.Array”);
cookies2=array2.newInstance(string.getClass(),3);
数组2.set(cookies2,0,“#签名#代表名#”);
数组2.set(cookies2,1,“#付款#公司类型#”);

请让我知道我做错了什么。TIA

我相信这些都是SOAPWeb服务。证明:

因此,使用
cfinvoke
来使用它们

<cfinvoke 
     webservice="https://www.methodintegration.com/MethodAPI/service.asmx?wsdl" 
     method="MethodAPIUpdateV2" 
     returnVariable="ws" >
    <cfinvokeargument name="strCompanyAccount" value="" />
    <cfinvokeargument name="strLogin" value="" />
    <cfinvokeargument name="strPassword" value="" />
    <cfinvokeargument name="strSessionID" value="" />
    <cfinvokeargument name="strTable" value="" />
    <cfinvokeargument name="arrUpdateFieldsArray" value="" />
    <cfinvokeargument name="arrUpdateValueArray" value="" />
    <cfinvokeargument name="intRecordID" value="" />
</cfinvoke>


见:


这两个数组的类型为
tns:ArrayOfString
,请参阅:

我相信根据我们的定义,它们是SOAP web服务。证明:

因此,使用
cfinvoke
来使用它们

<cfinvoke 
     webservice="https://www.methodintegration.com/MethodAPI/service.asmx?wsdl" 
     method="MethodAPIUpdateV2" 
     returnVariable="ws" >
    <cfinvokeargument name="strCompanyAccount" value="" />
    <cfinvokeargument name="strLogin" value="" />
    <cfinvokeargument name="strPassword" value="" />
    <cfinvokeargument name="strSessionID" value="" />
    <cfinvokeargument name="strTable" value="" />
    <cfinvokeargument name="arrUpdateFieldsArray" value="" />
    <cfinvokeargument name="arrUpdateValueArray" value="" />
    <cfinvokeargument name="intRecordID" value="" />
</cfinvoke>


见:


这两个数组的类型为
tns:ArrayOfString
,请参见:

第一件事,请先说明“但不能成功”的含义。发生了什么事?除了给我们代码并告诉我们“它没有工作”之外,你还需要告诉我们它做了什么而不是工作,以及你对“它工作”的期望是什么。当您更新问题以反映这一点时,我将删除否决票。干杯。除非有特殊原因,否则没有必要使用Java对象。你应该重新考虑一切以
“CreateObject(“java”
)开始的事情。首先,你能证明你所说的“但不是成功”是什么意思吗?发生了什么?除了给我们代码并告诉我们“它不工作”之外,你还需要告诉我们它做了什么而不是工作,以及你对“它工作”的期望是什么“。当您更新问题以反映这一点时,我将删除否决票。干杯。除非有特定原因,否则没有必要使用Java对象。您应该重新考虑以
”CreateObject(“Java”