Я пытаюсь отправить данные из php через SOAP в веб-службу JAVA JAX-WS.Я могу читать только строку «массив», а не данные, которые находятся в массиве.Может кто-нибудь помочь мне решить эту проблему?Заранее спасибо.Ниже приведен мой пример кода.
JAX-WS
import javax.xml.ws.Endpoint;
public class ServiceStarter {
public static void main(String[] args) {
String url = "http://localhost:9999/recieve";
Endpoint.publish(url, new Recieve());
System.out.println("Service started @ " + url);
}
}
Метод, который я вызывал из PHP
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService
@SOAPBinding(style=SOAPBinding.Style.RPC)//,parameterStyle=ParameterStyle.WRAPPED)
public class Recieve {
public String getMessage(@WebParam(name="getMessage")String[] data) {
System.out.println(data);
System.out.println(data[0]);
return "ok";
}
}
и код PHP:
$url = "http://localhost:9999/recieve?wsdl";
$client = new SoapClient($url);
var_dump($client->__getFunctions());
$params = array(
"name" => "daco",
"name2" => "daco1"
);
$response = $client->__call("getMessage", array('funkcia' => $params));
var_dump($response);
Данные, полученные в PHP:
array(1) { [0]=> string(42) "string getMessage(stringArray $getMessage)" } string(2) "ok"
Данные, полученные в JAVA
[Ljava.lang.String;@114722f5
- но они пусты