Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Problem consuming webservice containing complex datatypes

Guest
Mar 18, 2010 Mar 18, 2010

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!

799
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Mar 19, 2010 Mar 19, 2010
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources