1
如果我已經理解了Axis2,那麼我可以構造一個WebService,然後使用任何SOAP兼容的客戶端訪問它。Axis2 Webservice - > php
我有一個java類,有一些我在Eclipse中編寫的方法,然後使用來自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界面已識別我的服務的方法。但是,當我嘗試使用soapClient構建的PHP接收參數的方法時,我得到一個未知異常。 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架構我選擇將能夠與衆多平臺comunicate,會有客戶至少PHP和Java,但它是很好的,如果它在工作,例如.NET到。