Copy link to clipboard
Copied
Hello all,
We're having problems trying to consume a PeopleSoft webservice that contains complex datatypes. We've tried setting up the cfinvoke a couple different ways (see code snippets below) but continue to get the error message: "Could not generate stub objects for web service invocation. Name: http://xxxxx:30710/PSIGW/Test_3.wsdl. WSDL: http://xxxxx:30710/PSIGW/Test_3.wsdl. org.xml.sax.SAXException: Fatal Error: URI=null Line=1: White spaces are required between publicId and systemId. It is recommended that you use a web browser to retrieve and examine the requested WSDL document for correctness. If the requested WSDL document can't be retrieved or it is dynamically generated, it is likely that the target web service has programming errors." Here are the two cfinvokes that we've tried:
cfinvoke1
<!--- consume the Peoplesoft webservice --->
<cfinvoke
webservice="http://xxxxx:30710/PSIGW/Test_3.wsdl"
method="create__CompIntfc__KCM_CASE_CI_TEST"
username="xxxx"
password="xxxx"
timeout="40"
returnVariable="CASE_ID">
<cfinvokeargument name="DISP_TMPL_ID" value="CRM_GOV"/>
<cfinvokeargument name="BUSINESS_UNIT" value="KCMO1"/>
<cfinvokeargument name="CASE_TYPE" value="SR"/>
<cfinvokeargument name="RB_LOCATION_DETAIL" value="User Supplied 1"/>
<cfinvokeargument name="RC_STATUS" value="HOLD"/>
<cfinvokeargument name="RC_SUMMARY" value="User Supplied 2"/>
<cfinvokeargument name="RB_ANONYMOUS_FLAG" value="Y"/>
<cfinvokeargument name="RC_DESCRLONG" value="User Supplied 3"/>
</cfinvoke>
<!--- display the results --->
<cfoutput>Case Number #CASE_ID#</cfoutput>
-------------------------------------------------------------------------------------------------------------------------------
cfinvoke2
<!--- create structure with arguments --->
<cfscript>
stArgs = structNew();
stArgs.DISP_TMPL_ID = "CRM_GOV";
stArgs.BUSINESS_UNIT = "KCMO1";
stArgs.CASE_TYPE = "SR";
stArgs.RB_LOCATION_DETAIL = "User Supplied 1";
stArgs.RC_STATUS = "HOLD";
stArgs.RC_SUMMARY = "User Supplied 2";
stArgs.RB_ANONYMOUS_FLAG = "Y";
stArgs.RC_DESCRLONG = "User Supplied 3";
</cfscript>
<!--- consume the Peoplesoft webservice --->
<cfinvoke
webservice="http://xxxxx:30710/PSIGW/Test_3.wsdl"
method="create__CompIntfc__KCM_CASE_CI_TEST"
username="xxxx"
password="xxxx"
timeout="40"
argumentCollection="#stArgs#"
returnVariable="CASE_ID">
<!--- display the results --->
<cfoutput>Case Number #CASE_ID#</cfoutput>
Has anyone else had problems like this trying to consume a webservice with complex datatypes? We are on ColdfusionMX7.
Thanks!
Copy link to clipboard
Copied
I am not sure what is being returned but from my experience with web services are retuned in XML format. You may have to parse the xml using XMLParse() and use dot notation to get the values you need. Try doing a cfdump on the CASE_ID and see what you have.