検索
ホームページphp教程php手册使用PHP的soap扩展, 进行wdsl操作

使用PHP的soap扩展, 进行wdsl操作

Jun 06, 2016 pm 07:58 PM
phpsoap1つ使用拡大する操作する行為

本文是一个使用php soap访问webservice的例子. wsdl文件请见http://www.webxml.com.cn/这个网站. 里面有很多好用的服务器. 大部分可以免费使用, 有一部分要收费. 以中文简繁转换为例. 简繁转换的wsdl文件地址为:http://webservice.webxml.com.cn/WebServices


本文是一个使用php soap访问webservice的例子.

wsdl文件请见http://www.webxml.com.cn/ 这个网站. 里面有很多好用的服务器.

大部分可以免费使用, 有一部分要收费.


以中文简繁转换为例.


简繁转换的wsdl文件地址为: http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl

下面是PHP代码, 其中有说明.


<?php $wsdl = &#39;http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl&#39;;
// 以wsdl方式, 实例化类. 
$soap = new SoapClient( $wsdl );

var_dump ( $soap->__getFunctions() ); // 这是此接口可以提供哪些服务, 就是函数定义, 有参数, 有返回值

var_dump( $soap->__getTypes() ); // 这是此接口使用的数据类型.


以下为上面例子的返回值:

函数声明

<strong>array</strong> <em>(size=4)</em>
  0 <span>=></span> <small>string</small> <span>'toSimplifiedChineseResponse toSimplifiedChinese(toSimplifiedChinese $parameters)'</span> <em>(length=80)</em>
  1 <span>=></span> <small>string</small> <span>'toTraditionalChineseResponse toTraditionalChinese(toTraditionalChinese $parameters)'</span> <em>(length=83)</em>
  2 <span>=></span> <small>string</small> <span>'toSimplifiedChineseResponse toSimplifiedChinese(toSimplifiedChinese $parameters)'</span> <em>(length=80)</em>
  3 <span>=></span> <small>string</small> <span>'toTraditionalChineseResponse toTraditionalChinese(toTraditionalChinese $parameters)'</span> <em>(length=83)</em>

类型定义

<strong>array</strong> <em>(size=4)</em>
  0 <span>=></span> <small>string</small> <span>'struct toSimplifiedChinese {
 string sText;
}'</span> <em>(length=45)</em>
  1 <span>=></span> <small>string</small> <span>'struct toSimplifiedChineseResponse {
 string toSimplifiedChineseResult;
}'</span> <em>(length=73)</em>
  2 <span>=></span> <small>string</small> <span>'struct toTraditionalChinese {
 string sText;
}'</span> <em>(length=46)</em>
  3 <span>=></span> <small>string</small> <span>'struct toTraditionalChineseResponse {
 string toTraditionalChineseResult;
}'</span> <em>(length=75)</em>

从这个输出中, 可以看到, 

<span>toTraditionalChineseResponse toTraditionalChinese(toTraditionalChinese $parameters)</span>

这是简体转换为繁体的函数.

参数 toTraditionalChinese 

结构为:

<span>struct toTraditionalChinese {
 string sText;
}</span>

对应 于PHP, 就是一个数组, 以sText为键, 值为字符串,

例如: array( 'sText' => '要转成繁体的汉字' )

此函数的返回值为:

<span>struct toTraditionalChineseResponse {
 string toTraditionalChineseResult;
}</span>

这对于PHP就是, 一个stdClass, 有一个叫做toTraditionalChineseResult的属性

下面是一个有完整返回值的PHP代码, 其中包含发送的xml信息和接收的xml信息.

<?php // wsdl地址
$wsdl = &#39;http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl&#39;;
// 实例化, trace表示要记录发送接收的xml数据
$soap = new SoapClient( $wsdl, array( &#39;trace&#39; => true) );

// 直接调用这个函数, 因为在此对象中, 所有的函数都是以双下划线开头, 所以不会有冲突.
$rs = $soap->toTraditionalChinese( array( 'sText' => '我要转成繁体哦, 龙' ));
// 显示转换以后的值, stdClass对象.
var_dump( $rs );
// 显示转换的内容, 字符串
echo $rs->toTraditionalChineseResult;

echo '<hr>以下为收发信息';
// 发送HTTP头
var_dump( $soap->__getLastRequestHeaders() );
// 发送的HTTP_BODY
var_dump( $soap->__getLastRequest() );
// 接收的HTTP头
var_dump( $soap->__getLastResponseHeaders() );
// 接收的HTTP_BODY
var_dump( $soap->__getLastResponse() );

以下是上面这个例子的返回值:

object(stdClass)[2]
  public 'toTraditionalChineseResult' => string '我要轉成繁體哦, 龍' (length=26)
我要轉成繁體哦, 龍
以下为收发信息
string 'POST /WebServices/TraditionalSimplifiedWebService.asmx HTTP/1.1
Host: webservice.webxml.com.cn
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.3.13
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://webxml.com.cn/toTraditionalChinese"
Content-Length: 305


' (length=269)
string '
我要转成繁体哦, 龙
' (length=305)
string 'HTTP/1.1 200 OK
Date: Thu, 17 Jul 2014 08:55:43 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 420
' (length=228)
string '我要轉成繁體哦, 龍' (length=420)


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター