У меня есть работающая веб-служба (использующая EclipseLink в качестве поставщика JPA), и я хотел бы вызывать методы, которые обновляют данные в базе данных из PHP с использованием SOAP.
Метод в веб-сервисе может выглядеть примерно так:
public void updatePerson(Person p){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersonLib");
EntityManager em = emf.createEntityManager();
if(!em.getTransaction().isActive()) {
em.getTransaction().begin();
}
em.merge(p);
em.getTransaction().commit();
}
Думаю, из PHP мне нужно создать объект типа stdClass
и отправить его в качестве параметра для человека. Я прав? Но у меня не работает с этими строками кода:
$client = new SoapClient("url.to.wsdl", array("trace" => 1));
$obj = new stdClass();
$obj->Person = new stdClass();
$obj->Person->personId = 1;
$obj->Person->name = "Peter";
$client->updatePerson($obj);
Я не знаю, правильный ли это способ отправки объекта из PHP в Java (ну, он вызывает метод updatePerson(Person p) в java-приложении, но p не содержит данных, которые я ввел в PHP).
"classmap"
используется в конструктореSoapClient
. - person El Barto   schedule 25.02.2012