好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

包含phpnonwsdl的词条

很多站长朋友们都不太清楚phpnonwsdl,今天小编就来给大家整理phpnonwsdl,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 如何实现php wsdl webservice 让我的客户端访问 2、 php怎么读取wsdl文档 3、 如何实现PHP WSDL webservice 让我的客户端访问 4、 php怎么生成wsdl文件 5、 SOAP返回的那个XML 文件怎么获取, 如何实现php wsdl webservice 让我的客户端访问

首先我创建的文件有:

api.php api的接口类文件

api.wsdl 我创建产生的最后要调用的接口文件

cometrue.php 注册service api类内容的所有内容的执行文件

creat_wsdl.php 创建wsdl文件的执行方法文件

SoapDiscovery.class.php 必须要调用的soap类文件(可在网上查询下载)

第一步 :创建一个service的文件夹专门存放您的api接口项目

第二步:下载SoapDiscovery.class.php类文件,放在您的service文件夹里面

第三步:在service文件夹下面创建您自己api接口类文件api.php,

php怎么读取wsdl文档

正常情况只要

$client = new SoapClient('wsdl的url');

$Cardholder = $client->retrieveCardholder($a0,$a1,$a2);

就可以了

这种问题属于严重"环境相关",你那拥有测试环境比没有环境的其他人更有优势的

如果搞不定,也尽量把出错信息、代码等原始环境告诉其他人。 切忌自己解释概括

既然语法层面和使用层面都解决不了,你的问题属于“调试层面”,

请给出url和测试帐户,别人替你调试吧。

如何实现PHP WSDL webservice 让我的客户端访问

如何实现PHP WSDL webservice 让我的客户端访问

下面我们来看Java如何通过WSDL文件来调用这些web service:

注意,以下的代码并没有经过真正的测试,只是说明这些情况,不同版本的Axis相差很大,大家最好以apache网站上的例子为准,这里仅仅用于说明其基本用法。

1,直接AXIS调用远程的web service

我觉得这种方法比较适合那些高手,他们能直接看懂XML格式的WSDL文件,我自己是看不懂的,尤其我不是专门搞这行的,即使一段时间看懂,后来也就忘记了。直接调用模式如下:

import java.util.Date;

import java.text.DateFormat;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import javax.xml.namespace.QName;

import java.lang.Integer;

import javax.xml.rpc.ParameterMode;

php怎么生成wsdl文件

办法有两种:

1.zend studio生成

对于zend studio 9之前的版本貌似直接生成:

File ->New -> Other-> Webservice-> WSDL

对于zend studio 9需要安装wsdl插件:

1、打开zendstudio9,选择help(帮助)->welcome

2、在右边的列表中找到WSDL Support,勾选

3、点击Apply changes(应用修改)

4、zde会自动安装,然后提示要重启,点击restart now(现在重新启动)

wsdl支持安装完毕,下面我们来生成一个wsdl文件,步骤如下:

1、选择保存wsdl的项目文件夹

2、右键-new(新建)->other(其他)

3、在弹出的对话框中选择web services,在下级菜单中选择WSDL file,点击next进入下一步

4、命名你的wsdl文件,点击next进入下一步

5、修改target namespace(目标名称空间),其他不变,点击finish。

2.利用SoapDiscovery.class.php生成

SOAP返回的那个XML 文件怎么获取,

一. 必备知识

1.wsdl(web服务标记语言)

WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。

具体参考请访问下面网址

2.soap

SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。

具体参考请访问下面网址

3.php扩展

具体参考请访问下面网址

二. php soap开发模式

1. working in swdl mode(契约先行(Contract first)模式)

契约先行模式使用了一个用XML定义的服务接口的WSDL文件。WSDL文件定义了服务必须实现或客户端必须使用的接口。SoapServer和SoapClient的WSDL模式就基于这个概念。也就是用soap通讯的时候必须先有一个定义过的服务接口,才能进行通讯。

2. working in non-swdl mode(代码先行(Code first)模式)

在代码先行模式中,首先要先写出实现服务的代码。然后在大多数情况下,代码会产生一个契约,换种说法,一个WSDL。接着客户端在使用服务的时候就可以使用那个WSDL来获得服务的接口。尽管如此,PHP5的扩展并没有从代码输出一个WSDL的规定,考虑到这种情况,可以在non-WSDL模式下使用 SoapServer和SoapClient。也就是说在soap通讯的时候并不需要一个预先定义过的服务接口,代码会自动的产生。

