`
magicmind
  • 浏览: 75130 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

php调用web service

    博客分类:
  • web
阅读更多

最近工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经包含了处理soap的模块,但是资料太少了,上php官网上查帮助,写的不是很容易理解,经过多次实践,终于搞清楚了,php调用web service还是非常简单的。下面用一个例子说明:

web service服务是一个用java写的简单服务,环境为Tomcat6.0 + Axis2,暴露的方法为  String hello(String name)

传递一个String参数name,然后返回给客户端。

使用php5开发客户端:

<?php

header("content-type:text/html;charset=utf-8");

try {

    //$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));

    $client = new SoapClient("http://localhost:8080/axis2/services/HelloService?wsdl",array('encoding'=>'UTF-8'));

  var_dump($client->__getFunctions());

  print("<br/>");

  var_dump($client->__getTypes());

  print("<br/>");

  

 $parm1 = "php client call";

 $param = array('param0' => $parm1);

 $arr = $client->hello($param);

 print_r($arr); 

} catch (SOAPFault $e) {

    print $e;

}

?>

代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。

调用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。

不知道WSDL的情况也可以调用WS,需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。

另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.

分享到:
评论

相关推荐

    利用Zend Studio for Eclipse生成wsdl文件,php调用web service

    本文主要介绍了如何使用Zend Studio for Eclipse生成WSDL文件,并利用PHP编写和调用Web Service。以下是详细步骤及关键知识点: 1. **Web Service基础**:Web Service是一种基于互联网的、平台无关的交互方式,允许...

    js调用web service的组件

    在JavaScript中调用Web Service,可以实现Web页面与服务器端业务逻辑的交互,无需刷新整个页面,提高了用户体验。 在这个名为"js调用web service的组件-webservice.rar"的压缩包中,包含了一个名为"webservice.htc...

    创建Web 应用程序和服务 和 web service 调用 源码

    总的来说,创建Web应用程序和服务以及调用Web Service是IT专业人员必备的技能。从需求分析、设计、编码到测试,每个环节都需要严谨对待。通过学习和实践,你可以开发出高效、稳定的Web应用,为用户提供卓越的体验。

    axis1.4 spring3.0 集成 实现 web service

    axis1.4 spring3.0 集成 实现 web service 服务端, axis1.4 客户端认证,授权,访问日志记录,集成spring 解决 PHP 调用web service 无法认证,和解析soap 模板

    XML Web Service开发

    在实际开发中,有许多工具和框架可以帮助我们创建和使用XML Web Service,如Java的JAX-WS、.NET的ASP.NET Web Service、PHP的SOAP扩展等。这些工具通常简化了WSDL生成、SOAP消息处理等复杂任务。 六、安全考虑 XML ...

    java调用hessianphp写得web service

    首先,我们要理解Java调用Web服务的基本概念。在Java中,通常使用JAX-WS或JAX-RS等标准API来调用基于SOAP或RESTful的Web服务。然而,对于Hessian协议,我们需要使用特定的库,如Hessian库,它提供了对Hessian协议的...

    php调用webservice及myeclipse创建webservice实例

    本实例专注于PHP调用Web服务以及使用MyEclipse创建Web服务的详细过程,这对于初学者来说是一个很好的学习资源。 首先,让我们深入理解PHP调用Web服务的概念。Web服务通常基于SOAP(Simple Object Access Protocol)...

    netbeans 开发 web service

    - 为界面中的按钮或其他控件添加事件处理方法,这些方法负责调用Web服务。 5. **运行富客户端**: - 确保服务端的Web Service已经启动并在运行。 - 运行客户端程序,可以观察到客户端与服务端之间的交互效果。 #...

    delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码,非常好的教程。

    6. **代码示例**: 教程中的代码部分应该包含了创建和调用Web Service的实际示例,涵盖了从定义接口、实现服务到生成客户端代理类的全过程。通过这些示例,学习者可以深入理解Delphi 6中Web Service开发的每个步骤。 ...

    C#使用PHP服务端的Web Service.zip

    标题"‘C#使用PHP服务端的Web Service.zip’"表明了这个压缩包包含了关于如何使用C#调用PHP服务器上的Web Service的资源。这通常涉及到开发C#客户端应用程序,利用.NET Framework中的Web服务客户端代理类,来与PHP...

    动态调用WebService.

    4. **SOAP客户端库**:大多数编程语言都有对应的SOAP客户端库,如Java的JAX-WS,Python的suds,PHP的SoapClient等,它们简化了动态调用Web Service的过程。开发者只需要提供WSDL地址,库会自动生成对应的调用方法。 ...

    PHP Web Service

    综上所述,PHP Web Service涉及到的技术包括SOAP、WSDL,以及如何在PHP中实现和调用这些服务。通过源码分析和工具使用,开发者可以构建自己的Web Service,实现应用程序之间的数据交换和功能整合。

    php创建web service实例代码

    对于客户端,他们需要使用SOAP客户端库(如PHP的`SoapClient`)来调用Web服务。以下是一个简单的客户端示例: ```php $client = new SoapClient('http://example.com/service.php?wsdl', array('trace' =&gt; 1)); $...

    SOAP:XML跨平台Web Service开发技术

    3. **SOAP客户端生成**:开发者可以利用WSDL生成客户端代码,简化调用Web服务的步骤。 在实际开发中,有许多工具和库可以帮助开发者实现SOAP通信,如Java的JAX-WS,.NET的ASMX和WCF,以及PHP的SoapClient等。 总结...

    WEB SERVICE优点

    6. 软件重用:Web Service 促进了代码和业务逻辑的重用,开发人员可以通过调用已有的Web Service来快速构建新应用,减少重复工作,提高开发效率。 7. 商业流程集成:Web Service 可以作为构建复杂业务流程的基础,...

    php中创建和调用webservice接口示例.pdf

    总结来说,PHP 创建和调用 Web Service 需要理解 SOAP 和 WSDL 的概念,编写服务端类来实现功能,并使用 `SoapServer` 处理请求。在客户端,使用 `SoapClient` 调用服务并获取响应。通过这种方式,PHP 应用程序可以...

    C# 调用PHP webservice

    - 调用Web服务时,应处理可能出现的网络错误、解析错误和业务逻辑错误。C#中的`try-catch`语句用于捕获异常,PHP的`catchable fatal error`或`catch`块用于类似目的。 6. **安全性**: - 考虑到安全性,可能需要...

    PHP调用C#的webservice

    本文将深入探讨如何使用PHP调用由C#编写的Web服务(WebService)。首先,我们需要理解这两个技术的基本概念。 **PHP**(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML...

    Spring MVC、CXF、Web Service

    通过深入研究这个压缩包内的文件,你可以了解到如何在Spring MVC环境中配置和使用CXF来创建和调用Web Service,以及如何处理相关的请求和响应。这将是一个宝贵的学习资源,有助于提升你在企业级Java开发中的技能。

Global site tag (gtag.js) - Google Analytics