Another attempt we made to get around it (since we were SURE it was cache
related) was to convert our object CFC to a java class.

So some background for those who might not have followed the old thread:

We have an "object" cfc. It is nothing but a few CFPROPERTY tags.

This would be an example of that entire CFC.

=================================
<cfcomponent output="false">
        <cfproperty name="property1" type="string" />
        <cfproperty name="property2" type="string" />
        <cfproperty name="property3" type="string" />
    
        <cfscript>
                property1 = "";
                property2 = "";
                property3 = "";
        </cfscript>
</cfcomponent>
=================================

Say it is called... properties.cfc

Then, in the webservice method, I made the returntype="properties" (in the
same directory)

At the end of the webservice, I did something like:

=================================
<cfscript>
        local.properties = createObject( "component", "path.to.properties "
);
        local.properties.property1 = somequery.value1;
        local.properties.property2 = somequery.value2;
        local.properties.property3 = somequery.value3;
</cfscript>

<cfreturn local.properties />
=================================

Occasionally, this will generate the following:

'coldfusion.xml.rpc.CFCInvocationException:
[java.lang.ClassNotFoundException :
path.to.properties][java.lang.LinkageError : loader (instance of
coldfusion/xml/rpc/SkeletonClassLoader): attempted duplicate class
definition for name: "path/to/properties"]'



Like I mentioned, we tried converting properties.cfc to a java class but I
could NOT get it to work in a webservice. It worked as a normal, local
component. The java class was very basic and is just the equivalent of the
properties.cfc above.

Example:
=================================
package com.prop.test;

public class properties {
      
      public String property1 = "";
      public String property2 = "";
      public String property3 = "";
}
=================================

This is basically what I tried on the webservice side.

=================================
<cfcomponent output="false">
        <cffunction access="remote" name="testMethod" returntype="any">

        <cfset propObj = createObject("java", "com.prop.test.properties") />

                <cfset propObj.property1 = 1 />
                <cfset propObj.property2 = 2 />
                <cfset propObj.property3 = 3 />

                <cfreturn propObj />
        </cffunction>
</cfcomponent>
=================================

Calling that like this works fine:
====================================
createOBject("component", "path.to.webservice").testMethod() />
=================================

Calling it like this generated a "Premature end of file" error (I can hit
the URL in a browser fine and see the WSDL)
====================================
createOBject("webservice",
"http://servername/path/to/webservice.cfc?wsdl";).testMethod() 
=================================

Cannot perform web service invocation testMethod.
The fault returned when invoking the web service operation is:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXParseException: Premature end of file.
 faultActor: 
 faultNode: 
 faultDetail: 
        
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException:
Premature end of file.
        at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
        at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(S... ''


I am just about out of ideas... and by "just about", I mean totally...

Any help or ideas on this would be GREATLY appreciated.


.:.:.:.:.:.:.:.:.:.:.:.:.:.
Bobby Hartsfield
http://acoderslife.com



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:341166
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to