Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Axis2 Web服务->php_Java_Php_Soap_Web Services_Axis2 - Fatal编程技术网

Java Axis2 Web服务->php

Java Axis2 Web服务->php,java,php,soap,web-services,axis2,Java,Php,Soap,Web Services,Axis2,如果我正确理解Axis2,我可以构造一个Web服务,然后使用任何SOAP兼容的客户端访问它 我在Eclipse中编写了一个java类和几个方法,然后使用WTP中的Axis2插件自动构建了一个服务 这就是我们班的教学方法 public int test(int i){ return i+2; } public Car CarTest(int speed){ return new Car("Biltest", speed); } public CarFactoryAdapter

如果我正确理解Axis2,我可以构造一个Web服务,然后使用任何SOAP兼容的客户端访问它

我在Eclipse中编写了一个java类和几个方法,然后使用WTP中的Axis2插件自动构建了一个服务

这就是我们班的教学方法

public int test(int i){
    return i+2;
}

public Car CarTest(int speed){

    return new Car("Biltest", speed);
}

public CarFactoryAdapter getCarFactory(){
    carFact.getCars().add(new Car("Bmw", 250));
    carFact.getCars().add(new Car("seat", 350));
    carFact.getCars().add(new Car("saab", 150));
    carFact.getCars().add(new Car("volv", 50));

    return new CarFactoryAdapter(carFact);
}
当我尝试使用soapUI时,代码似乎可以工作,Axis2 web界面已经识别出我的服务的方法。但是当我尝试使用PHP内置的soapClient接收参数的方法时,我遇到了一个未知的异常。getCarFactory方法至少可以像预期的那样工作,但是如果我不能发送参数,它似乎有点瘫痪

非工作方法调用的示例

ini_set('soap.wsdl_cache_ttl',0);
$client = new SoapClient("http://192.168.128.162:8080/ComplexWebService/services/CarService?wsdl", array('soap_version' => SOAP_1_2, 'trace' => 1));
$ar['i'] = (int)100;
print_r($client->__soapCall("test",$ar));

我需要确保我选择的SOA框架能够与许多平台进行通信,至少会有PHP和Java的客户机,但如果它能在.NET中工作就好了

似乎_usoapcall方法采用了一个带有数组的数组

所以我认为

print_r($client->__soapCall("test",array($ar)));
可以,至少它可以与JAX-WS一起工作