cancel
Showing results for 
Search instead for 
Did you mean: 

Create a rule using web service

lamsao
Champ in-the-making
Champ in-the-making
Hi,

I'm trying to run the ActionServiceSysstemTest.java and got the below exception when it tried to save a rule (using saveRules method).  Anyone know what it means and how to fix it?  Thanks a lot

Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: Premature end of file.
faultActor:
faultNode:
faultDetail:
   {http://xml.apache.org/axis/}stackTraceSmiley Surprisedrg.xml.sax.SAXParseException: Premature end of file.
   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
   at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1037)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
   at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
   at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
   at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
   at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.action.ActionServiceSoapBindingStub.saveRules(ActionServiceSoapBindingStub.java:1048)
   at com.tridsys.policy.TestRule.CreateRule(TestRule.java:81)
   at com.tridsys.policy.TestRule.main(TestRule.java:43)

   {http://xml.apache.org/axis/}hostname:

org.xml.sax.SAXParseException: Premature end of file.
   at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
   at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.action.ActionServiceSoapBindingStub.saveRules(ActionServiceSoapBindingStub.java:1048)
   at com.tridsys.policy.TestRule.CreateRule(TestRule.java:81)
   at com.tridsys.policy.TestRule.main(TestRule.java:43)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
   at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1037)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
   at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
   at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
   at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   … 15 more
4 REPLIES 4

mattbu
Champ in-the-making
Champ in-the-making
Hi all,

I actually have the same problem, did someone solve it?

I really need help.

Thanks a lot.

nimind
Champ in-the-making
Champ in-the-making
post the code that launches the exception

mattbu
Champ in-the-making
Champ in-the-making
here is my code:

      String userName = "admin";
      String password = "admin";
      AuthenticationUtils.startSession(userName,password);
      try{
         
         //creation of the actionservice with alfresco classes
         ActionServiceLocator actionservicelocator = new ActionServiceLocator(AuthenticationUtils.getEngineConfiguration());
         actionservicelocator.setEndpointAddress("ActionService","http://172.23.113.110:8080/alfresco/api/ActionService");
         serviceStub = actionservicelocator.getActionService();
         
         //enter the path of the repository to put the rule
         String path = "/app:company_home/app:user_homes/sys:matt_burel/";
         LoggerConnector.getInstance().debugmessage(path);
         String uuid = "3652e730-cbc5-11db-86c6-a37dd63d582f";
         LoggerConnector.getInstance().debugmessage(uuid);
         
         //creation of a reference which contains the path of the space
         Reference reference = new Reference();
//         reference.setPath(path);
         reference.setStore(STORE);
         reference.setUuid(uuid);
         LoggerConnector.getInstance().debugmessage("the reference was created");
         //set the parameters of the new condition
         
         NamedValue conditionmime = new NamedValue();
         String name = "value";
         
         
         conditionmime.setName(name);
         conditionmime.setValue("application/acp");
         conditionmime.setIsMultiValue(false);
         LoggerConnector.getInstance().debugmessage("the condition mime was created");
         
         NamedValue[] parameters = new NamedValue[]{conditionmime};
         
         Condition conditiontemp = new Condition();
         conditiontemp.setConditionName("compare-mime-type");
         conditiontemp.setInvertCondition(false);
         conditiontemp.setParameters(parameters);
         conditiontemp.setId("2");
         
         condition = new Condition[]{conditiontemp};
         
         //creation of a new action using the condition defined above
         LoggerConnector.getInstance().debugmessage("the condition array was created");
         action.setId("1");
         action.setActionName("import");
         action.setConditions(condition);
         action.setDescription("import an .acp in the repository");
         action.setActionReference(reference);
         action.setTitle("connectorImport");
         
         //
         rule.setRuleTypes(new String[]{"inbound"});
         rule.setAction(action);
         rule.setTitle("deployment");
         rule.setDescription("this rule makes all .acp inbound deploy in the folder");
         rule.setExecuteAsynchronously(false);
         rule.setRuleReference(reference);
         rule.setOwningReference(reference);
         
         Rule[] saveRules = new Rule[]{rule}; 
         
         try {

            serviceStub.saveRules(reference,saveRules );

         } catch (RemoteException e) {
            LoggerConnector.getInstance().exception("ConnectorWebService", "setRulesOnSpace" ,e);
            throw e;
         }

andresaimar
Champ in-the-making
Champ in-the-making
Did you success on creating a rule?

I am trying to create one using web services but I always get a NULL EXCEPTION when trying to save the rule.

Did anyone knows sth about that?