Я столкнулся с небольшой проблемой и не могу найти решение. Ситуация:
- У меня есть Java-Webservice, содержащий разные методы. Один из них создает новый Объект (названный «Bestellung», что в переводе с немецкого означает «Порядок»). Этот объект содержит некоторые атрибуты, большинство из которых являются строками, один из них - Hashmap с именем «applikationsDaten» (данные приложения).
- Я получаю этот объект в php через SoapClient - все атрибуты заполнены так, как я хочу.
print_r()
показывает следующее (сокращено до соответствующих частей):
stdClass Object (
[enthMWsT] => 0
[preisStreckeGesamt] => 28.6
[waehrung] => EUR
[applikationsDaten] => stdClass Object (
[entry] => Array (
[0] => Array ( [key] => test [value] => 1 )
[1] => Array ( [key] => fahrDrucken [value] => 1 )
[2] => Array ( [key] => fahrLfdnr [value] => 0 )
)
)
- после манипулирования некоторыми атрибутами (но не данными приложения) я пытаюсь отправить этот объект обратно в мой веб-сервис, который должен проверить некоторые вещи и сохранить ордер в базу данных. Вот здесь и возникает проблема: все атрибуты получены отлично, а данные приложения - нет. Когда я пытаюсь
System.out.print()
это, я получаю следующее:
[STDOUT] {[key: null]=[value: null], [key: null]=[value: null], [key: null]=[value: null]}
Как видите, это число элементов правильное, но все ключи и значения null
.
моя проблема: почему я не получаю правильные ключи / значения на стороне java?
PS: если вам нужна дополнительная информация для анализа, пожалуйста, не стесняйтесь спрашивать
EDIT:
на стороне 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;