{"id":19894,"date":"2014-07-03T08:00:31","date_gmt":"2014-07-03T06:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=19894"},"modified":"2024-12-13T12:09:39","modified_gmt":"2024-12-13T11:09:39","slug":"consumir-servicio-web-sap-php","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/consumir-servicio-web-sap-php\/","title":{"rendered":"Consumir servicio web SAP<br><span class=\"font-300\">con PHP<\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.25.2&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.25.2&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image alt=&#8221;cloud-public&#8221; title_text=&#8221;SAP-PP-1&#8243; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text content_last_edited=&#8221;off|desktop&#8221; admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; header_4_font_size=&#8221;17px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;%22671%22&#8243; height=&#8221;%22251%22&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221;]<\/p>\n<p>En primer lugar, a la hora de\u00a0<strong>consumir un servicio web SAP\u00a0<\/strong>o no SAP, debemos obtener los datos de este disponibles en su descriptor WSDL.<\/p>\n<p>Tal y como vimos en el segundo art\u00edculo sobre\u00a0<a title=\"Publicar Web Service SAP (2\/2)\" href=\"https:\/\/orekait.com\/blog\/publicar-web-service-sap-2\/\">publicar servicios web en SAP<\/a>, desde la transacci\u00f3n\u00a0<em>SOAMANAGER\u00a0<\/em>se puede acceder al\u00a0<strong>fichero WSDL del servicio web a consumir<\/strong>\u00a0de donde es posible extraer las funciones disponibles desde ese servicio web y la manera en la que pueden ser accedidas.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-19900 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2014\/07\/consumir-web-service-sap-php.jpg\" alt=\"\" width=\"450\" height=\"254\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2014\/07\/consumir-web-service-sap-php.jpg 450w, https:\/\/orekait.com\/wp-content\/uploads\/2014\/07\/consumir-web-service-sap-php-300x169.jpg 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<h2><strong>Cliente SOAP para consumir servicio web SAP<br \/><\/strong><\/h2>\n<p>Para\u00a0<strong>consumir un web service SAP, php<\/strong>\u00a0es una buena opci\u00f3n ya que definiendo unas pocas l\u00edneas de c\u00f3digo podemos acceder y utilizar funciones SAP desde una aplicaci\u00f3n web.<\/p>\n<p>En primer lugar se debe\u00a0<strong>crear un cliente SOAP<\/strong>\u00a0a partir de la URL del fichero WSDL del servicio web SAP y de la localizaci\u00f3n del servicio que se va a consumir.<\/p>\n<p>[php]<br \/>$location_URL = \u2018https:\/\/ruta_sevicio_web.com\/zlast_news2\/100\/zlast_news2\/zb_last_news2\u2019;<br \/>$wsdl = \u2018https:\/\/ruta_servicio_web.com\/wsdl\/srvc_00505692214C1EE3B6D524ADE1ECD0F4\/wsdl11\/allinone\/standard\/document?sap-client=100?wsdl\u2019;<br \/>[\/php]<\/p>\n<p>Para ello se crea una instancia de la clase\u00a0<strong>SoapClient de PHP<\/strong>, indicando las opciones que correspondan en cada caso.<\/p>\n<p>Seg\u00fan el nivel de autenticaci\u00f3n indicado al crear el servicio web puede ser necesario la\u00a0<strong>especificaci\u00f3n de usuario y contrase\u00f1a<\/strong>. Estos datos se han de pasar al crear el cliente SOAP y no al llamar a una acci\u00f3n. En realidad esta informaci\u00f3n se transfiere a trav\u00e9s de la cabecera del mensaje SOAP. Por tanto, un ejemplo de cliente SOAP para\u00a0<strong>consumir un web service SAP con PHP<\/strong>\u00a0ser\u00eda el siguiente:<\/p>\n<p>[php]<br \/>$client = new SoapClient($wsdl, array(<br \/>\u2018location\u2019 =&gt; $location_URL,<br \/>\u2018uri\u2019 =&gt; \u00ab\u00bb,<br \/>\u2018trace\u2019 =&gt; 1,<br \/>\u2018login\u2019 =&gt; $usuario,<br \/>\u2018password\u2019 =&gt; $pass<br \/>));<br \/>[\/php]<\/p>\n<h2><strong>Consumir web service SOAP de SAP con PHP<br \/><\/strong><\/h2>\n<p>Una vez disponemos del\u00a0<strong>cliente SOAP creado en PHP<\/strong>, hay que llevar a cabo una llamada a la acci\u00f3n del servicio web SAP que se desee. En PHP existe un m\u00e9todo propio de\u00a0<em>SoapClien<\/em>t que devuelve la lista de funciones disponibles en el servicio web:\u00a0<em>__getFunctions<\/em>.<\/p>\n<p>Suponiendo que la funci\u00f3n que deseemos\u00a0<strong>consumir del servicio web SAP<\/strong>\u00a0sea\u00a0<em>ZNEWS_FM_GET_ULTIMAS_NOTICIAS<\/em>\u00a0la forma de llamarla y pasarle los par\u00e1metros de entrada necesarios es la siguiente:<\/p>\n<p>[php]<br \/>try{<br \/>$response = $client-&gt;ZNEWS_FM_GET_ULTIMAS_NOTICIAS(array(\u00abIM_NUM_NOTICIAS\u00bb =&gt; \u00ab5\u00bb));<\/p>\n<p>$xml = simplexml_load_string($order_return);<br \/>foreach( $xml-&gt;children() as $child ) {<br \/>echo $child-&gt;FECHA_CREACION;<br \/>}<br \/>}<br \/>catch (SoapFault $exception){<br \/>var_dump(get_class($exception));<br \/>var_dump($exception);<br \/>}<\/p>\n<p>[\/php]<\/p>\n<p>En la variable\u00a0<em>$response<\/em>\u00a0obtendremos el resultado de la llamada a la funci\u00f3n que tendr\u00e1 el formato indicado en el WSDL como mensaje de respuesta.<\/p>\n<p>Una vez disponemos de la respuesta en PHP podemos extraer de esta los datos que deseemos y formatearla como sea conveniente en cada caso. Como se puede comprobar una vez se dispone del descriptor WSDL, es muy sencillo\u00a0<strong>consumir un servicio web con PHP<\/strong>.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-personalizacion&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En primer lugar, a la hora de\u00a0consumir un servicio web SAP\u00a0o no SAP, debemos obtener los datos de este disponibles en su descriptor WSDL. Tal y como vimos en el segundo art\u00edculo sobre\u00a0publicar servicios web en SAP, desde la transacci\u00f3n\u00a0SOAMANAGER\u00a0se puede acceder al\u00a0fichero WSDL del servicio web a consumir\u00a0de donde es posible extraer las funciones [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[57,51],"tags":[],"class_list":["post-19894","post","type-post","status-publish","format-standard","hentry","category-sap-netweaver","category-user-experience-integracion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/19894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=19894"}],"version-history":[{"count":4,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/19894\/revisions"}],"predecessor-version":[{"id":22690,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/19894\/revisions\/22690"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=19894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=19894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=19894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}