Hi, I have to communicate to LoopiaAPI with XML-RPC over HTTPS. I have run a local test to see if it is possible first. My set up:
- Lap top - M$ Vista - Open Desktop Server v 2.0.1 My impression after the test I done below is that cfxmlprc is not supported on GAE and if I use it on Standard Edition Jetty the simplest solution is to use Tunnelier (like cfmail before ssl and tls was supported..) TEST CODE: <cfset strUrl = "åland.se" /> <!--- Create a Java URL. CFXMLRPC---> <cfset jUrl = CreateObject( "java", "java.net.IDN" ).toASCII(strUrl) / > <cfset myarray = ['user','password','#jUrl#']> <cfxmlrpc server="https://api.loopia.se/RPCSERV" method="domainIsFree" params="#myarray#"> <cfdump var="#XMLRPC#"> First run with Standard Engine: with HTTPS xmlrpc struct error Failed to read server's response: https method domainIsFree server https://api.loopia.se/RPCSERV success NO Second run with Standard Engine now with HTTP: xmlrpc struct error HTTP server returned unexpected status: Found method domainIsFree server http://api.loopia.se/RPCSERV success NO First run with GAE as run time engine (over HTTPS): Big Error: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(Unknown Source) at com.naryx.tagfusion.cfx.cfCFX.defaultParameters(Unknown Source) at com.naryx.tagfusion.cfm.tag.cfParseTag.createTag(Unknown Source) at com.naryx.tagfusion.cfm.tag.cfParseTag.determineCFtag(Unknown Source) at com.naryx.tagfusion.cfm.tag.cfParseTag.readTag(Unknown Source) at com.naryx.tagfusion.cfm.tag.cfParseTag.readTag(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFile.readFile(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFile.(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFileEncoding.findProcessingDirective(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFileEncoding.init(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFileEncoding.init(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFileEncoding.init(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFileEncoding.(Unknown Source) at com.naryx.tagfusion.cfm.file.cfFile.(Unknown Source) at com.naryx.tagfusion.cfm.file.cfmlFileCache._getCfmlFile2(Unknown Source) at com.naryx.tagfusion.cfm.file.cfmlFileCache._getCfmlFile(Unknown Source) at com.naryx.tagfusion.cfm.file.cfmlFileCache.getCfmlFile(Unknown Source) at com.naryx.tagfusion.cfm.engine.cfSession.getFile(Unknown Source) at com.naryx.tagfusion.cfm.engine.cfSession.getUriFile(Unknown Source) at com.naryx.tagfusion.cfm.engine.cfSession.getRequestFile(Unknown Source) at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source) at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java: 35) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java: 94) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:351) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 409) at org.mortbay.thread.QueuedThreadPool $PoolThread.run(QueuedThreadPool.java:582) -- official tag/function reference: http://openbd.org/manual/ mailing list - http://groups.google.com/group/openbd?hl=en