三.参考例子:

下面介绍如何使用WSDL模式和non-WSDL模式来实现服务和客户端。相对而言,使用WSDL模式来实现服务和客户端会比较容易。

1. noWSDL模式实现

服务端 server.php

<?php

class test

{

/**

*

* @return string

*/

function show()

{

return 'hello world!';

}

}

#####################################################

$server = new SoapServer(null, array('uri' => ""));

$server->setClass('test');

$server->handle();

?>

客户端 client.php

<?

$soap=new SoapClient(null, array(

'location' =>'',

'uri' => ""));

print_r($soap->__getFunctions());

echo $soap->show();

?>

2. WSDL模式实现

第一步:编写服务端类文件

class..php

<?php

class test

{

/**

*

* @return string

*/

function show()

{

return 'hello world!';

}

}

?>

第二步:将类文件生成 wsdl文件server.wsdl。

由于wsdl文件编写比较复杂,所以我们用第三方工具生成。我们以zend studio为例子演示:

Tools ==> WSDL Generator ==> Configration name : test; WSDL file name: server

==>NEXT==> 点击 + ==> 选择上面的创建的class.php ==> 这时候会看到一个 classes?? : URL Location的映射,保留 test类前面的勾,并将其url 设置为 SOAP Server的url: ==>点击Finish,ZDE就会创建一个非常漂亮的WSDL了?? 工作基本上完成了.

第三步:服务端编写:

<?php

require ' class..php '; //引入类文件

$server = new SoapServer('server.wsdl');

$server->setClass('test');

$server->handle();

?>

第四步:客户端编写

$soap = new SoapClient('http:// soapserver_url/server.wsdl');

print_r($soap->__getFunctions());

echo $soap->show();

以上两个例子只是一个简单的soap服务编写,已经可以满足大部分需要。如果需要更加高级的功能请参考其他方面的资料。

三. 出现的问题。

1.在方法中对属性的赋值在其他方法中不起作用。

比如在客户端调用服务端某个方法对某个属性赋值。

在其他方法里就不能用。但在 __construct 方法中对属性的赋值是可以个在其他方法中使用的。

2. 提示 Client] looks like we got no XML document错误。

服务器端文件在<?php ?> 标签前后都不要有任何数据包括空格,空行。

3. Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity

原因如下:PHP程序作为 SOAP客户端 采用 WSDL 模式访问远端服务器的时候,PHP是通过调用 libcurl 实现的。至少在 PHP5.2.X 是这样的。如果采用 non-WSDL 模式,就不需要 libcurl。在solaris 没有缺省安装 libcurl,也许是我没有安装。除了 了ibcurl以外,至少还关联的库包括:

libidn,ibgcc,libiconv,libintl,openssl

关于phpnonwsdl的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于包含phpnonwsdl的词条的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did207820
更新时间:2023-05-03   阅读:17次

上一篇: php取消自动换行 php自动关闭当前页面

下一篇:租租车php面试题 租租车招聘面试经历

相关资讯

最新资料更新

  • 1.php异步协程 php yield 异步
  • 2.php浏览页面乱码 php页面字符出现乱码怎么解决
  • 3.php配置smtp php配置文件的文件名是什么
  • 4.php文字合到图片 php 图片合成
  • 5.php从事哪个方面 php干啥的
  • 6.php项目详解 php项目总结
  • 7.php如何页面静态化 php实现页面静态化
  • 8.php人员查询系统 php信息查询系统
  • 9.php带协议跳转 php跳转函数
  • 10.php正则获取图片 php使用正则表达式
  • 11.口袋源码php下载 口袋com
  • 12.php的sql累加 sql实现累加
  • 13.phpsmtp配置项 php 配置
  • 14.如何知道php密码 php确认密码
  • 15.phptoast弹框 php 弹框
  • 16.包含php-fpm-t的词条
  • 17.php代码修改按钮大小 php内容修改
  • 18.php缓存框架 php 缓存
  • 19.php识别条码 php代码扫描
  • 20.射洪php招聘 射洪平台公司招聘

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]