WDDynamicRFCExecuteEXception:Invalid request accessed

Hello,
   I have a question in execute a interface which written by ourselves at NWDS ,and when i save or submit it report an error:
  com.sap.tc.webdynpro.modelipl.dynamicrfc.WDDynamicRFCExecuteEXception:Invalid request .accessed, error key:
      RFC_ERROR_SYSTEM_FAILURE
but other computer is ok when execute the interface .
This interface is called by RFC,and SSO to link R3 in the portal.
Which one  can tell me the reason?
Thanks.
Edited by: Vincent Tao on Mar 18, 2010 3:52 AM

Check this Doc Id 1489508.1
Thanks,
http://cool-bi.com
Edited by: Srini VEERAVALLI on May 29, 2013 9:30 AM

Similar Messages

  • About a exception: Invalid request., error key: RFC_ERROR_SYSTEM_FAILURE

    Hello:
       <b>I am using an adaptive RFC model inside a Web Dynpro Application.i encountered  a exception:</b>
       com.sap.tc.webdynpro.
    modelimpl.dynamicrfc.WDDynamicRFCExecuteException: Invalid request., error key: RFC_ERROR_SYSTEM_FAILURE
            at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClassExecutable.execute(DynamicRFCModelClassExecutable.java:101)
            at com.sap.shineway.InputField.exec(InputField.java:169)
            at com.sap.shineway.wdp.InternalInputField.exec(InternalInputField.java:291)
            at com.sap.shineway.ShineWay_InputView.onActionGoCreate(ShineWay_InputView.java:192)
            at com.sap.shineway.wdp.InternalShineWay_InputView.wdInvokeEventHandler(InternalShineWay_InputView.java:248)
            at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
            at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
            at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
            at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
            at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
            at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
            at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
            at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)
            at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)
            at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)
            at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
            at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
            at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessag
    eListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(AccessController.java:214)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.aii.proxy.framework.core.BaseProxyException: Invalid request., error key: RFC_ERROR_SYSTEM_FAILURE
    what it means??
    thank you
                            yours
                                           zunxian.cheng

    Zunxian,
    The error message "Invalid request., error key: RFC_ERROR_SYSTEM_FAILURE" makes it seem like there's something wrong with the request. You generally get an error message of the group  RFC_ERROR_SYSTEM_FAILURE when there's something wrong with the backend system, or when you send a request that makes it dump.
    What Bapi/RFM are you trying to call?
    have a look at <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/f6/daea401675752ae10000000a155106/content.htm">this explaination of different JCO Exceptions</a> for more information.
    Regards
    Mattias

  • Invalid request for HTTP request from Java

    I've written the following code to retrieve data from HTTP url:
    byte [] buffer = new byte[1024];
                   URLConnection conn = src.openConnection();
                   //conn.setRequestProperty("Range", "bytes=" + (start + completed) + "-" + end);
                   //System.out.println("bytes=" + (start + completed) + "-" + end);
                   System.out.println("Response: " + ((HttpURLConnection)conn).getResponseCode());
                   BufferedInputStream bin = new BufferedInputStream(conn.getInputStream());
                   byte [] data = new byte[1024];
                   int readLen;
                   manager.addConnected();
                   while((readLen = bin.read(data)) != -1 && canContinue) {
                        dest.seek(start+completed);
                        dest.write(data, 0, readLen);
                        completed += readLen;
                        System.out.println(readLen + "\t" + completed);
                   dest.close();
                   System.out.println("Read: " + readLen);
              } catch(IOException e) {
                   manager.failConnection();
              }However, the response code printed is -1 and the following content is written to the file (dest is a random access file, you can ignore the seek(), it is needed when I start multi-threading).
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>ERROR: The requested URL could not be retrieved</TITLE>
    <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
    </HEAD><BODY>
    <H1>ERROR</H1>
    <H2>The requested URL could not be retrieved</H2>
    <HR noshade size="1px">
    <P>
    While trying to process the request:
    <PRE>
    GET /ubuntu/pool/main/f/firefox/firefox_2.0.0.2+0dfsg-0ubuntu0.6.10_i386.deb HTTP/1.1
    User-Agent: Java/1.6.0
    Host: security.ubuntu.com
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive
    </PRE>
    <P>
    The following error was encountered:
    <UL>
    <LI>
    <STRONG>
    Invalid Request
    </STRONG>
    </UL>
    <P>
    Some aspect of the HTTP Request is invalid.  Possible problems:
    <UL>
    <LI>Missing or unknown request method
    <LI>Missing URL
    <LI>Missing HTTP Identifier (HTTP/1.0)
    <LI>Request is too large
    <LI>Content-Length missing for POST or PUT requests
    <LI>Illegal character in hostname; underscores are not allowed
    </UL>
    <P>Your cache administrator is <A HREF="mailto:root">root</A>.
    <BR clear="all">
    <HR noshade size="1px">
    <ADDRESS>
    Generated Fri, 16 Mar 2007 11:14:48 GMT by inet (squid/2.6.STABLE3)
    </ADDRESS>
    </BODY></HTML>Where does the problem lie? It failed for other URLs too. Can I establish more than one connection by invoking openURLConnection() on the same URL object?

    Ive run into this issue also. I need a way for a portlet to change to its maximized state for the purposes of user registration. Is there anyway this can be done? I know that sun jsp "Providers" which are shown on their example desktop, have some sort of maximized state that they can go into, but im not sure how to use this in a portlet.
    There seems to be very inconsistent support between the proprietary sun provider api, and the portlet api.

  • Invalid request - request handler "Index" not found

    Have deployed JatoSample.war on iPlanet web server. When I tried to access the sample app at http://myserver/JatoSample/samples.html
    it is throwing following error:
    [19/May/2003:10:29:31] warning (19890): vs(https-abeesam2)Application Error
    [19/May/2003:10:29:31] warning (19890): vs(https-abeesam2)javax.servlet.ServletException: Invalid request - request handler "Index" not found
    at com.iplanet.jato.ApplicationServletBase.onRequestHandlerNotFound(ApplicationServletBase.java:371)
    at com.iplanet.jato.ApplicationServletBase.fireRequestHandlerNotFoundEvent(ApplicationServletBase.java:114)
    at com.iplanet.jato.ApplicationServletBase.getViewBeanInstance(ApplicationServletBase.java:224)
    at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:569)
    at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:85)
    at com.iplanet.jato.ApplicationServletBase.doGet(ApplicationServletBase.java:74)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:919)
    at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1061)
    at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:981)
    Any help is much appreciated.
    Ashok Beesam

    For purchased copies of the Sun ONE Application Framework (JATO), please contact Sun Software Support Services. This organization can provide "break and fix" assistance.

  • Invalid request.

    Hello,
    I have installed Abap NW 2004s Trial also SAP GUI from DVD.
    This is the message what I get if I try to connect to NSP.
    What is wrong ? Please help
    Regards
    ilhan
    Invalid request.
    What happened?                                     
        The current ABAP/4 program terminated due to   
        an internal error in the database interface.
    Error analysis                                                               
        An invalid request was made to the SAP database interface in a statement 
         in which the table "DOKTL " was accessed.                                                                               
    The situation points to an internal error in the SAP software            
        or to an incorrect status of the respective work process.                
        For further analysis the SAP system log should be examined               
        (transaction SM21).                                                                               
    For a precise analysis of the error, you should supply                   
        documents with as many details as possible.

    Hi,
    Check this URL for similar issue:
    http://listserv.sap.com/pipermail/linux.general/2006-July/004986.html
    Regards,
    Boopathi
    Edited by: Boopathi Thangavel on May 15, 2009 12:25 PM

  • Access to application server in SM51 request access logon

    Hi Guys,
    I installed an application server in windows with DB server in iseries V5R4M0.
    The App instance run OK, but when i try access to SM50 app instance in SM51 the system request access data.
    I put the logon data and y can entry to SM50 transaction app Instance.
    I read the note 90323 and SAP recommends have the same kernel level in all servers. But due to my heterogeneous system i can´t have the same kernel release.
    I don´t know if the logon request is mandatory in heterogeneous system when i try access to other servers in R/3 system or i need solve an issue.
    I have a R/3 4.6C system with Application server with Win 2003.
    Regards,
    Ernesto Castro.

    Hi Ernesto,
    your problem will not only occur with SM51->SM50, it will occur everywhere, where SAP is using RFCs to run ... You are having installed your appl server incorrect. I bet, that the DB server on i5 and the DB-server name on windows differ ... most likely in upper-lowercase ...
    Just check the hostname on i5 with cfgtcp option 12 and on windows with "set" as sidadm and you should see a difference in the cases there ;-(
    It is not totally easy to fix that, as the DB-server on windows is stored in the registry.
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de

  • I just got a new iphone 5 yesterday. I can't get any of the apps to request access to my photos.

    I bought a new iphone 5c yesterday and am installing all of my apps on to it, and also updated to iOs 7.1.2.  None of the apps I have installed (such as instagram, facebook, twitter or messenger) have requested access to my photos so I can't use my photos within the apps. How do I change this? I have already gone to my settings, general, privacy, photos  and there are no requests from apps to allow this feature. I have tried uninstalling the apps and reinstalling them thinking maybe if I did that the request would pop up but that didn't work. The only thing instagram has requested is access to my microphone. Can someone help please? I'm getting beyond frustrated, and I can not get to an apple store to have someone take a look.

    All of your pictures adn contact should be on your computer. Nothing should only be on your iphone.  The iphone is not a storage device.  it simply mirrors the selected content of your computer.
    You should be syncing contacts to your computer regularly and importing all pics taken with the iphone to your computer regularly.
    Have you failed to do this?

  • I have a 4s and I am not sure when it began, but I cannot save photos that are nit camera related in my photo roll. Furthermore, applications that I have downloaded and should request access are not apparent in my privacy photo settings. What should I do?

    My problem began when I wanted to change my screen saver.  At first, I would try to take pictures and download images and they would toatally disappear.  So then I uninstalled my icloud, deactivated my photostream, and supposedly restored my phone to the last back up.  Well atleast now the pictures that I take are not dissappearing into thin air.  However, I have never been able to and I still cant seem to turn on the request for photo applications in my privacy settings.  I am not sure when this initial problem began.  As of now, I am not able to save downloaded photos to my camera roll and applications that  request access to my photos are not displayed in my privacy settings to even accept the request. This is very frustrating and I am not sure what to do. 
    I have tried everything from disabling and enabling my icloud, disabling and enabling my photo stream, stopping the photo app and restarting it, and even restoring it to the last itunes backup.

    This works!
    go to settings> general>restrictions>privacy and allow changes.  Make sure that your camera is on under allow!

  • Content Search Web Part - Result Preview Says "Invalid Request"

    This behavior seems to be occurring in both our test and production farms.
    ULS logs indicate the following entry:
    Exception occured in scope Microsoft.Office.Server.Search.Query.SearchExecutor.ExecuteQueries. Exception=Microsoft.SharePoint.Client.InvalidClientQueryException: Invalid request.
    at Microsoft.SharePoint.Client.DataConverter.GetObject[T](XmlNode node, ProxyContext proxyContext)
    at Microsoft.SharePoint.Client.DataConverter.GetObjectArray[T](XmlNode node, ProxyContext proxyContext)
    at Microsoft.Office.Server.Search.Query.SearchExecutorServerStub.ExecuteQueries_MethodProxy(SearchExecutor target, XmlNodeList xmlargs, ProxyContext proxyContext)
    at Microsoft.Office.Server.Search.Query.SearchExecutorServerStub.InvokeMethod(Object target, String methodName, XmlNodeList xmlargs, ProxyContext proxyContext, Boolean& isVoid)
    at Microsoft.SharePoint.Client.ServerStub.InvokeMethodWithMonitoredScope(Object target, String methodName, XmlNodeList args, ProxyContext proxyContext, Boolean& isVoid)
    I have used very simple queries, to see if it's KQL error on our part, such as ContentType:"CType Name"
    When we use developer dashboard I can see the XML for the search request which the CSOM is dispatching however, I believe this to be completely out of the box.
    Do you have any suggestions as to why the request may be considered invalid and what diagnostics could be run to better isolate why this OOB feature is not working?
    We are using Enterprise SP2013 On Prem.
    thanks

    Aries,
    Here is a description of what I see.
    1) This is the out of the box (non-customized) CSWP
    2) Upon clicking the "Change Query" button on the toolpart the dialog window opens.  The Search Result Preview says "This query returned no results" but as per the JSON response above, it appears that there is "ResultTables" present in the response.
    Occasionally, a preview-result does show up but this is not consistent.  The JSON response seems to be identical.
    Initial response - shows "Query returned no results" however, I see results in the JSON below. I have replaced our hostname w/ intranet.contoso.com
    "SchemaVersion":"15.0.0.0","LibraryVersion":"15.0.4505.1001","ErrorInfo":null,"TraceCorrelationId":"24f57a9c-28de-4074-debb-1340df16b8ab"
    },1,{
    "IsNull":false
    },4,{
    "IsNull":false
    },12,{
    "IsNull":false
    },16,{
    "IsNull":false
    },24,{
    "IsNull":false
    },38,{
    "IsNull":false
    },43,{
    "c856bd07-9a44-4bf4-a32c-e049d1d03390Default":{
    "_ObjectType_":"Microsoft.SharePoint.Client.Search.Query.ResultTableCollection","ElapsedTime":62,"Properties":{
    "RowLimit":10,"SourceId":"\/Guid(8413cd39-2156-4e00-b54d-11efd9abdb89)\/","EnableStacking":true,"piPageImpression":"327337_1754_1033","SerializedQuery":"<Query Culture=\"en-US\" EnableStemming=\"True\" EnablePhonetic=\"False\" EnableNicknames=\"False\" IgnoreAllNoiseQuery=\"True\" SummaryLength=\"180\" MaxSnippetLength=\"180\" DesiredSnippetLength=\"90\" KeywordInclusion=\"0\" QueryText=\"\" QueryTemplate=\"ContentType:&quot;Custom Announcement&quot; path:&quot;http:\u002f\u002fintranet.contoso.com\u002fnews&quot;\" TrimDuplicates=\"False\" Site=\"566718d5-1e74-453c-ac54-6e636def6f91\" Web=\"83df59b4-8cac-48f4-81b3-c3b95cfacc0b\" KeywordType=\"True\" HiddenConstraints=\"\" \u002f>"
    },"QueryErrors":null,"QueryId":"1060b39a-2f92-4313-b192-4c9badd15812","SpellingSuggestion":"","TriggeredRules":[
    ],"ResultTables":[
    "_ObjectType_":"Microsoft.SharePoint.Client.Search.Query.ResultTable","GroupTemplateId":null,"ItemTemplateId":null,"Properties":{
    "GenerationId":9223372036854775806,"ExecutionTimeMs":31,"QueryModification":"ContentType:\"Custom Announcement\" path:\"http:\u002f\u002fintranet.contoso.com\u002fnews\" -ContentClass=urn:content-class:SPSPeople","RenderTemplateId":"~sitecollection\u002f_catalogs\u002fmasterpage\u002fDisplay Templates\u002fSearch\u002fGroup_Default.js","StartRecord":0,"piPageImpressionBlockType":2
    },"QueryId":"1060b39a-2f92-4313-b192-4c9badd15812","QueryRuleId":"00000000-0000-0000-0000-000000000000","ResultRows":[
    "Rank":0,"DocId":1348,"Path":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fU-S--employees.aspx","Title":"U.S. employees: March 15th deadline for 2013 Health Care Flexible Spending Account (FSA)","OriginalPath":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fU-S--employees.aspx","FileType":"html","SecondaryFileExtension":"aspx","Author":"Dennis Lanthier","Size":100366,"Description":null,"EditorOWSUSER":"[email protected] | Dennis Lanthier | 693A30232E777C7463706C5C64656E6E69735F6C616E7468696572 i:0#.w|tcpl\\dennis_lanthier","LastModifiedTime":"\/Date(1394039237000)\/","CollapsingStatus":0,"HitHighlightedSummary":null,"HitHighlightedProperties":null,"FileExtension":"aspx","ViewsLifeTime":null,"ParentLink":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fForms\u002fAllItems.aspx","ViewsRecent":null,"IsContainer":false,"DisplayAuthor":"Dennis Lanthier","docaclmeta":null,"ResultTypeIdList":"16","PartitionId":"\/Guid(0c37852b-34d0-418e-91c6-2ac25af4be5b)\/","UrlZone":0,"AAMEnabledManagedProperties":"AttachmentURI;deeplinks;DefaultEncodingURL;ExternalMediaURL;HierarchyUrl;OrgParentUrls;OrgUrls;OriginalPath;ParentLink;Path;PictureThumbnailURL;PictureURL;PublishingImage;recommendedfor;ServerRedirectedEmbedURL;ServerRedirectedPreviewURL;ServerRedirectedURL;SiteLogo;SitePath;SPSiteURL;UserEncodingURL","ResultTypeId":16,"RenderTemplateId":"~sitecollection\u002f_catalogs\u002fmasterpage\u002fDisplay Templates\u002fSearch\u002fItem_WebPage.js","piSearchResultId":"0_1","QueryRuleId":"\/Guid(00000000-0000-0000-0000-000000000000)\/"
    "Rank":0,"DocId":1392,"Path":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fCelebrate-International-Women\u2019s-Day-on-Thurs--Mar--6.aspx","Title":"Celebrate International Women\u2019s Day on Thursday, March 6th ","OriginalPath":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fCelebrate-International-Women\u2019s-Day-on-Thurs--Mar--6.aspx","FileType":"html","SecondaryFileExtension":"aspx","Author":"Cassie Dubetz;Jennifer Torres","Size":103770,"Description":null,"EditorOWSUSER":"[email protected] | Jennifer Torres | 693A30232E777C7463706C5C6A656E6E696665725F746F72726573 i:0#.w|tcpl\\jennifer_torres","LastModifiedTime":"\/Date(1394070849000)\/","CollapsingStatus":0,"HitHighlightedSummary":null,"HitHighlightedProperties":null,"FileExtension":"aspx","ViewsLifeTime":null,"ParentLink":"http:\u002f\u002fintranet.contoso.com\u002fnews\u002fPages\u002fForms\u002fAllItems.aspx","ViewsRecent":null,"IsContainer":false,"DisplayAuthor":"Cassie Dubetz;Jennifer Torres","docaclmeta":null,"ResultTypeIdList":"16","PartitionId":"\/Guid(0c37852b-34d0-418e-91c6-2ac25af4be5b)\/","UrlZone":0,"AAMEnabledManagedProperties":"AttachmentURI;deeplinks;DefaultEncodingURL;ExternalMediaURL;HierarchyUrl;OrgParentUrls;OrgUrls;OriginalPath;ParentLink;Path;PictureThumbnailURL;PictureURL;PublishingImage;recommendedfor;ServerRedirectedEmbedURL;ServerRedirectedPreviewURL;ServerRedirectedURL;SiteLogo;SitePath;SPSiteURL;UserEncodingURL","ResultTypeId":16,"RenderTemplateId":"~sitecollection\u002f_catalogs\u002fmasterpage\u002fDisplay Templates\u002fSearch\u002fItem_WebPage.js","piSearchResultId":"1_1","QueryRuleId":"\/Guid(00000000-0000-0000-0000-000000000000)\/"
    ContentType:"Custom Announcement" path:"http://intranet.contoso.com/news"
    This is the  KQL. (above)
    Next, we immediately click "Test query" without modifying the KQL. We send an XML request using the web part however, in that case, the XML variables are replaced with the $-syntax, this occurred within the web part through no effort of ours.  The behavior
    shows "Invalid Request"
    Can you explain what you mean by "There is customization in the web part"?  We have used the out of the box web part.
    Any subsequent query modification in the query-builder dialog-window causes the $-syntax.  When i illustrated the comparisons of the XML-request above the only difference in between the two requests is that the left-side is created by the initial-load
    of the QueryBuilder dialog and the right-side is created when we click "Test query" (immediately after) in the Advanced Mode screen.
    We do have a custom master page and I will try to revert back as close as possible to vanilla SharePoint and test.  But to address your earlier point, no customization to the Content By Search Web part has been used.
    Here is the full initial valid request
    <Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="15.0.0.0" ApplicationName="Javascript Library">
    <Actions>
    <ObjectPath Id="1" ObjectPathId="0" />
    <SetProperty Id="2" ObjectPathId="0" Name="QueryTemplate">
    <Parameter Type="String">ContentType:"Custom Announcement" path:"http://intranet.contoso.com/news"</Parameter>
    </SetProperty>
    <ObjectPath Id="4" ObjectPathId="3" />
    <Method Name="Add" Id="5" ObjectPathId="3">
    <Parameters>
    <Parameter Type="String">NewsPublishingDate</Parameter>
    <Parameter Type="Number">1</Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="6" ObjectPathId="0" Name="RowsPerPage">
    <Parameter Type="Number">10</Parameter>
    </SetProperty>
    <SetProperty Id="7" ObjectPathId="0" Name="RowLimit">
    <Parameter Type="Number">10</Parameter>
    </SetProperty>
    <SetProperty Id="8" ObjectPathId="0" Name="TotalRowsExactMinimum">
    <Parameter Type="Number">11</Parameter>
    </SetProperty>
    <SetProperty Id="9" ObjectPathId="0" Name="SourceId">
    <Parameter Type="Guid">{8413cd39-2156-4e00-b54d-11efd9abdb89}</Parameter>
    </SetProperty>
    <SetProperty Id="10" ObjectPathId="0" Name="Refiners">
    <Parameter Type="String">BaseOfficeLocation(filter=7/0/*),CombinedUserProfileNames(filter=7/0/*),companies(filter=7/0/*),contentclass(filter=7/0/*),ContentType(filter=7/0/*),ContentTypeId(filter=7/0/*),Department(filter=7/0/*),DisplayAuthor(filter=7/0/*),DMSDocAuthor(filter=7/0/*),FileExtension(filter=7/0/*),FileType(filter=7/0/*),HostingPartition(filter=7/0/*),JobTitle(filter=7/0/*),languages(filter=7/0/*),Location(filter=7/0/*),ManagedProperties(filter=7/0/*),NewsExternalNewsSource(filter=7/0/*),owsmetadatafacetinfo(filter=7/0/*),owstaxidmetadataalltagsinfo(filter=7/0/*),owstaxIdProductCatalogItemCategory(filter=7/0/L*),People(filter=7/0/*),PeopleInMedia(filter=7/0/*),PeopleKeywords(filter=7/0/*),PostAuthor(filter=7/0/*),RefinableString00(filter=7/0/*),RefinableString01(filter=7/0/*),RefinableString02(filter=7/0/*),RefinableString03(filter=7/0/*),RefinableString04(filter=7/0/*),RefinableString05(filter=7/0/*),RefinableString06(filter=7/0/*),RefinableString07(filter=7/0/*),RefinableString08(filter=7/0/*),RefinableString09(filter=7/0/*),RefinableString10(filter=7/0/*),RefinableString11(filter=7/0/*),RefinableString12(filter=7/0/*),RefinableString13(filter=7/0/*),RefinableString14(filter=7/0/*),RefinableString15(filter=7/0/*),RefinableString16(filter=7/0/*),RefinableString17(filter=7/0/*),RefinableString18(filter=7/0/*),RefinableString19(filter=7/0/*),RefinableString20(filter=7/0/*),RefinableString21(filter=7/0/*),RefinableString22(filter=7/0/*),RefinableString23(filter=7/0/*),RefinableString24(filter=7/0/*),RefinableString25(filter=7/0/*),RefinableString26(filter=7/0/*),RefinableString27(filter=7/0/*),RefinableString28(filter=7/0/*),RefinableString29(filter=7/0/*),RefinableString30(filter=7/0/*),RefinableString31(filter=7/0/*),RefinableString32(filter=7/0/*),RefinableString33(filter=7/0/*),RefinableString34(filter=7/0/*),RefinableString35(filter=7/0/*),RefinableString36(filter=7/0/*),RefinableString37(filter=7/0/*),RefinableString38(filter=7/0/*),RefinableString39(filter=7/0/*),RefinableString40(filter=7/0/*),RefinableString41(filter=7/0/*),RefinableString42(filter=7/0/*),RefinableString43(filter=7/0/*),RefinableString44(filter=7/0/*),RefinableString45(filter=7/0/*),RefinableString46(filter=7/0/*),RefinableString47(filter=7/0/*),RefinableString48(filter=7/0/*),RefinableString49(filter=7/0/*),RefinableString50(filter=7/0/*),RefinableString51(filter=7/0/*),RefinableString52(filter=7/0/*),RefinableString53(filter=7/0/*),RefinableString54(filter=7/0/*),RefinableString55(filter=7/0/*),RefinableString56(filter=7/0/*),RefinableString57(filter=7/0/*),RefinableString58(filter=7/0/*),RefinableString59(filter=7/0/*),RefinableString60(filter=7/0/*),RefinableString61(filter=7/0/*),RefinableString62(filter=7/0/*),RefinableString63(filter=7/0/*),RefinableString64(filter=7/0/*),RefinableString65(filter=7/0/*),RefinableString66(filter=7/0/*),RefinableString67(filter=7/0/*),RefinableString68(filter=7/0/*),RefinableString69(filter=7/0/*),RefinableString70(filter=7/0/*),RefinableString71(filter=7/0/*),RefinableString72(filter=7/0/*),RefinableString73(filter=7/0/*),RefinableString74(filter=7/0/*),RefinableString75(filter=7/0/*),RefinableString76(filter=7/0/*),RefinableString77(filter=7/0/*),RefinableString78(filter=7/0/*),RefinableString79(filter=7/0/*),RefinableString80(filter=7/0/*),RefinableString81(filter=7/0/*),RefinableString82(filter=7/0/*),RefinableString83(filter=7/0/*),RefinableString84(filter=7/0/*),RefinableString85(filter=7/0/*),RefinableString86(filter=7/0/*),RefinableString87(filter=7/0/*),RefinableString88(filter=7/0/*),RefinableString89(filter=7/0/*),RefinableString90(filter=7/0/*),RefinableString91(filter=7/0/*),RefinableString92(filter=7/0/*),RefinableString93(filter=7/0/*),RefinableString94(filter=7/0/*),RefinableString95(filter=7/0/*),RefinableString96(filter=7/0/*),RefinableString97(filter=7/0/*),RefinableString98(filter=7/0/*),RefinableString99(filter=7/0/*),Responsibilities(filter=7/0/*),SharedWithInternal(filter=7/0/*),Site(filter=7/0/*),SPContentType(filter=7/0/*),SPSiteURL(filter=7/0/*),Tags(filter=7/0/*),UsageEventItemId(filter=7/0/*),WebTemplate(filter=7/0/*),WordCustomRefiner1(filter=7/0/*),WordCustomRefiner2(filter=7/0/*),WordCustomRefiner3(filter=7/0/*),WordCustomRefiner4(filter=7/0/*),WordCustomRefiner5(filter=7/0/*),WordExactCustomRefiner(filter=7/0/*),WordPartCustomRefiner1(filter=7/0/*),WordPartCustomRefiner2(filter=7/0/*),WordPartCustomRefiner3(filter=7/0/*),WordPartCustomRefiner4(filter=7/0/*),WordPartCustomRefiner5(filter=7/0/*),WordPartExactCustomRefiner(filter=7/0/*)</Parameter>
    </SetProperty>
    <ObjectPath Id="12" ObjectPathId="11" />
    <Method Name="Add" Id="13" ObjectPathId="11">
    <Parameters>
    <Parameter Type="String">Path</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="14" ObjectPathId="11">
    <Parameters>
    <Parameter Type="String">Title</Parameter>
    </Parameters>
    </Method>
    <ObjectPath Id="16" ObjectPathId="15" />
    <Method Name="Add" Id="17" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Title</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="18" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Path</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="19" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Author</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="20" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">SectionNames</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="21" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">SiteDescription</Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="22" ObjectPathId="0" Name="TrimDuplicates">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <ObjectPath Id="24" ObjectPathId="23" />
    <Method Name="SetQueryPropertyValue" Id="25" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">FillIn</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">false</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">1</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="String">false</Property>
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="26" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">EnableStacking</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">true</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">3</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="27" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">TryCache</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">true</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">3</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="28" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">ListId</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">false</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">1</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="String">b9b9c3b8-92d8-4850-a3b3-fc2544b9c6c0</Property>
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="29" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">ListItemId</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">false</Property>
    <Property Name="IntVal" Type="Number">27</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">2</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="30" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">OverrideExpandedTokens</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">true</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">3</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="31" ObjectPathId="0" Name="ResultsUrl">
    <Parameter Type="String">/news/Pages/Announcements.aspx</Parameter>
    </SetProperty>
    <SetProperty Id="32" ObjectPathId="0" Name="ClientType">
    <Parameter Type="String">SearchWebPartConfiguration</Parameter>
    </SetProperty>
    <SetProperty Id="33" ObjectPathId="0" Name="EnableInterleaving">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <Method Name="SetQueryPropertyValue" Id="34" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">QuerySession</Parameter>
    <Parameter TypeId="{b25ba502-71d7-4ae4-a701-4ca2fb1223be}">
    <Property Name="BoolVal" Type="Boolean">false</Property>
    <Property Name="IntVal" Type="Number">0</Property>
    <Property Name="QueryPropertyValueTypeIndex" Type="Number">1</Property>
    <Property Name="StrArray" Type="Null" />
    <Property Name="StrVal" Type="String">a5fa2e59-91c1-472e-a63d-d99d2fbf8fd0</Property>
    </Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="35" ObjectPathId="0" Name="SafeQueryPropertiesTemplateUrl">
    <Parameter Type="String">sitesearch://webroot</Parameter>
    </SetProperty>
    <SetProperty Id="36" ObjectPathId="0" Name="IgnoreSafeQueryPropertiesTemplateUrl">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <ObjectPath Id="38" ObjectPathId="37" />
    <ExceptionHandlingScope Id="39">
    <TryScope Id="41">
    <Method Name="ExecuteQueries" Id="43" ObjectPathId="37">
    <Parameters>
    <Parameter Type="Array">
    <Object Type="String">ca9bfc32-2337-47bb-b973-800509d8efecDefault</Object>
    </Parameter>
    <Parameter Type="Array">
    <Object ObjectPathId="0" />
    </Parameter>
    <Parameter Type="Boolean">true</Parameter>
    </Parameters>
    </Method>
    </TryScope>
    <CatchScope Id="45" />
    </ExceptionHandlingScope>
    </Actions>
    <ObjectPaths>
    <Constructor Id="0" TypeId="{80173281-fffd-47b6-9a49-312e06ff8428}" />
    <Property Id="3" ParentId="0" Name="SortList" />
    <Property Id="11" ParentId="0" Name="SelectProperties" />
    <Property Id="15" ParentId="0" Name="HitHighlightedProperties" />
    <Property Id="23" ParentId="0" Name="Properties" />
    <Constructor Id="37" TypeId="{8d2ac302-db2f-46fe-9015-872b35f15098}" />
    </ObjectPaths>
    </Request>
    Here is the full invalid-request which is created with the TestQuery button
    <Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="15.0.0.0" ApplicationName="Javascript Library">
    <Actions>
    <ObjectPath Id="1" ObjectPathId="0" />
    <SetProperty Id="2" ObjectPathId="0" Name="QueryTemplate">
    <Parameter Type="String">ContentType:"Custom Announcement" path:"http://intranet.contoso.com/news"</Parameter>
    </SetProperty>
    <ObjectPath Id="4" ObjectPathId="3" />
    <Method Name="Add" Id="5" ObjectPathId="3">
    <Parameters>
    <Parameter Type="String">NewsPublishingDate</Parameter>
    <Parameter Type="Number">1</Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="6" ObjectPathId="0" Name="RowsPerPage">
    <Parameter Type="Number">10</Parameter>
    </SetProperty>
    <SetProperty Id="7" ObjectPathId="0" Name="RowLimit">
    <Parameter Type="Number">10</Parameter>
    </SetProperty>
    <SetProperty Id="8" ObjectPathId="0" Name="TotalRowsExactMinimum">
    <Parameter Type="Number">11</Parameter>
    </SetProperty>
    <SetProperty Id="9" ObjectPathId="0" Name="SourceId">
    <Parameter Type="Guid">{8413cd39-2156-4e00-b54d-11efd9abdb89}</Parameter>
    </SetProperty>
    <SetProperty Id="10" ObjectPathId="0" Name="Refiners">
    <Parameter Type="String">BaseOfficeLocation(filter=7/0/*),CombinedUserProfileNames(filter=7/0/*),companies(filter=7/0/*),contentclass(filter=7/0/*),ContentType(filter=7/0/*),ContentTypeId(filter=7/0/*),Department(filter=7/0/*),DisplayAuthor(filter=7/0/*),DMSDocAuthor(filter=7/0/*),FileExtension(filter=7/0/*),FileType(filter=7/0/*),HostingPartition(filter=7/0/*),JobTitle(filter=7/0/*),languages(filter=7/0/*),Location(filter=7/0/*),ManagedProperties(filter=7/0/*),NewsExternalNewsSource(filter=7/0/*),owsmetadatafacetinfo(filter=7/0/*),owstaxidmetadataalltagsinfo(filter=7/0/*),owstaxIdProductCatalogItemCategory(filter=7/0/L*),People(filter=7/0/*),PeopleInMedia(filter=7/0/*),PeopleKeywords(filter=7/0/*),PostAuthor(filter=7/0/*),RefinableString00(filter=7/0/*),RefinableString01(filter=7/0/*),RefinableString02(filter=7/0/*),RefinableString03(filter=7/0/*),RefinableString04(filter=7/0/*),RefinableString05(filter=7/0/*),RefinableString06(filter=7/0/*),RefinableString07(filter=7/0/*),RefinableString08(filter=7/0/*),RefinableString09(filter=7/0/*),RefinableString10(filter=7/0/*),RefinableString11(filter=7/0/*),RefinableString12(filter=7/0/*),RefinableString13(filter=7/0/*),RefinableString14(filter=7/0/*),RefinableString15(filter=7/0/*),RefinableString16(filter=7/0/*),RefinableString17(filter=7/0/*),RefinableString18(filter=7/0/*),RefinableString19(filter=7/0/*),RefinableString20(filter=7/0/*),RefinableString21(filter=7/0/*),RefinableString22(filter=7/0/*),RefinableString23(filter=7/0/*),RefinableString24(filter=7/0/*),RefinableString25(filter=7/0/*),RefinableString26(filter=7/0/*),RefinableString27(filter=7/0/*),RefinableString28(filter=7/0/*),RefinableString29(filter=7/0/*),RefinableString30(filter=7/0/*),RefinableString31(filter=7/0/*),RefinableString32(filter=7/0/*),RefinableString33(filter=7/0/*),RefinableString34(filter=7/0/*),RefinableString35(filter=7/0/*),RefinableString36(filter=7/0/*),RefinableString37(filter=7/0/*),RefinableString38(filter=7/0/*),RefinableString39(filter=7/0/*),RefinableString40(filter=7/0/*),RefinableString41(filter=7/0/*),RefinableString42(filter=7/0/*),RefinableString43(filter=7/0/*),RefinableString44(filter=7/0/*),RefinableString45(filter=7/0/*),RefinableString46(filter=7/0/*),RefinableString47(filter=7/0/*),RefinableString48(filter=7/0/*),RefinableString49(filter=7/0/*),RefinableString50(filter=7/0/*),RefinableString51(filter=7/0/*),RefinableString52(filter=7/0/*),RefinableString53(filter=7/0/*),RefinableString54(filter=7/0/*),RefinableString55(filter=7/0/*),RefinableString56(filter=7/0/*),RefinableString57(filter=7/0/*),RefinableString58(filter=7/0/*),RefinableString59(filter=7/0/*),RefinableString60(filter=7/0/*),RefinableString61(filter=7/0/*),RefinableString62(filter=7/0/*),RefinableString63(filter=7/0/*),RefinableString64(filter=7/0/*),RefinableString65(filter=7/0/*),RefinableString66(filter=7/0/*),RefinableString67(filter=7/0/*),RefinableString68(filter=7/0/*),RefinableString69(filter=7/0/*),RefinableString70(filter=7/0/*),RefinableString71(filter=7/0/*),RefinableString72(filter=7/0/*),RefinableString73(filter=7/0/*),RefinableString74(filter=7/0/*),RefinableString75(filter=7/0/*),RefinableString76(filter=7/0/*),RefinableString77(filter=7/0/*),RefinableString78(filter=7/0/*),RefinableString79(filter=7/0/*),RefinableString80(filter=7/0/*),RefinableString81(filter=7/0/*),RefinableString82(filter=7/0/*),RefinableString83(filter=7/0/*),RefinableString84(filter=7/0/*),RefinableString85(filter=7/0/*),RefinableString86(filter=7/0/*),RefinableString87(filter=7/0/*),RefinableString88(filter=7/0/*),RefinableString89(filter=7/0/*),RefinableString90(filter=7/0/*),RefinableString91(filter=7/0/*),RefinableString92(filter=7/0/*),RefinableString93(filter=7/0/*),RefinableString94(filter=7/0/*),RefinableString95(filter=7/0/*),RefinableString96(filter=7/0/*),RefinableString97(filter=7/0/*),RefinableString98(filter=7/0/*),RefinableString99(filter=7/0/*),Responsibilities(filter=7/0/*),SharedWithInternal(filter=7/0/*),Site(filter=7/0/*),SPContentType(filter=7/0/*),SPSiteURL(filter=7/0/*),Tags(filter=7/0/*),UsageEventItemId(filter=7/0/*),WebTemplate(filter=7/0/*),WordCustomRefiner1(filter=7/0/*),WordCustomRefiner2(filter=7/0/*),WordCustomRefiner3(filter=7/0/*),WordCustomRefiner4(filter=7/0/*),WordCustomRefiner5(filter=7/0/*),WordExactCustomRefiner(filter=7/0/*),WordPartCustomRefiner1(filter=7/0/*),WordPartCustomRefiner2(filter=7/0/*),WordPartCustomRefiner3(filter=7/0/*),WordPartCustomRefiner4(filter=7/0/*),WordPartCustomRefiner5(filter=7/0/*),WordPartExactCustomRefiner(filter=7/0/*)</Parameter>
    </SetProperty>
    <ObjectPath Id="12" ObjectPathId="11" />
    <Method Name="Add" Id="13" ObjectPathId="11">
    <Parameters>
    <Parameter Type="String">Path</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="14" ObjectPathId="11">
    <Parameters>
    <Parameter Type="String">Title</Parameter>
    </Parameters>
    </Method>
    <ObjectPath Id="16" ObjectPathId="15" />
    <Method Name="Add" Id="17" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Title</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="18" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Path</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="19" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">Author</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="20" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">SectionNames</Parameter>
    </Parameters>
    </Method>
    <Method Name="Add" Id="21" ObjectPathId="15">
    <Parameters>
    <Parameter Type="String">SiteDescription</Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="22" ObjectPathId="0" Name="TrimDuplicates">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <ObjectPath Id="24" ObjectPathId="23" />
    <Method Name="SetQueryPropertyValue" Id="25" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">FillIn</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$4_1" Type="String">false</Property>
    <Property Name="$0_1" Type="Number">1</Property>
    <Property Name="$1_1" Type="Boolean">false</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="26" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">EnableStacking</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$1_1" Type="Boolean">true</Property>
    <Property Name="$0_1" Type="Number">3</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    <Property Name="$4_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="27" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">TryCache</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$1_1" Type="Boolean">true</Property>
    <Property Name="$0_1" Type="Number">3</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    <Property Name="$4_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="28" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">ListId</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$4_1" Type="String">b9b9c3b8-92d8-4850-a3b3-fc2544b9c6c0</Property>
    <Property Name="$0_1" Type="Number">1</Property>
    <Property Name="$1_1" Type="Boolean">false</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="29" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">ListItemId</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$2_1" Type="Number">27</Property>
    <Property Name="$0_1" Type="Number">2</Property>
    <Property Name="$1_1" Type="Boolean">false</Property>
    <Property Name="$3_1" Type="Null" />
    <Property Name="$4_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <Method Name="SetQueryPropertyValue" Id="30" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">OverrideExpandedTokens</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$1_1" Type="Boolean">true</Property>
    <Property Name="$0_1" Type="Number">3</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    <Property Name="$4_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="31" ObjectPathId="0" Name="ResultsUrl">
    <Parameter Type="String">/news/Pages/Announcements.aspx</Parameter>
    </SetProperty>
    <SetProperty Id="32" ObjectPathId="0" Name="ClientType">
    <Parameter Type="String">SearchWebPartConfiguration</Parameter>
    </SetProperty>
    <SetProperty Id="33" ObjectPathId="0" Name="EnableInterleaving">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <Method Name="SetQueryPropertyValue" Id="34" ObjectPathId="23">
    <Parameters>
    <Parameter Type="String">QuerySession</Parameter>
    <Parameter Type="Dictionary">
    <Property Name="$4_1" Type="String">a5fa2e59-91c1-472e-a63d-d99d2fbf8fd0</Property>
    <Property Name="$0_1" Type="Number">1</Property>
    <Property Name="$1_1" Type="Boolean">false</Property>
    <Property Name="$2_1" Type="Number">0</Property>
    <Property Name="$3_1" Type="Null" />
    </Parameter>
    </Parameters>
    </Method>
    <SetProperty Id="35" ObjectPathId="0" Name="SafeQueryPropertiesTemplateUrl">
    <Parameter Type="String">sitesearch://webroot</Parameter>
    </SetProperty>
    <SetProperty Id="36" ObjectPathId="0" Name="IgnoreSafeQueryPropertiesTemplateUrl">
    <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <ObjectPath Id="38" ObjectPathId="37" />
    <ExceptionHandlingScope Id="39">
    <TryScope Id="41">
    <Method Name="ExecuteQueries" Id="43" ObjectPathId="37">
    <Parameters>
    <Parameter Type="Array">
    <Object Type="String">4c78ef1c-cad2-417c-9027-9c961143713cDefault</Object>
    </Parameter>
    <Parameter Type="Array">
    <Object Type="Dictionary">
    <Property Name="$R_0" Type="Null" />
    <Property Name="$2P_0" Type="Boolean">false</Property>
    </Object>
    </Parameter>
    <Parameter Type="Boolean">true</Parameter>
    </Parameters>
    </Method>
    </TryScope>
    <CatchScope Id="45" />
    </ExceptionHandlingScope>
    </Actions>
    <ObjectPaths>
    <Constructor Id="0" TypeId="{80173281-fffd-47b6-9a49-312e06ff8428}" />
    <Property Id="3" ParentId="0" Name="SortList" />
    <Property Id="11" ParentId="0" Name="SelectProperties" />
    <Property Id="15" ParentId="0" Name="HitHighlightedProperties" />
    <Property Id="23" ParentId="0" Name="Properties" />
    <Constructor Id="37" TypeId="{8d2ac302-db2f-46fe-9015-872b35f15098}" />
    </ObjectPaths>
    </Request>
    Many thanks for your review.

  • Org.eclipse.swt.SWTException: Invalid thread access - Action struts

    Hi
    I�m runing this WordSearchReplace java class that I got here in this forum, and I�m runing it doing search and replace in Ms word document if I run just one time it works ok, but if I run twice i got that erro, I�m runing that java class in my Action on struts.
    I don�t know what is occur.
    Can you help me?
    Thanks
    Following the example of call, mistakes and java class.
    //======RUNING THE WordSearchReplace JAVA CLASS=========
    WordSearchReplace wordSR = null;
    try {
    String[] v_text = {"#V46#","#V42#"};
    String[] v_replace = {"Texto1","Texto2"};
    wordSR = new WordSearchReplace();
    wordSR.openFile(v_path+v_file_name);
    for ( int i=0; i<v_text.length; i++ )
    wordSR.replace( v_text, v_replace[i] );
    wordSR.save();
    wordSR.closeFile();
    catch(Exception e) {
    System.out.println("Caught: ERRO ao Executar WordSearchReplace " + e.getClass().getName());
    System.out.println(e.getMessage());
    e.printStackTrace(System.out);
    finally {
    if(wordSR != null) {
    try {
    wordSR.dispose();
    catch(Exception innerE) {
    System.out.println("Caught: " + innerE.getClass().getName());
    System.out.println(innerE.getMessage());
    innerE.printStackTrace(System.out);
    //========ERRO ===========================
    17:24:49,093 INFO [STDOUT] Invalid thread access
    17:24:49,093 INFO [STDOUT] org.eclipse.swt.SWTException: Invalid thread access
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3563)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3481)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3452)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:274)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:265)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:218)
    17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:156)
    17:24:49,093 INFO [STDOUT] at br.com.tryblob.view.WordSearchReplace.<init>(WordSearchReplace.java:38)
    17:24:49,093 INFO [STDOUT] at br.com.tryblob.view.WordAction.execute(WordAction.java:70)
    17:24:49,093 INFO [STDOUT] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    17:24:49,093 INFO [STDOUT] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    17:24:49,093 INFO [STDOUT] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    17:24:49,093 INFO [STDOUT] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    17:24:49,093 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
    //====== WordSearchReplace JAVA CLASS=========
    import java.util.ArrayList;
    import java.util.Iterator;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.SWTException;
    import org.eclipse.swt.internal.ole.win32.TYPEATTR;
    import org.eclipse.swt.ole.win32.OLE;
    import org.eclipse.swt.ole.win32.OleAutomation;
    import org.eclipse.swt.ole.win32.OleClientSite;
    import org.eclipse.swt.ole.win32.OleFrame;
    import org.eclipse.swt.ole.win32.OleFunctionDescription;
    import org.eclipse.swt.ole.win32.OlePropertyDescription;
    import org.eclipse.swt.ole.win32.OleParameterDescription;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.ole.win32.Variant;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.BufferedWriter;
    import java.io.IOException;
    public class WordSearchReplace {
         private static final String PROG_ID = "Word.Application";
         private static final int WD_REPLACE_ALL = 2;
         private static final int WD_FIND_CONTINUE = 1;
         private Shell shell = null;
         private OleFrame frame = null;
         private OleClientSite wordSite = null;
         private OleAutomation wordAutomation = null;
         private OleAutomation activeDocumentAutomation = null;
         private boolean cleaned = false;
         * Create a new instance of the WordSearchReplace class.
         public WordSearchReplace() {
              this.shell = new Shell();
              this.frame = new OleFrame(this.shell, SWT.NONE);
              this.wordSite = new OleClientSite(this.frame, SWT.NONE, WordSearchReplace.PROG_ID);
         this.wordAutomation = new OleAutomation(this.wordSite);
         * Open an MS Word file. This is a file whose name ends with the extension
         * .doc or .doc and which conforms to the correct format.
         * Note; if it is possible to open the named file, an attempt is made
         * to cache an OleAutomation object referencing that file which will be
         * referred to in future as the active document. Most other methods
         * need to capture references to further OleAutomation(s) that have the
         * active document as their root.
         * @param fileName An instance of the String class that encapsulates the
         * path to and name of the file that is to be opened.
         * Note; the full path name must be supplied as Word
         * will be opening the file and no assumptions can
         * safely be made concerning the applications 'home'
         * folder.
         * @throws NullPointerException if a null value is passed to the fileName
         * parameter.
         * @throws FileNotFoundException if it is not possible to locate the
         * file.
         * @throws IllegalArgumentException if the name of the file does not end
         * with either the .dot or .doc extensions.
         * @throws SWTException if a problem occurs whilst invoking any of the OLE
         * methods.
         public void openFile(String fileName) throws SWTException,
         NullPointerException,
         FileNotFoundException,
         IllegalArgumentException {
              OleAutomation documentsAutomation = null;
              int[] id = null;
              Variant[] arguments = null;
              Variant invokeResult = null;
              try {
                   // Check the the file name is not null
                   if(fileName == null) {
                        throw new NullPointerException("Null value passed to " +
                             "fileName parameters of the openFile() method.");
                   // Check the the file names ends with '.dot' or '.doc'.
                   // Remember to include templates and docuemnts
                   if(!(fileName.endsWith(".doc")) && !(fileName.endsWith(".dot"))) {
                        throw new IllegalArgumentException(
                             "The filename must end with the extensions \'.doc\' or \'.dot\'");
                   // Check that the file exists
                   File fileToPrint = new File(fileName);
                   if(!(fileToPrint.exists())) {
                        throw new FileNotFoundException("The file " +
                        fileName +
                        "cannot be found.");
                   // From the application, get an automation for the Documents property
                   documentsAutomation = this.getChildAutomation(this.wordAutomation,
                   "Documents");
                   // Get the ID of the Open method
                   id = documentsAutomation.getIDsOfNames(new String[]{"Open"});
                   if(id == null) {
                        throw new SWTException("It was not possible to recover an " +
                        "identifer for the Open method in WordSearchReplace.openFile().");
                   // Build an array of parameters - holds just the file name
                   arguments = new Variant[1];
                   arguments[0] = new Variant(fileName);
                   // Invoke the Open method on the Documents property
                   invokeResult = documentsAutomation.invoke(id[0], arguments);
                   // If the call to invoke the open method failed, throw an SWTException
                   // to terminate processing.
                   if(invokeResult == null) {
                        throw new SWTException("An error occurred whilst invoking the " +
                             "Open method for the following file: " +
                             fileName +
                             " in WordSearchReplace.openFile().");
                   // If it was possible to open the document successfully, grab an
                   // automation object referencing the active document here.               
                   else {
                        this.activeDocumentAutomation = this.getChildAutomation(
                             this.wordAutomation, "ActiveDocument");
              finally {
                   // If the automation was instantiated then dispose of it to
                   // release resources. This OleAutomation was only required
                   // to open the file and can safely be released here.
                   if(documentsAutomation != null) {
                        documentsAutomation.dispose();
         * Save the currently open file - the active document.
         * @throws SWTException if a problem occurs whilst invoking any of the OLE
         * methods.
         public void save() throws SWTException {
              int[] id = null;
              Variant invokeResult = null;
              // From the automation for the ActiveDocument object, get an id for
              // the Save method
              id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Save"});
              // If it was not possible to recover the id of the Save
              // method, throw an exception to notify the user and terminate
              // processing.
              if(id == null) {
                   throw new SWTException("Unable to obtain an automation for " +
                        "the Save method in WordSearchReplace.save().");
              // Invoke the Save method and catch the value returned
              invokeResult = this.activeDocumentAutomation.invoke(id[0]);
              // If a null value was returned then the invocation of the
              // Save method failed. Throw an exception to notify the
              // user and terminate processing.
              if(invokeResult == null) {
                   throw new SWTException("A problem occurred invoking the " +
                        "Save method in WordSearchReplace.save().");
         * Save the active document using the name provided.
         * @param fileName Am instance of the String class encapsulating the name
         * for the file. Again, the path to and name of the file should
         * be supplied.
         * @throws NullPointerException if a null value is passed to the fileName
         * parameter.
         * @throws IllegalArgumentException if either an empty String is passed
         * to the fileName parameter or if the files name does not end
         * with one of the two permissible extensions - .dot and .doc
         public void saveAs(String fileName) throws SWTException,
         NullPointerException,
         IllegalArgumentException {
              int[] id = null;
              Variant[] arguments = null;
              Variant invokeResult = null;
              // If the fileName parameter is passed a null
              // value, throw an exception.
              if(fileName == null) {
                   throw new NullPointerException("A null value was passed to " +
                        "the fileName parameter of WordSearchReplace.saveAs().");
              // If the fileName parameter has been passed an empty String
              // then again throw an exception.
              if(fileName.length() == 0) {
                   throw new NullPointerException("An empty string was passed " +
                        "to the fileName parameter of WordSearchReplace.saveAs().");
              // Finally, make sure the file name ends in either
              // .doc or .dot.
              if((!fileName.endsWith(".dot")) && (!fileName.endsWith(".doc"))) {
                   throw new IllegalArgumentException("An illegal file name was " +
                        "passed to the fileName parameter of " +
                        "WordSearchReplace.saveAs(). The file name must " +
                        "end in \'.dot\' or \'.doc\'.");
              // From the automation for the ActiveDocument object, get an id for
              // the SaveAs method
              id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"SaveAs"});
              // If it was not possible to recover the id of the SaveAs
              // method, throw an exception to notify the user and terminate
              // processing.
              if(id == null) {
                   throw new SWTException("Unable to obtain an automation for " +
                        "the SaveAs method in WordSearchReplace.saveAs().");
              // Build the array of arguments that will be passed to the invoke
              // method when the SaveAs method is invoked. In this case, this
              // array will contain a single member - a String object encapsulating
              // the path to and name of the output file.
              arguments = new Variant[1];
              arguments[0] = new Variant(fileName);
              // Invoke the SaveAs method and catch the value returned
              invokeResult = this.activeDocumentAutomation.invoke(id[0], arguments);
              // If a null value was returned then the invocation of the
              // PrintOut method failed. Throw an exception to notify the
              // user and terminate processing.
              if(invokeResult == null) {
                   throw new SWTException("A problem occurred invoking the " +
                        "SaveAs method in WordSearchReplace.saveAs().");
         * Mimics Words 'replace' functionality by searching the active
         * document for evey string of characters that matches the value passed to
         * the searchTerm parameter and replacing them with the string of
         * characters passed to the replacementTerm method.
         * It is possible to code a VBA macro within Word that will perfrom a serach
         * and replace. That code would look like the following;
         * <pre>
         *      Selection.Find.ClearFormatting
    *     Selection.Find.Replacement.ClearFormatting
    *     With Selection.Find
    *      .Text = "serach"
    *      .Replacement.Text = "search"
    *      .Forward = True
    *      .Wrap = wdFindContinue
    *      .Format = False
    *      .MatchCase = False
    *      .MatchWholeWord = False
    *      .MatchWildcards = False
    *      .MatchSoundsLike = False
    *      .MatchAllWordForms = False
    *     End With
    *     Selection.Find.Execute Replace:=wdReplaceAll
    * <pre>
    * and this method will 'automate' it.
         * @param searchTerm An instance of the String class that will encapsulate
         * the series of characters that should be replaced.
         * @param replacementTerm An instance of the String class that will
         * encapsulate the series of characters that should replace the
         * searchTerm.
         * @throws NullPointerException if a null value is passed to either the
         * searchTerm or replacementTerm methods.
         * @throws SWTException if a problem occurs when invoking any of the
         * OLE methods.
         public void replace(String searchTerm,
         String replacementTerm) throws SWTException,
         NullPointerException {
              OleAutomation selectionFindAutomation = null;
              OleAutomation childAutomation = null;
              Variant[] arguments = null;
              Variant invokeResult = null;
              int[] id = null;
              int[] namedArguments = null;
              boolean success = true;
              // Validate the searchTerm parameter and throw exception if
              // null value passed.
              if(searchTerm == null) {
                   throw new NullPointerException("Null value passed to " +
                             "searchTerm parameter of the replace() method.");
              // Validate the replacementTerm parameter and throw exception if
              // null value passed.
              if(replacementTerm == null) {
                   throw new NullPointerException("Null value passed to " +
                             "replacementTerm parameter of the replace() method.");
              // Most of the VBA instructions used to perform the search and
              // replace functionality and child automations of Selection.Find,
              // therefore, it is wise to cache that automation first.
              // From the application, get an automation for the Selection property
              childAutomation = this.getChildAutomation(this.wordAutomation,
                   "Selection");
              selectionFindAutomation = this.getChildAutomation(childAutomation,
              "Find");
              // Next, using the cached automation, invoke the 'ClearFormatting'
              // method, validate the returned value and invoke the method.
              // Selection.Find.ClearFormatting
              id = selectionFindAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
              if(id == null) {
                   throw new SWTException("It is not possible to recover an identifier " +
                        "for the ClearFormatting method in WordSearchReplace.replace() " +
                        "when clearing the formatting for the search string.");
              invokeResult = selectionFindAutomation.invoke(id[0]);
              if(invokeResult == null) {
                   throw new SWTException("A problem occurred invoking the " +
                        "ClearFormatting method in WordSearchReplace.repace() " +
                        "when clearing formatting for the search string.");
              // Now, perform the same function but for the replacement string.
              // Selection.Find.Replacement.ClearFormatting
              childAutomation = this.getChildAutomation(selectionFindAutomation,
              "Replacement");
              id = childAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
              if(id == null) {
                   throw new SWTException("It is not possible to recover an identifier " +
                        "for the ClearFormatting method in WordSearchReplace.replace() " +
                        "when clearing the formatting for the replacement string.");
              invokeResult = childAutomation.invoke(id[0]);
              if(invokeResult == null) {
                   throw new SWTException("A problem occurred invoking the " +
                        "ClearFormatting method in WordSearchReplace.repace() " +
                        "when clearing formatting for the replacement string.");
              // Firstly, set the search text.
              // .Text = "search term"
              arguments = new Variant[1];
              arguments[0] = new Variant(searchTerm);
              success = this.setPropertyValue(selectionFindAutomation, "Text", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the Text " +
                        "property for the search string in WordSearchReplace.replace().");
              // Next, the replacement text
              // .Replacement.Text = "replacement term"
              childAutomation = this.getChildAutomation(selectionFindAutomation,
              "Replacement");
              arguments[0] = new Variant(replacementTerm);
              success = this.setPropertyValue(childAutomation, "Text", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the Text property" +
                        " for the replacement string in WordSearchReplace.replace().");
              // Set the direction of the search - forward in this case.
              // .Forward = True
              arguments[0] = new Variant(true);
              success = this.setPropertyValue(selectionFindAutomation, "Forward", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the Forward " +
                        "property in WordSearchReplace.replace().");
              // Tell the search to wrap. Note the literal wdFindContinue relates to
              // a constant that is defined within Word. I have provided a static
              // final to replace it called WD_FIND_CONTINUE
              // .Wrap = wdFindContinue
              arguments[0] = new Variant(WordSearchReplace.WD_FIND_CONTINUE);
    // System.out.println("jose vieira WD_FIND_CONTINUE:" + arguments[0]);
              success = this.setPropertyValue(selectionFindAutomation, "Wrap", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the Wrap " +
                        "property in WordSearchReplace.replace().");
              // Set the Format property to False.
              // .Format = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "Format", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the Format " +
                        "property in WordSearchReplace.replace().");
              // Set the MatchCase property to false.
              // .MatchCase = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "MatchCase", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the MatchCase " +
                        "property in WordSearchReplace.replace().");
              // Set the MatchWholeWord property to false.
              // .MatchWholeWord = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "MatchWholeWord", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the " +
                        "MatchWholeWord property in WordSearchReplace.replace().");
              // Set the MatchWildCards property to false.
              // .MatchWildcards = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "MatchWildCards", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the " +
                        "MatchWildCards property in WordSearchReplace.replace().");
              // Set the MatchSoundsLike property to false.
              // .MatchSoundsLike = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "MatchSoundsLike", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the " +
                        "MatchSoundsLike property in WordSearchReplace.replace().");
              // Set the MatchAllWordForms property to false.
              // .MatchAllWordForms = False
              arguments[0] = new Variant(false);
              success = this.setPropertyValue(selectionFindAutomation, "MatchAllWordForms", arguments);
              if(!success) {
                   throw new SWTException("A problem occurred setting the " +
                        "MatchAllWordForms property in WordSearchReplace.replace().");
              // Invoke the Execute command passing the correct value to the Replace
              // parameter. Again, wdReplaceAll is a constant that I have provided
              // a ststic final for called WD_REPLACE_ALL
              // Selection.Find.Execute Replace:=wdReplaceAll
              id = selectionFindAutomation.getIDsOfNames(new String[]{"Execute", "Replace"});
              if(id == null) {
                   throw new SWTException("It was not possible to recover an identifier " +
                        "for the Execute method in WordSearchReplace.replace().");
              arguments = new Variant[1];
              arguments[0] = new Variant(WordSearchReplace.WD_REPLACE_ALL);
              namedArguments = new int[1];
              namedArguments[0] = id[1];
              // There was some indication that the invokeNoReply method should
              // be used when making this call but no, invoke SEEMS to work well
              //selectionFindAutomation.invokeNoReply(id[0], arguments, namedArguments);
              invokeResult = selectionFindAutomation.invoke(id[0], arguments, namedArguments);
              if(invokeResult == null) {
                   throw new SWTException("A problem occurred trying to invoke the " +
                   "Execute method in WordSearchReplace.replace().");
         * Close the active document.
         * @throws SWTException if a problem is encountered invoking any of the
         * OLE methods.
         public void closeFile() throws SWTException {
              int[] id = null;
              Variant[] arguments = null;
              Variant invokeResult = null;
              try {
                   // From the OleAutomation referencing the active document, recover
                   // the id of the Close method.
                   id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Close"});
                   // If it was not possible to recover the id of the Close
                   // method then throw an exception to notify the user and
                   // terminate processing.
                   if(id == null) {
                        throw new SWTException("It was not possible to recover an " +
                             "identifier for the Close method in " +
                             "WordSearchReplace.closeFile().");
                   // Invoke the Close method on the ActiveDocument automation
                   invokeResult = this.activeDocumentAutomation.invoke(id[0]);
                   // If the invocation of the Close method failed, throw an
                   // exception to notify the user and terminate processing.
                   if(invokeResult == null) {
                        throw new SWTException(
                             "An error occurred invoking the Close method in " +
                             "WordSearchReplace.closeFile().");
              finally {
                   if(this.activeDocumentAutomation != null) {
                        this.activeDocumentAutomation.dispose();
         * Release resources.
         public void dispose() throws SWTException {
              try {
                   // Set the cleaned flag to true. This prevents the method from
                   // running again if it is called from the finalize() method
                   this.cleaned = true;
                   // From the word automation, recover the id of the Quit method
                   int[] id = this.wordAutomation.getIDsOfNames(new String[]{"Quit"});
                   // If the id of the Quit method cannot be recovered
                   // throw an exception - not much good really though.
                   if(id == null) {
                        throw new SWTException("Unable to obtain an id for the Quit " +
                             "property in WordSearchReplace.dispose().");
                   // Invoke Quit
              Variant result = this.wordAutomation.invoke(id[0]);
              // If an error occurs during the invocation, throw an exception.
              // Again though that exception is of limited value.
              if(result == null) {
                   throw new SWTException("A problem occurred trying to invoke the " +
                        "Quit method in WordSearchReplace.dispose().");
         finally {
              // Finally, dispose of the word application automation.
              this.wordAutomation.dispose();
         * The finalize() method has been over-ridden to ensure that resources
         * are correctly released if a WordSearchReplace object is created but
         * not disposed of properly before it becomes eligible for garbage
         * collection. The cleaned flag is used as acheck to ensure that the
         * dispose() method cannot be called more than once.
         public void finalize() throws Throwable {
              if(!this.cleaned) {
                   this.dispose();
         * Creates and returns a 'child' OleAutomation object. The object model
         * employed by Word, Excel and the like, arrange objects, methods and
         * properties hierarchically. To invoke a method, it is often necessary
         * to iterate through this hierarchy from parent to child and this method
         * supports that process.
         * @param automation An OleAutomation object that references the parent
         * automation.
         * @param childName An instance of the String class that encapsulates the
         * name of the child automation.
         * @throws SWTException if a problem is encountered invoking one or
         * other of the OLE methods.
         private OleAutomation getChildAutomation(OleAutomation automation,
         String childName) throws SWTException {
              // Try to recove the unique identifier for the child automation
              int[] id = automation.getIDsOfNames(new String[]{childName});
              // If the identifier cannot be found then throw an exception to
              // terminate processing.           
              if (id == null) {
                   throw new SWTException(
                        "A problem occurred trying to obtain and id for: " +
                   childName +
                   "in the getChildAutomation() method.");
              // SWT's implementation of OLE referes to all of Words objects, methods
              // and properties using the single term 'property'. The next stage
              // therefore is to recover a refence to the 'property' that relates
              // to the child automation.
              Variant pVarResult = automation.getProperty(id[0]);
              // If it is not possible to recover a 'property' for the child
              // automation, then throw an SWTException.
              if (pVarResult == null) {
                   throw new SWTException(
                        "A problem occurred trying to obtain an automation for property: " +
                   id[0] +
                   " in the getChildAutomation() method.");
              // As we are after a child automation in this instance, call the
              // getAutomation() method on the 'property'.
              return(pVarResult.getAutomation());
         * Sets the value of a property.
         * @param automation An instance of the OleAutomation class that will
         * hold a reference to the properties parent automation object
         * @param propertyName An instance of the String class that encapsulates the
         * name of the property whose value is to be set.
         * @param arguments An array of type Variant whose elements contain the
         * values that will be set for the named property.
         * @return A primitive boolean value that indicates whether or not the
         * properties value was successfully set.
         * @throws NullPointerException will be thrown if a null value is passed to
         * any of the methods three arguments.
         * @throws IllegalArgumentException will be thrown if an empty String
         * is passed to the propertyName parameter or if an empty array
         * is passed to the arguments parameter. Note, no check is made
         * on the vallues of the elements in the arguments array.
         * @throws SWTException will be thrown if a problem is encountered
         * imvoking any of the OLE methods.
         private boolean setPropertyValue(OleAutomation automation,
         String propertyName,
         Variant[] arguments) throws SWTException,
         NullPointerException,
         IllegalArgumentException {
              // Validate the various parameters
              if(automation == null) {
                   throw new NullPointerException(
                        "A null value was pas

    Alright, I'll try to keep it as simple as possible. If that's not going to work out, we can always complicate it later :)
    I suppose you had a look at the link and I assume you know about threads.
    We can easily fix this issue if you are instantiating, calling and disposing the object within one thread, e.g. you use it only in one method like
    public mySwtExecutionMethod(String fileName){
      WordSearchReplace replace = new WordSearchReplace();
      // do your replacing here
      replace.dispose();
      // no reference to replace is left so it won't escape this thread
    }Now the fix for your class becomes simple. As you remember from the link, you have to call all methods from within the UI thread. We will now create a Display every time upon instantiation of WordSearchReplace, so the current thread becomes the UI thread.
    I had a look at the constructor, and the overhead doesn't seem that bad, provided this is not a dedicated search&replace server.
    private final Display display;
    public WordSearchReplace()
         display = new Display(); // create display
         this.shell = new Shell(display);   // initialize shell with new display so this thread becomes the UI thread
         this.frame = new OleFrame(this.shell, SWT.NONE);
         this.wordSite = new OleClientSite(this.frame, SWT.NONE, WordSearchReplace.PROG_ID);
         this.wordAutomation = new OleAutomation(this.wordSite);
    }Since we always create a new Display, we should also dispose it. There is already a dispose() method, so we just have to add to it
    display.dispose();That's it!
    If you hold on longer to your reference and this isn't working for you, you'd have to do a lot more synchronizing and that the UI thread still exist as long as the reference.
    Wish you good luck

  • Invalid request when calling REST-webservice with UTL_HTTP.

    Hello,
    When i try to send some data to a REST-webservice i get as response "INVALID REQUEST"
    I Think it is about the request-body that seems to be no UTF-8.
    I tried to set the characterset with utl_http.set_body_charset(t_http_req, 'UTF-8').
    But when i read the characterset with utl_http.get_body_charset(t_charset);, is still get "ISO-8859-1"
    I am using: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    Some help would realy be appreciated because i am out of options trying to get the code working..
    ======MY CODE==========
    create or replace procedure ipm40_send_bekendmaking(p_bdmg_id in number)
    as
    r_bekendmaking ipm40_bekendmakingen%rowtype;
    r_gemeente ipm40_gemeenten%rowtype;
    l_url httpuritype;
    t_http_req utl_http.req;
    t_http_resp utl_http.resp;
    t_request_body varchar2(32767);
    t_respond varchar2(32767);
    -- t_teller integer := 1;
    -- t_output varchar2(2000);
    t_start number := 1;
    t_body_lengte number;
    t_chunkdata varchar2(4000);
    t_tijd_1 varchar2(256);
    t_tijd_2 varchar2(256);
    t_timeout integer;
    t_length number;
    t_charset varchar2(256);
    begin
    select *
    into r_bekendmaking
    from ipm40_bekendmakingen
    where id = p_bdmg_id;
    select *
    into r_gemeente
    from ipm40_gemeenten
    where gmte_code = r_bekendmaking.gmte_code;
    l_url := httpuritype.createuri('http://zwolle.stadsbeheer.com:82/apex/ipm40bekendmaking?p_bdmg_id='||r_bekendmaking.id);
    t_request_body := l_url.getClob();
    /* request that exceptions are raised for error Status Codes */
    --Utl_Http.Set_Response_Error_Check ( enable => true );
    /* allow testing for exceptions like Utl_Http.Http_Server_Error */
    --Utl_Http.Set_Detailed_Excp_Support ( enable => true );
    utl_http.set_transfer_timeout(300);
    t_http_req:= utl_http.begin_request( r_gemeente.url_webservice_bekendmakingen
    , 'POST'
    , 'HTTP/1.1');
    utl_http.set_body_charset(t_http_req, 'UTF-8');
    utl_http.get_body_charset(t_charset);
    utl_http.set_authentication(t_http_req,r_gemeente.user_webservice_bekendmakingen,r_gemeente.pw_webservice_bekendmakingen);
    t_length := length(t_request_body);
    utl_http.set_header(t_http_req, 'Content-Type', 'application/xml charset=UTF-8');
    utl_http.set_header(t_http_req, 'Content-Length', t_length);
    utl_http.set_header(t_http_req, 'Transfer-Encoding', 'chunked' ); --
    t_body_lengte := dbms_lob.getlength(t_request_body);
    loop
    t_chunkdata := dbms_lob.substr(t_request_body, 2000, t_start);
    utl_http.write_text ( t_http_req, t_chunkdata );
    t_start := t_start + 2000;
    if t_start > t_body_lengte
    then
    exit;
    end if;
    end loop;
    t_http_resp:= utl_http.get_response(t_http_req);
    utl_http.read_text(t_http_resp, t_respond);
    utl_http.end_response(t_http_resp);
    if instr(t_respond,'Successfully document processed') != 0
    then
    update ipm40_bekendmakingen
    set ind_status = 'S'
    , datum_verzonden = sysdate
    , response = t_respond
    where id = r_bekendmaking.id;
    else
    update ipm40_bekendmakingen
    set ind_status = 'F'
    , datum_verzonden = null
    , response = t_respond
    where id = r_bekendmaking.id ;
    end if;
    commit;
    exception
    when others
    then
    t_tijd_2 := to_char(sysdate,'HH24:MI:SS');
    t_respond := substr(sqlerrm,1,2000);
    update ipm40_bekendmakingen
    set ind_status = 'F'
    , datum_verzonden = null
    , response = t_respond
    where id = r_bekendmaking.id ;
    commit;
    end;
    ===THE RESPOND=============
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>ERROR: The requested URL could not be retrieved</TITLE>
    <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
    </HEAD><BODY>
    <H1>ERROR</H1>
    <H2>The requested URL could not be retrieved</H2>
    <HR noshade size="1px">
    <P>
    While trying to process the request:
    <PRE>
    POST /pushxml/pushxml-bm HTTP/1.0
    Authorization: Basic Ymtfc21hcnRob2xkaW5nOllyZXMzdlFR
    Content-Type: application/xml charset=UTF-8
    Content-Length: 2096
    Transfer-Encoding: chunked
    Connection: close
    </PRE>
    <P>
    The following error was encountered:
    <UL>
    <LI>
    <STRONG>
    Invalid Request
    </STRONG>
    </UL>
    <P>
    Some aspect of the HTTP Request is invalid. Possible problems:
    <UL>
    <LI>Missing or unknown request method
    <LI>Missing URL
    <LI>Missing HTTP Identifier (HTTP/1.0)
    <LI>Request is too large
    <LI>Content-Length missing for POST or PUT requests
    <LI>Illegal character in hostname; underscores are not allowed
    </UL>
    <P>Your cache administrator is [email protected].
    <BR clear="all">
    <HR noshade size="1px">
    <ADDRESS>
    Generated Fri, 12 Aug 2011 17:33:24 GMT by asd2cc001.asp4all.nl (squid)
    </ADDRESS>
    </BODY></HTML>

    Always check the access_log and error_log files of the Apache web server in such a case. This will identify whether the error comes from Apache itself, mod_plsql, the Apex run-time engine, or the Oracle database.
    I see that you're creating a HTTP/1.1 in PL/SQL - however, the web server response indicates a HTTP/1.0 call was received. Unusual. And could be part of the problem.

  • How do I get an app to request access to photos?

    I have a USMLE world App which requires access to my photos in order to work.  However, when I access Settings >privacy>photos, the app is not listed as requesting access.  It is also not listed as an app under "settings".

    I have.  It seems to be a problem with my privacy/locations/photos settings.

  • Invalid request for a change in window state

    Ok...
    Creating a JSR168 portlet and it works fine in Pluto, but I get the following when I deploy to P7:
    ERROR: Content not available. REASONE: Invalid request for a change in window state
    Here is what the portlet is supposed to do:
    * Display a form
    * User clicks find
    * Lookup is performed
    * Window state in processAction() method of portlet is changed to MAXIMIZED
    * I'm guessing this is where the error is occuring
    I also think that for the TableContainer, I have some sort of attribute incorrect having to do with one of the channelsIs values.
    I tried toggling them one way or another without any effect.
    Suggestions?

    Ive run into this issue also. I need a way for a portlet to change to its maximized state for the purposes of user registration. Is there anyway this can be done? I know that sun jsp "Providers" which are shown on their example desktop, have some sort of maximized state that they can go into, but im not sure how to use this in a portlet.
    There seems to be very inconsistent support between the proprietary sun provider api, and the portlet api.

  • Invalid thread access

    This morning when I opened Flex Builder it fails to open any
    of the files mxml or as for editing and instead gives me the
    following error:-
    Reason for the failure: "Invalid thread access"
    On checking the details it has the following exception in
    there, please advise.
    org.eclipse.swt.SWTException: Invalid thread access

    any advice?

  • SWT:::INVALID THREAD ACCESS

    When im tryin to call a method from sum other class .
    It throws
    org.eclipse.swt.SWTException: Invalid thread access
    i know this has to do with ui threadsand we have to wrap the display by SyncEXec......
    but im not able to do it,,,
    can ne1 help??

    org.eclipse.swt.widgets.Display.asyncExec(new Runnable() {
       public void run() {
         // do your stuff here
    });if only they'd document these things, eh. it's not like it's all there in the help menu, either.....

Maybe you are looking for

  • Jw player pop up ads

    I've noticed the last couple weeks this ad player was in background playing videos now it is in forefront and it is driving me crazy! I've reset Firefox, I've deleted and reinstalled but all the info for my bookmarks and things are still here even th

  • Testing standard delivered "example objective setting"

    Hello. I am new to OSA and just wanted to test the standard SAP to see how OSA works. I have changed nothing in the supplied category group, xategory, template etc. My understanding is that this example is supposed to be for 2 part appraisers to do t

  • ABAP PROXY CLEINT - PACKAGE

    Hi, I am trying to create an Abap Proxy of the type client and synch.  In the moment of the creation, it is necessary to select a package.  What package should I select?  Should I create a package and to add the elements "SAI_PROXY_GENTIME_PIF, SAI_P

  • Hi, When i install add on Foxtab in FF4 then top left Firefox orange image get dammaged Why?

    ''Duplicate post, continue here - [https://support.mozilla.com/en-US/questions/810085]'' Hi, When i install add on FoxTab in FF4.0 then top left Firefox orange image get damaged from left side and a small white image missing icon appear Why?

  • Eye drop tool for white balance

    It has been requested an eye drop tool to correct white balance issues in color correction for a long time. Is there any news on this? Will it be a new feature in upcoming updates? If not... does anyone know a plugin that will do the same thing? Shor