Java JAX-WS не может прочитать данные массива php, отправленные мылом - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь отправить данные из 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

- но они пусты

...