【发布时间】:2010-10-13 09:06:57
【问题描述】:
我遇到了一个小问题,找不到解决方案。情况:
- 我有一个包含不同方法的 Java-Web 服务。其中之一创建了一个新对象(名为“Bestellung”,在德语中是“Order”的意思)。这个对象包含一些属性,大部分是Strings,一个是名为“applikationsDaten”(应用数据)的Hashmap。
- 我正在通过 SoapClient 在 php 中接收此对象 - 所有属性都按照我的需要填充。
print_r()显示以下内容(缩短为相关部分):
- 在处理了一些属性(但不是应用程序数据)之后,我试图将该对象发送回我的 web 服务,该服务应该检查一些内容并将订单保存到数据库中。这就是问题出现的地方:所有属性都被完美接收,但应用程序数据却不是。当我尝试
System.out.print()它时,我得到以下信息:
如您所见,元素的个数是正确的,但所有键和值都是null。
我的问题是:为什么我在 java 端没有得到正确的键/值?
PS:如果您需要更多信息来分析这个,请不要犹豫
编辑:
在 java 端,我正在运行 jBoss 4.2.2GA
在 PHP 端,我使用 SoapClient 这样的对象:
$conf['soap_wsdl'] = "http://192.168.0.213:8180/R1WebService/Service?wsdl";
$conf['soap_timeout'] = 5;
$soap = new SoapClient($conf['soap_wsdl'], array('connection_timeout' => $conf['soap_timeout']));
$bst = $soap->getBestellung()->return;
// some stuff
$return = $soap->saveBestellung(array($bst))->return;
【问题讨论】:
-
1) 您能否提供更多信息,您可以在 php 网站上使用什么来访问 web 服务? 2)能不能用wireshark之类的东西或者一些调试工具来查看数据是否正确发送到java webservice?这样你就知道是看 PHP 还是 Java 网站了。
标签: java php web-services soap wiki