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>
Личные инструменты