Using the fireworks XML RPC server

Hi, I am trying to use the XML RPC server in fireworks to export pages of a PNG.
The relevant help url: http://help.adobe.com/en_US/fireworks/cs/extend/WS5b3ccc516d4fbf351e63e3d1183c949219-7ffe. html
And the pdf version: http://help.adobe.com/en_US/fireworks/cs/extend/fireworks_cs5_extending.pdf (chapter 7)
All I want to do is open a file, call exportPages(), and close it. So far this has been a very painful experience. I have CS5 Design Premium on a mac (os 10.5) if it matters. But I have the same problem 1 with my copy of CS3.
Problem 1
Fireworks never ever returns a document id. It also does not return an error number. The value attribute of the returned obj element and any error attributes are empty. Here are some example calls and responses:
request: <func name="createDocument" obj="fw"></func>
response: <return><obj value="" class="DocumentClass"></obj></return>'
request: <func name="closeDocument" obj="fw"><string order="0" value="0" /><bool order="1" value="false" /></func>
response: <return error=""></return>
Note the value of the response is empty. This is always the case, unless I get something back that is not an integer. For instance. I am able to get the path url of the open doc:
request: <func name="getDocumentPath" obj="fw"></func>
response: <return><string value="file:///Macintosh%20HD/Users/me/work/somefile.png"></string></return>
Is anyone else using this with any success? Will a FW dev some here and set me straight? I am opening a socket with python like this:
import socket
self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self._sock.connect(('localhost', 12124))
It seems like anything that is an int on FW end doesn't come through the response?
Problem 2
When I open a file that was created in CS3 with the API, a blocking dialog pops up asking about converting the fonts. FW will not return my request until this dialog is dismissed. Is there any way around this? This pretty much nullifies any automation with fireworks on files create by an older version.
Any help or insight into either of these would be extraordinarily helpful. Or if you have a way to export pages from a FW PNG without running fireworks, I would love love love to hear it. Judging by the RPC documentation, the availability of info online (virtually none!) and my experience with it, it seems adobe doesn't care about it all that much.

Hi Priyanka. It seems you are using the JS api? Flash? I am trying to use this via the XML RPC server in fireworks. Those are precisely the calls I am making to the RPC server with no avail: they do not return document ids. If you get a chance, can you (or anyone) run the following python code? Just open fireworks CS5, open a file and run this python code. It should return (print) the document id of the current document in a value="" attribute.
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost", 12124))
dom = '<func name="getDocumentDOM" obj="fw"><string order="0" value="document" /></func>\0'
s.send(dom)
res = []
r = s.recv(1)
while ord(r):
    res.append(r)
    r = s.recv(1)
print ''.join(res)
Like I said earlier, this code works for me with CS3, but does not work with CS5; value="" is empty.
I am not running this on a server. I am just trying to do some batch processing.
Ben

