Example #1
0
  private String internal_call(String ws, String[] values) {
    logger.info("#" + index + "请求调用web service: " + ws);
    OWLValue output;
    try {
      mKB = OWLFactory.createKB();
      mKB.createOntology(null);
      Service service = mKB.readService(URI.create(ws));

      ValueMap<Input, OWLValue> inputs = new ValueMap<Input, OWLValue>();

      for (int i = 0; i < values.length; i++) {
        Input input = service.getProcess().getInputs().get(i);
        inputs.setValue(input, mKB.createDataValue(values[i]));
        logger.info("\t" + input.getLocalName() + "  :  " + values[i]);
      }

      ProcessExecutionEngine exec = OWLSFactory.createExecutionEngine();
      ValueMap<Output, OWLValue> outputs;
      outputs = exec.execute(service.getProcess(), inputs, mKB);

      output = outputs.getDataValue(service.getProcess().getOutput().getName());
      logger.info("Result : " + output);
      return output.toString();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }
    return "";
  }
 /** @param constantValue The constantValue to set. */
 public void setConstantValue(OWLValue value) {
   if (value.isDataValue()) setProperty(OWLS.Process.valueData, (OWLDataValue) value);
   else setProperty(OWLS.Process.valueData, ((OWLIndividual) value).toRDF(false));
 }