PHP soapClient
Материал из BiTel WiKi
[5.2]
в управление динамическим кодом
package api.ru.customservice.bgbilling.service.impl; import javax.jws.WebService; import api.ru.customservice.bgbilling.bean.SomeData; import ru.bitel.bgbilling.kernel.container.service.server.AbstractService; @WebService(targetNamespace = "customservice") public class SomeServiceImpl extends AbstractService{ /** * @param a * @return */ public SomeData getSomeData( String a ) { a = "Hello " + a; SomeData someData = new SomeData(); someData.setCid( a ); return someData; } }
package api.ru.customservice.bgbilling.bean; import java.math.BigDecimal; public class SomeData { private String cid; public String getCid() { return cid; } public void setCid( String cid ) { this.cid = cid; } }
в настройки сервера
api.enable=true
туда где есть php
<?php $wsdl = "http://192.168.0.1:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?wsdl"; $client = new SoapClient($wsdl); $answer = $client->__SoapCall("getSomeData", array( array ( 'arg0' => 'Aleks', ) ) ); echo "Trace:\n"; var_dump ($answer); $cid=$answer->return->cid; echo "Output: $cid\n"; ?>
в ответ увидите что то вроде:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:getSomeDataResponse xmlns:ns2="customservice"> <return> <cid>Hello Aleks</cid> </return> </ns2:getSomeDataResponse> </S:Body> </S:Envelope>