我最近开始使用symfony开发。我只是用besimple创建一个soap服务器。
这是我的代码。
config.yml - 服务器
collectionViewNumberOfCellsForSection
Gremios Controller
be_simple_soap:
services:
Gremios:
namespace: http://att/app_dev.php/ws/Gremios
binding: rpc-literal
resource: "@attBundle/Controller/GremioController.php"
resource_type: annotation
实体Atgremio
class GremioController extends Controller{
/**
* @Route("/apiGremio/{id}")
* @Method("GET")
* @Soap\Method("getGremio")
* @Soap\Param("name", phpType = "int")
* @Soap\Result(phpType = "att\Bundle\Entity\Atgremio")
*/
public function apiGremioAction($id)
{
$gremio = $this->getDoctrine()->getRepository("attBundle:Atgremio")
->findById($id);
return $gremio;
}
}
config.yml客户端
namespace att\Bundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
/**
* Atgremio
*
* @ORM\Table(name="AtGremio")
* @ORM\Entity
* @Soap\Alias("Gremio")
*/
class Atgremio
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @Soap\ComplexType("int", nillable=true)
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="desGremio", type="string", length=50, nullable=false)
* @Soap\ComplexType("string")
*/
private $desgremio;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set desgremio
*
* @param string $desgremio
* @return Atgremio
*/
public function setDesgremio($desgremio)
{
$this->desgremio = $desgremio;
return $this;
}
/**
* Get desgremio
*
* @return string
*/
public function getDesgremio()
{
return $this->desgremio;
}
}
控制器中的客户端操作
be_simple_soap:
clients:
GremioApi:
wsdl: "http://att/app_dev.php/ws/Gremios?wsdl"
当我执行客户端操作时,我收到错误500.但是,执行服务器操作时,没有发现错误。当我看到wdsl生成时等于
class PruebaController extends Controller
{
/**
* @Route("/gremioapp/{id}")
* @Template
*/
public function pruebaControllerAction($id)
{
$client = $this->container->get('besimple.soap.client.gremioapi');
$result = $client->getGremio($id);
return $result;
}
}
坦克寻求帮助