如何使用SOAP将对象从PHP发送到Java Web服务?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用SOAP将对象从PHP发送到Java Web服务?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1182字,纯文字阅读大概需要2分钟。
内容图文
我有一个正在运行的Web服务(使用EclipseLink作为JPA提供程序),并且想调用使用SOAP从PHP更新数据库中数据的方法.
Web服务中的方法可能如下所示:
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类型的对象,并将其作为Person的参数发送.我对吗?但是我无法将其与以下代码行一起使用:
$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发送对象的正确方法(嗯,它在Java应用程序中调用了updatePerson(Person p)方法,但是p不包含我在PHP中输入的数据).
解决方法:
如果可能,请向我们显示WSDL文件.
通常,当我在PHP中使用SoapClient时,即使Web服务需要一个对象,我也会使用数组,因此,不要创建新的stdClass,而是尝试发送以下数组:
$client = new SoapClient("url.to.wsdl");
$obj = new array("personId" => 1, "name" => "Peter");
$client->updatePerson($obj);
这样就应该向对象发送所需的数据.
希望能帮助到你.
内容总结
以上是互联网集市为您收集整理的如何使用SOAP将对象从PHP发送到Java Web服务?全部内容,希望文章能够帮你解决如何使用SOAP将对象从PHP发送到Java Web服务?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。