Symfony - 复杂类型的简单问题

时间:2016-03-03 15:11:19

标签: symfony complextype soapserver

我最近开始使用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;
    }
}

坦克寻求帮助

0 个答案:

没有答案