如何使用PHP调用SAP RFC的WSDL文件做WEB SERVICE接口
这两天,看到上海的情况,心里有些难受。国际化都市的人们,在21世纪20年代,还会饥肠辘辘。 今天我们学习一下PHP如何调用SAP系统发布的WEB SERVICE服务。 SAP作为服务提供者PROVIDER,PHP作为服务消费者CONSUMER。 详细情况为: SAP端设计 输入参数:ZINPUT ,类型STRING 输入参数:ZTYPE ,类型STRING 内表参数:RET_DATA ,参照类型为ZMSG,类型ZMSG的字段为MSG,CHAR,长度255. SAP接口函数代码为: FUNCTION YFM_CHECK. *”———————————————————————- *”*”Local Interface: *” IMPORTING *” VALUE(ZINPUT) TYPE STRING OPTIONAL *” VALUE(ZTYPE) TYPE STRING OPTIONAL *” TABLES *” RET_DATA STRUCTURE ZMSG OPTIONAL *”———————————————————————- * MESSAGE x398(00). * & & & & CONCATENATE ‘第1行您输入了:ZINPUT=’ ZINPUT ‘,ZTYPE=’ ZTYPE INTO RET_DATA RESPECTING BLANKS. APPEND RET_DATA. CONCATENATE ‘第2行today:’ sy–datum ‘日-Time:’ sy–uzeit ‘秒’ INTO RET_DATA RESPECTING BLANKS. APPEND RET_DATA. ENDFUNCTION. 将RFC函数YFM_CHECK发布成WEB SERVICE服务后,名字都用YFM_CHECK。在此不做过多概述。生成了WSDL文件。 将<wsp:UsingPolicy wsdl:required=”true“/>修改成<wsp:UsingPolicy wsdl:required=”false“/> PHP端代码 写入PHP代码如下: <?php echo “<pre>”; header(“content-type:text/html;charset=utf-8”); try { $client = new SoapClient(“http://www.destinationcom/PHP2SAP.wsdl“, array( “stream_context” => stream_context_create( array( ‘ssl’ => array( ‘verify_peer’