Ⅰ 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生成
Ⅱ php SOAP的 non-WSDL模式与WSDL模式区别
同问,求解答。
Ⅲ php生成WEBSERVICE。wsdl 不能传递参数
看看编码是否正确,也可以通过一些网络抓包工具来看看,转输的数据是不是格式正确等
Ⅳ php 做的web services 中的wsdl描述文件,我想定义某方法的参数数据类型为数组怎么定义
下面这样:
<part name="t_c" type="xsd:int[]" />
<part name="t_c" type="xsd:string[]" />
Ⅳ PHP请问这是怎么回事
看看下面方式能否解决你的问题:
PHP程序作为SOAP客户端,采用WSDL模式访问远程服务器时,PHP是通过调用libcurl实现的,至少在PHP5.2.X是这样的。如果采用non-WSDL模式,就不需要 libcurl。
在solaris 没有缺省安装 libcurl,也许是我没有安装。除了libcurl以外,至少还关联的库包括:
libidn
libgcc
libiconv
libintl
openssl
在sunfreeware下载这些包的pkg文件,用pkgadd 装入之后,再执行php程序,搞定。
Ⅵ java或者php用wsdl接口实现客户端,并写个执行类,把xml字符串传给服务端
.java编写webservice服务端,php作为客户端调用.
1.首先我们写一个简单的java类并发布webservice.
package com.php;
import java.util.Map;
/**
* @author yangjuqi
* @createdate 2009-5-18 下午04:43:09
*
*/
public class WebServiceImpl {
public String sendTransact(Map map) throws Exception {
System.out.println("::: Call testModel1 :::");
if(map!=null){
String bugmanifestid = StringUtil.getValue(map.get("bugmanifestid"));
String editedby = StringUtil.getValue(map.get("editedby"));
String dditeddate = StringUtil.getValue(map.get("dditeddate"));
String fullinfo = StringUtil.getValue(map.get("fullinfo"));
String action = StringUtil.getValue(map.get("action"));
System.out.println("bugmanifestid -$amp;>quot;$ +bugmanifestid);
System.out.println("editedby -$amp;>quot;$ +editedby);
System.out.println("dditeddate -$amp;>quot;$ +dditeddate);
System.out.println("fullinfo -$amp;>quot;$ +fullinfo);
System.out.println("action -$amp;>quot;$ +action);
}
return "success";
}
}
Ⅶ php怎么读取wsdl文档
正常情况只要
$client = new SoapClient('wsdl的url');
$Cardholder = $client->retrieveCardholder($a0,$a1,$a2);
就可以了
这种问题属于严重"环境相关",你那拥有测试环境比没有环境的其他人更有优势的
如果搞不定,也尽量把出错信息、代码等原始环境告诉其他人。 切忌自己解释概括
既然语法层面和使用层面都解决不了,你的问题属于“调试层面”,
请给出url和测试帐户,别人替你调试吧。
Ⅷ C#从php webservice服务端获取数据错误,提示从网络上接收的xml存在问题,php服务端wsdl文件如下。
这上面说,是提示从网上接收存在问题,那就可以确定是你的后台代码出现了传值上的问题,但具体出错在哪个,得看你自己了!好好检查一下吧!
Ⅸ 你好 请问一下现在开发一个App需要多少钱 或者开发一个微信小程序 谢谢
开发一个App需要多少钱
如今,不少企业都想拥有属于自己企业或产品的手机APP,但其中最困扰企业主的问题就是:开发一款手机APP到底需要多少钱?
简单点来说,要视手机APP的需求及质量而言,价位一般在几千到十几万左右,更高端的价格更高。
四、APP开发公司的所在地
需要注意的是,同样实力的APP开发公司,在不同的城市也会导致APP的成本费用高一些
Ⅹ PHP如何调用webservice
最近工作中需要用php调用webservice接口,对php不熟,上网搜搜,发现关于用php调用webservice的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经包含了处理soap的模块,但是资料太少了,上php官网上查帮助,写的不是很容易理解,经过多次实践,终于搞清楚了,php调用webservice还是非常简单的。下面用一个例子说明:
webservice服务是查询QQ用户是否在线
使用php5开发客户端:
<?php
try{
//$client=newSoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client=newSoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("<br/>");
var_mp($client->__getTypes());
print("<br/>");
classqqCheckOnline{
var$qqCode="10000";
};
$arrPara=array(newqqCheckOnline);
$arrResult=$client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);
echo$arrResult->qqCheckOnlineResult."<br/>";
}catch(SOAPFault$e){
print$e;
}
?>
代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。
调用webservice前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的webservice暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。
需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。
另外发现个问题,如果webservice方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.