コード例 #1
0
 /**
  * Genera la documentacion de los servicios web provistos por el proyecto (requiere tener publicado el proyecto en localhost)
  *        -r 0|1 reemplaza la documentacion existente
  */
 function opcion__serv_generar_doc()
 {
     if (!extension_loaded('wsf')) {
         throw new toba_error('La extensión wsf no se encuentra cargada, verifique la instalación.');
     }
     $param = $this->get_parametros();
     $forzar_reemplazo = isset($param["-r"]) ? $param["-r"] == 1 : false;
     $proyecto = $this->get_proyecto();
     $servicios = toba_info_editores::get_items_servicios_web();
     $carpeta_doc = $proyecto->get_dir() . "/doc/servicios_web";
     if (!file_exists($carpeta_doc)) {
         mkdir($carpeta_doc, 0777, true);
     }
     $this->consola->mensaje("Generando documentacion...");
     $index_page = "<html><head>\n\t\t<link href='wsdl-viewer.css' rel='stylesheet' type='text/css' media='screen'/>\n\t\t</head>\n\t\t<body>\n\t\t<div id='header'>\n\t\t<h1>{$proyecto->get_id()}</h1><h2>Documentación Servicios Web</h2>\n\t\t</div>\n\t\t<div id='inner_box'><div class='page'>\n\t\t<ul>";
     foreach ($servicios as $serv_datos) {
         $servicio = toba_modelo_catalogo::get_servicio_web($proyecto, $serv_datos['item'], $this->consola);
         $file = $servicio->generar_documentacion($carpeta_doc, $forzar_reemplazo);
         $index_page .= "<li><a href='{$file}'>{$serv_datos['item']}</a></li>";
         unset($servicio);
     }
     $index_page .= "</ul></div></div></body></html>";
     file_put_contents($carpeta_doc . "/index.html", $index_page);
     $this->consola->mensaje("Listo. Navegar hacia file://" . $carpeta_doc . "/index.html");
 }
コード例 #2
0
 static function mostrar_servicios()
 {
     $id_proyecto = toba::proyecto()->get_id();
     echo "<h2>{$id_proyecto} - servicios web publicados</h2>";
     $items = toba_info_editores::get_items_servicios_web($id_proyecto);
     echo "<ul>";
     foreach ($items as $item) {
         $url_servicio = toba::vinculador()->get_url_ws($id_proyecto, $item['item']);
         $url_wsdl1 = toba::vinculador()->get_url_ws($id_proyecto, $item['item'], null, array('wsdl' => true));
         $url_wsdl2 = toba::vinculador()->get_url_ws($id_proyecto, $item['item'], null, array('wsdl2' => true));
         echo "<li><a href='{$url_servicio}'>{$item['item']}</a>: {$item['nombre']}. \n\t\t\t\t\t<a href='{$url_wsdl1}'>wsdl 1.1</a> -  <a href='{$url_wsdl2}'>wsdl 2.0</a></li>";
     }
     echo "</ul>";
 }
コード例 #3
0
ファイル: toba_vinculador.php プロジェクト: emma5021/toba
 function get_url_ws($proyecto = null, $ws, $parametros = array(), $opciones = array())
 {
     $separador = '&';
     if (is_null($proyecto)) {
         $proyecto = toba::proyecto()->get_id();
     }
     $disponibles = toba_info_editores::get_items_servicios_web($proyecto);
     $items = array();
     foreach ($disponibles as $wservice) {
         $items[] = $wservice['item'];
     }
     if (!in_array($ws, $items)) {
         //Si no forma parte de los ws, null
         return null;
     }
     $query_str = toba_recurso::url_proyecto($proyecto);
     $query_str .= '/servicios.php/' . $ws;
     if (isset($opciones['wsdl'])) {
         $query_str .= '?wsdl';
     } elseif (isset($opciones['wsdl2'])) {
         $query_str .= '?wsdl2';
     }
     if (isset($parametros) && is_array($parametros)) {
         foreach ($parametros as $clave => $valor) {
             $query_str .= $separador . "{$clave}={$valor}";
         }
     }
     if (isset($opciones['html'])) {
         $params = isset($opciones['texto']) ? array('texto' => $opciones['texto']) : array();
         return $this->generar_html($query_str, $params);
     }
     return $query_str;
 }