2 Replies Latest reply on Jun 1, 2009 1:28 PM by knitting_guy

    Content is not allowed in prolog

    knitting_guy

      Hi All,

       

      I have a web services written in CF that has two input parameters.   One parameter is an integer and the other parameter is an XML string.  In the application that calls this web service, it is passing an wddx packet to this second parameter.

       

      The trouble is, I keep on getting the following error message.

       

               <faultcode>soapenv:Server.userException</faultcode>
               <faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.wddx.WddxDeserializationException : WDDX packet parse error at line 1, column 1. Content is not allowed in prolog..]</faultstring>

       

      I took a look at Ben Nadel's blog on this problem.  I have tried trimming out the excessive spaces but it did not solve the problem.  I had also looped through the XML string to see if the BOM is the problem; the BOM is not there. And yet, the above message keeps coming on.  Can anyone point me to the right directions in solving this error?

       

      Thanks advance,

      Monte

        • 1. Re: Content is not allowed in prolog
          knitting_guy Level 1

          Sorry,  I copied the wrong error message.

           

          The following error message is what I am getting.

           

          AxisFault
          faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
          faultSubcode:
          faultString: coldfusion.xml.rpc.CFCInvocationException:
               [coldfusion.wddx.WddxDeserializationException : WDDX packet parse error at line 1, column 1. Content is not allowed in prolog..]
          faultActor:
          faultNode:
          faultDetail:
               {http://xml.apache.org/axis/}stackTrace:coldfusion.xml.rpc.CFCInvocationException: [coldfusion.wddx.WddxDeserializationException : WDDX packet parse error at line 1, column 1. Content is not allowed in prolog..]
               at coldfusion.xml.rpc.CFComponentSkeleton.__createCFCInvocationException(CFComponentSkeleton.java:723)
               at coldfusion.xml.rpc.CFComponentSkeleton.__invoke(CFComponentSkeleton.java:670)
               at aimsweb.ws.SIFDataEx.InsertSchools(C:\Inetpub\wwwroot\AIMSweb\ws\SIFDataEx.cfc)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Dele... ''
          • 2. Re: Content is not allowed in prolog
            knitting_guy Level 1

            In case anyone wants to see the codes,

             

            Here is what I have in the web service,

             

            <cfcomponent>

                <cffunction name="InsertStuff" access="remote" returntype="query" output="no">
                  <cfargument name="MyID" type="numeric" required="yes">
                  <cfargument name="MyData" type="xml" required="yes">

             

                       <cfset variables.my_returned_query = QueryNew("SomID, Some_Message")>
                  <!---

                   Some CF codes

                  --->

             

                  <cfreturn variables.my_returned_query>

               </cffunction>

            </cfcomponent>

             

            In the page where I call my web service, the followings are what I have.

             

              <cfset variables.temp_qry = QueryNew("Some_ID, Some_Stuff")>

              <cfset variables.temp = QueryAddRow(variables.temp_qry)>
              <cfset variables.temp = QuerySetCell(variables.temp_qry, "Some_ID", "1")>
              <cfset variables.temp = QuerySetCell(variables.temp_qry, "Some_Stuff", "Stuff")>

             

              <cfwddx action="cfml2wddx" input="#variables.temp_qry#" output="variables.temp_wddx">

            <cfscript>
                ws = CreateObject("webservice",
            "http://localhost/mydir/ws/mywebservice.cfc?wsdl");

                    ws.InsertStuff(1, variables.temp_wddx);
               resp = getSOAPResponse(ws);

            </cfscript>

             

            The line that is bombing out is ws.InsertStuff(1, variables.temp_wddx);

             

            Please see my other post for the error message.