2011-11-28 3 views
2

Я хочу создать компонент Talend, который на основе кода javajet, что компонент таланта извлекает данные из одной системы инвентаризации через Интернет. Но дело в том, что api этой системы доступен в php, поэтому я хочу использовать эту функцию php api в коде javajet. Является ли это возможным?Возможно ли использовать функцию php api в коде javajet?

+0

Можете ли вы выполнить php-код на своем хосте из коробки? – Grrbrr404

+0

Talend поддерживает только perl и java; поэтому мы можем создавать файлы .perljet и .javajet в talend.Its, таким образом, невозможно исключить PHP-код в talend. Поэтому я ищу любой метод преобразования PHP-кода в java. – vinny

ответ

1

Код .javajet генерирует простую Java, поэтому вы не можете вставлять или напрямую обращаться к PHP. Но вы должны иметь возможность вызывать ваш PHP API, вызывая PHP-интерпретатор в качестве подпроцесса в сгенерированном коде, например. по телефону

Runtime.getRuntime().exec("php myapi.php"). 

Затем нужно будет придумать механизм для передачи аргументов и результатов в/из подпроцесса, предпочтительно с помощью аргументов командной строки и/или стандартного ввода и стандартного вывода.

В качестве альтернативы, вы можете захотеть вызвать ваш PHP API через веб-сервер, что означает, что вам нужно будет выдать HTTPRequest на этот веб-сервер и проанализировать ответ, который вы получаете с сервера.