Similar Messages

  • When using the built in web server, is there a way to specify a different

    When using the built in web server, is there a way to specify a different error handler when you try to access a NON .CFM file? Right now I get the standard:
    java.io.FileNotFoundException: filename.ext
    Is there any setting to override this and direct the message to your own .cfm template? The missing template handler in the CF Admin work only for .cfm files.
    Thx

    The in-built web server for ColdFusion 8 is JRun. I am on ColdFusion 10, however, and so cannot offer hands-on advice. (CF10 replaced JRun with Tomcat.)
    My guess is that you have to modify the file {CF_ROOT}/WEB-INF/web.xml. Don't forget to create a back-up first!
    You may then proceed as follows.
    1) In the ColdFusion root (CF_ROOT), create the file myCustomFileNotFound.cfm. Give it some content, like
    My custom File Not Found page. Current time: <cfoutput>#now()#</cfoutput>
    2) Open the file {CF_ROOT}/WEB-INF/web.xml in a text editor. Add the following error-handling specification just before the end tag </web-app>:
    <error-page>
    <error-code>404</error-code>
    <location>/myCustomFileNotFound.cfm</location>
    </error-page>
    Save the file web.xml.
    3) Restart ColdFusion. Test by browsing to a URL requesting filename.ext

  • Dealing with two email accounts that use the same SMTP (outgoing) server

    Folks:
    re:   mail.app  5.2 (MacOS 10.7.4) with respect to POP accounts only
    I've read this thread multiple times, spent many hours experimenting, and my web searches haven't come up with any more useful help.
    How do you persuade mail.app to accept settings for two similar, but distinct email accounts that use the same SMTP (outgoing) server?   Say, the accounts are "blue.example.com" and "[email protected]". These have different user names and passwords.   The SMTP server is "smtp.example.com". 
    I think this is the appearance of success: the SMTP Server List (as seen in edit-the SMTP-Server-List mode) shows:
    Server Name                   In Use By Account
        smtp.example.com      [email protected], [email protected]
    (Description column omitted for brevity.  And of course, mail.app doesn't show the little envelope icons.)
    But I cannot reliably achieve this result.   When I select the SMTP server from the list for the second account --as suggested in the above-referenced thread--- I see the credentials (user name and password) for the first.  Should I overwrite them?  No, I don't think so -- I think that will break the first account.   I feel mail.app should present me with empty credentials boxes instead.  Maybe this happens -- sometimes.  But I can't see how to make it happen.  Am I simply overlooking something?
    A slightly different way of asking about this issue:   Suppose  I manage to do a proper setup for the two accounts and they work.  Then I change the password for "[email protected]" on the server. What is a reliable way of reaching the SMTP credentials for that account to make the edit?  Same question for "[email protected]"?    Even when I successfully attach two accounts to one SMTP server, I seem only able to reach the first listed one to make changes. (In this case, "blue.example.com").
    It is possible I'm missing something incredibly obvious...    I know the credentials for each account are distinct, but maybe mail.app copies them from the POP (incoming) settings.   Nah, that can't be, can it?   Or what?
    Maybe I'm seeing bizarre things due to scrambled mail.app preferences.  I've seen it before on other apps: delete the current preference file, get an auto-generated fresh one, and sanity returns. But with mail.app, with the prospect of losing years of emails --yeah, I've done it--  I'm extremely reluctant to mess around.
    Suggestions, please.
    TIA
    Message was edited by: Hen3ry  to clean up the table a little and add a parenthetical explanation.

    OK, I'm convinced.   The mail.app UI is BROKEN -- in my primary user account.  Such that it cannot reliably select an outgoing server for editing.
    I created a new user account and installed some relevant example accounts in mail.app in that account.  No problem. Well, a bit obscure, but still fully logical and reliable selection of individual SMTP accounts for editing.
    For the sake of clarity, I think it is best to mark this "answered" and repost, focusing on the symptoms and asking how one might go about repairing the problem.  So I'll do that.

  • How to use the validation.xml in struts validation?

    Can any one please help me, how to use the validation.xml in struts validation? possible please give me simple example.
    Edited by: SathishkumarAyyavoo on Jan 31, 2009 12:03 PM

    These 2 are the good articles for the beginners to do validation things in Struts. you can follow any one of them.
    1. [http://viralpatel.net/blogs/2009/01/struts-validation-framework-tutorial-example-validator-struts-validation-form-validation.html]
    2. [http://www.vaannila.com/struts/struts-example/struts-custom-validation-example-1.html]
    All the best.

  • When I stream videos from my laptop onto my Apple TV via my iPad 2 using the Air Video app/server the video plays great however when I pause the video the Apple TV reverts back to the home screen within a few seconds and then when I want to restart watchi

    When I stream videos from my laptop onto my Apple TV via my iPad 2 using the Air Video app/server the video plays great however when I pause the video the Apple TV reverts back to the home screen within a few seconds and then when I want to restart watching the video I have to re-buffer the video. Is there any way I can stop the Apple TV from reverting back to the home screen when I pause the video I’m watching?

    Welcome to the Apple Community.
    Contact the developer of the Air Video app.

  • How to apply  special right  to the PDF  file using the LiveCycle Rights Management Server.?

    How to apply special right to the PDF  file using the LiveCycle Rights Management Server.?
    I want  to edit bar code field data using Adobe Reader. Bar Code field was designed and data was changing using Acrobat X1 Professional (Trial Version). But can't do so in adobe reader.

    I think that product has nothing to do with it. You would use LiveCycle Reader Extensions.

  • When using the OS X caching server, after the first update is made, do the rest of the computers have to enter the Apple ID to download the cached update

    Hello,
    I have a question that I had not found an answer to yet. I would like to use the OS X caching server, and I know that it caches a software update as soon as the first computer downloads it. If an application requires authentication using an Apple ID, and the first computer authenticates and downloads that update, do the rest of the computers have to authenticate as well, even though the update is downloaded from the caching server?
    I am looking for a solution in that regard. For the company that I work, I would like a solution for users to be able to download software updates (OS or Application), without having to authenticate with the company Apple ID, for security reasons.
    Would anybody be able to help?

    Yes.  You still need to authenticate on the subsequent machines if you are interactively applying the updates.  Caching server stores the application data, not the App Store authorization information.
    You have some alternatives.
    1:  If you are using a single "corporate" Apple ID to claim your free apps (iMovie, iPhoto, etc), then you can download them on your master machine and then user ARD, JAMF, or other tool to push the full application packages out to all the clients.  They will already be tagged to the Apple ID and since the push is happening in the background, as long as the user is not using the application, they will not know you are updating.  Remember, App Store updates are the entire application, not update packages.  So pushing the entire .app bundle is effective.
    2:  If you are looking to distribute purchased apps, you really should look at the VPP (volume purchase plan) from Apple (http://www.apple.com/business/vpp/) (there is also one for education but you mentioned company).  This allows you as the organization to purchase the correct number of copies and then control the distribution of the apps to your end users.  They can use their own Apple ID to claim the apps but you can reclaim the license should the user leave the organization.
    Reid
    Apple Consultants Network
    Apple Professional Services
    Author "Mavericks Server – Foundation Services" :: Exclusively available in Apple's iBooks Store

  • Please tell me how to use the Simple bluetooth client server example.

    Hi i used the simple bluetooth client server example in labview 7.1. Iam getting an error saying your system does not support the network operation.  I have following doubts also.
    1. Should i pair the device before running the labview.
    2. Should i enable the file transfer wizard in the software given with the bluetooth adapter.
    Please help
    Thank you
    R.Prem kumar 
    09940446193

    Hi R.Prem,
    Could you please let me know what error code is associated with this error message? Also could you please provide a description of the setup you are currently using? Thanks!
    Best regards,
    Steven

  • Using the deployment XML in a J2EE container

    looking for some assistance on deploying toplink in a felxible manner. I've thus far been using toplink by generating a deployment XML and accessing it in the following manner -
    XMLProjectReader reader = new XMLProjectReader();
    Project builderProject = reader.read("C:\\...\\Mapping.xml");
    Server server = builderProject.createServerSession();
    etc ...
    time to go to production! is there a way in which i can access the mapping file from within my web application, rather than referencing a directory path?
    project details:
    deployed as war, struts, plain java beans + toplink, no ejbs
    the thread: 'How to use TopLink's mapping info at runtime' (Re: How to use TopLink's mapping info at runtime
    seems to point to the right direction - just need the blanks filled in
    cheers

    Hi Con,
    You should make use of the SessionManager class to load in a configuration of the session type you want. (Preferrably a ServerSession). The configuration is found in a file called sessions.xml.
    Place this file along with the project.xml file in the root of the WAR.
    Consult the documentation for a more formal explanation of this process.
    Here's a shortened version:
    The sessions.xml file points to a project.xml file via the <project-xml> tag. The sessions.xml file contains a lot more information about how the session is configured such as connection pooling and logging.
    At runtime when the SessionManager is asked to get a session, it automatically looks in the sessions.xml file for the session name that you provide.
    The code would look something like this in production:
    SessionManager manager = SessionManager.getManager();
    ServerSession serverSession = (ServerSession)manager.getSession("mySession", this.class.getClassLoader());
    For examples, please refer to the TopLink install folder/examples.
    If there's something specific about deployment that you need help with, just post the question.
    Thanks,
    Darren Melanson

  • Unable to use the Freescale M5329EVB target server

    Hi everybody,
    I have created a new target on Labview embedded which is based on the Freescale M5329EVB example. The target is a powerpc from Xilinx and it runs a linux on it.
    What I want to do is to use the "target server" from the Freescale example. I copied all LEP_plugin VIs of this target example and modified them to work with my target.
    According to the porting guide, the target server needs a TCP connection, Telnet server and a TFTP client. I implement all of this on my embedded linux and test them. I can connect through telnet and get files through tftp from my linux host.
    When I click on the "Download" command, the target starts, connects to the target through telnet and then tries to connect with TFTP. The problem is with the last one, it puts me a message "Awaiting target connection on port 69 ..." but it never connects.
    I tried to look to the target server VI's but its quite difficult to understand. The problem seems to be located in EMB_Utility_TFTPD_Listen.vi at the UDP_Read function.
    Also, when I netstat my windows, the tftp service is started, so port 69 seems to be opened. Netstat on my target tells me that my windows host is connected to it. The windows firewall is also disactivated.
    If anyone has an idea on what's going wrong ...,
    Thanks for your help,
    François
    Attachments:
    pblm target server.JPG ‏30 KB

    Hi, sorry for being long to answer.
    I have two problems, one for the target server and the other for the debug mode.
    In release mode, the executable downloads well and the execution is
    good. The error "failed to execute program" comes from
    "TargetServer_GetFileSize.vi". The "Match Pattern" box doesn't give the
    right information (please see CheckFileSize.JPG). The problem seems to
    come from the "file size regex" wire.
    Then, if I skip the "checkfilesize" step, the program tries to connect
    to the target, but it gives an other error : "Target not found". I set
    breakpoints in the "nitargetStartTCPDebug.vi". The ip address seems
    good (it's 10.0.0.213 converted in decimal) (please see
    TargetNotFound.JPG and Debug.JPG). I wonder if there's a "HOST_IP" to
    set in the compile argument or something else.
    The other problem is when I try to compile a program in debug mode and instrumented debugging. It gives many errors :
    " C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(Debug.o): In
    function `SetDataToControl':
    ../../CCodeGen/libsrc/comms/Debug.c:496: undefined reference to `SetPictFieldValue'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(CCGTimeSupport_unix.o):
    In function `DtToSecs':
    ../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:91: undefined reference to `PDAClusterGetElemByPos'
    ../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:92: undefined reference to `PDAClusterGetElemByPos'
    ../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:94: undefined reference to `PDAClusterGetElemByPos'
    ../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:96: undefined reference to `PDAClusterGetElemByPos'
    ../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:98: undefined reference to `PDAClusterGetElemByPos'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(CCGTimeSupport_unix.o):../../CCodeGen/libsrc/os/unix/CCGTimeSupport_unix.c:100:
    more undefined references to `PDAClusterGetElemByPos' follow
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(NumText.o):
    In function `NumToTextStatic':
    ../../CCodeGen/libsrc/blockdiagram/NumText.c:676: undefined reference to `StrResize'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(NumText.o):
    In function `NumToTextExpStatic':
    ../../CCodeGen/libsrc/blockdiagram/NumText.c:1145: undefined reference to `StrResize'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(NumText.o):
    In function `NumToTextEngStatic':
    ../../CCodeGen/libsrc/blockdiagram/NumText.c:1271: undefined reference to `StrResize'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(NumText.o):
    In function `StrPadLeft':
    ../../CCodeGen/libsrc/blockdiagram/NumText.c:1407: undefined reference to `StrResize'
    C:\Program Files\National Instruments\LabVIEW
    8.5\Targets\NI\Embedded\unix\ml403TGTS\libs\libppc405rtd.a(NumText.o):
    In function `StrPadRight':
    ../../CCodeGen/libsrc/blockdiagram/NumText.c:1431: undefined reference to `StrResize'
    collect2: ld returned 1 exit status
    I compiled the program with these arguments :  -O0 -g -DCStatic
    -DUsesTCPDebugger=1 -DTCPUDPSupport=1 -w -I. -DCHeadless=1 -Dlinux
    -fno-strict-aliasing -fno-common -fomit-frame-pointer
    and the run time librairies with : -DCHeadless=1 -DNoFileSupport
    -DSocketSupport=1 -DTCPUDPSupport=1 -DCStatic -DUsesTCPDebugger=1
    -D_Include_Scheduler -D_Include_OSScheduler -DPosixFiles=0
    -DFileSupport=0 -DDatalogSupport=0 -DPalm5Earlier=0 -Wall -Dlinux
    -D_LIB -fno-strict-aliasing -fno-common -fomit-frame-pointer -Wa,-Wa,
    -Wno-pointer-sign
    Thanks in advance,
    françoisp
    Attachments:
    Debug1.JPG ‏79 KB
    CheckFileSize1.JPG ‏78 KB
    TargetNotFound1.JPG ‏40 KB

  • Embedding inline HTML data in XML using the mx:XML tag with &lt; and &gt;

    What is best practice for embedding HTML within the
    <mx:XML> tag? Programmatically, I can implement this
    successfully:
    [Bindable]
    public var xmlDP:XML = <component data="&lt;" />;
    However, I get the following error if I try to store the same
    data inline in an mx:XML tag, as such:
    <mx:XML id="xmlDP">
    <component data="&lt;" />
    </mx:XML>
    Error #1095: XML parser failure: Unterminated attribute.
    If I change the MXML tag as follows, it works fine:
    <mx:XML id="xmlDP">
    <component data="&amp;lt;" />
    </mx:XML>
    Unfortunately, I also can not source the mx:XML tag to an XML
    file which uses &lt; or &gt; codes, as it yields the same
    results. This leads me to believe that the <mx:XML> tag does
    not support the special character codes for < and >, but why?
    Incidentally, this code also gives a 1095 error:
    <mx:XML id="xmlDP">
    <component data="&#0060;" />
    </mx:XML>
    This is causing an issue with my source data as it is not
    hand typed into Flex, and standard XML supports the &lt; and
    &gt; codes. I have tried a full HTML string, as shown below,
    but this also generates the error:
    <mx:XML id="xmlDP">
    <component data="&lt;b&gt;Test&lt;/b&gt;"
    />
    </mx:XML>
    Many thanks for any input you may have!

    I’m generating the XML source file with
    Microsoft’s XML Notepad 2007. It will encode invalid special
    characters automatically. My understanding is that this is the
    proper way to handle the less than symbol in a XML string, that is
    to say using the &lt; code.
    With respect to the escape and un-escape methods, I am able
    to successfully implement these in AS, but not in MXML. This makes
    sense considering they are AS methods, but I was hoping to be able
    to do something like:
    <mx:XML id="xmlDP">
    <component data="escape('<');" />
    </mx:XML>
    This gives the following compilation error:
    The value of attribute "data" must not contain the '<'
    character.
    As does using the escape character as such:
    <mx:XML id="xmlDP">
    <component data="\<" />
    </mx:XML>
    Below is an example of what the escape character may be used
    for in AS:
    var myString:String = "\"";
    trace(myString);
    // result: "
    Likewise, I can escape the < character as such:
    var myString:String = escape("<");
    trace(myString);
    // result: %3C
    <mx:XML id="xmlDP">
    <component data="%3C" />
    </mx:XML>
    trace(un-escape(xmlDP.@data));
    // result: <
    As you can see, using %3C and unescaping in AS will yield the
    correct result; however, this is not a practical method of
    representing the data in MXML as I would have to write an AS method
    to un-escape the XML string anyway, so I might as well just store
    the data in AS to begin with. I was hoping for a way to source an
    mx:XML object, without having to load it into ActionScript
    manually. Here’s an example of the functionality I would
    expect:
    <mx:XML id="xmlDP">
    <component data="&gt;" />
    </mx:XML>
    trace(xmlDP.@data);
    // result: >
    Only this does not work for the less than symbol. I’m
    assuming at this point that this is a bug in the Flex compiler.
    Thanks again for your help troubleshooting this one!

  • Can another reporting tool use the metadata from BI Server?

    Does anyone know if an external reporting tool can use the metadata and security that exists in the Repository? We want to leverage the metadata in the BI Server using a tool other than Answers.

    Hi
    You have an option. There is a client tool 'Oracle BI Publisher Client' where you will be able to see the Presentation columns and create your own reports there. I have used this before in word and I guess it is still the same way for Excel. Check for yourself. The difference between BI Office plug-in and Oracle BI Publisher Desktop is that later allows to see columns to create new reports.
    BI Publisher is Advanced Reporting in BI EE Plus
    • BI Server semantic layer as a data source
    • BI Answers request as a data source
    • BI Publisher report in a Dashboard w/ prompts
    • Security
    Verify for Excel though.
    Good Luck

  • How to get the position of a tag in XML,when i am using the org.xml.sax

    Hi,
    I am able to parse a xml document.I want to get the position of a tag in the document.So that by keeping that as reference, i can access other tags.Plz help me.I am using org.xml.sax API.

    Hello Friends
    After research , I could also find another way to check the existence of a node .We can even use CHOOSE to check the existence.
    <xsl:choose>
          <xsl:when test="(/mynode)">
              your action if the mynode is found
          </xsl:when>
          <xsl:otherwise>
                    action if mynode is not found
          </xsl:otherwise>
    </xsl:choose>
    Thanks.
    Wishes
    Richa

  • Invoking Web Services Without Using the WSDL File - RPC

    I would apprecite if someone can provide sample code
    for RPC client for WeatherEJB sample code without using wsdl file.
    Thanks ,
    ag

    Hi,
    Attached is a small program that calls a service CurrencyExchangeRate
    registered at www.xmethods.com.
    The program uses pure java to call the service.
    Hope that helps
    Thanks
    Amit Chauhan
    ag <[email protected]> wrote in message
    news:3c59734d$[email protected]..
    >
    I would apprecite if someone can provide sample code
    for RPC client for WeatherEJB sample code without using wsdl file.
    Thanks ,
    ag[webservice.java]

  • Javax.xml.rpc.server.ServiceLifecycle.init() not called

    I have a web service implementation class which also implements the ServiceLifecycle interface, but when I call the service the specified method is called, but the init method is never invoked.

    Hi
    did you get round this problem?
    I am having the same issue at the moment. I have a JWS web service on WLS9.1 - I have implemented ServiceLifecycle but the init(Object context) method is not being invoked.
    Any ideas?
    thanks

Maybe you are looking for