ホームページ > バックエンド開発 > PHPチュートリアル > SOAP Webサービス通信の問題

SOAP Webサービス通信の問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:30:27
オリジナル
1204 人が閲覧しました

$client = new SoapClient($wsdl_url,["trace"=>true,'encoding'=>'UTF-8','soap_version'=>SOAP_1_2,'uri'=>'http:// ws.apache.org/axis2']);
print_r($client->__getFunctions());
$xml=<<


SLDQ


XML;

主にここ: 配列を使用するだけエラー
$client->__soapCall('getDepartInfo',$xml);

致命的なエラー: SoapFault 例外をキャッチできませんでした: [HTTP]
でホストに接続できませんでした
wsdl が発行されるまで待機してください


議論(解決策)

まあ、容量が大きすぎます。 。 。 。 。

http://www.foxwho.com/wsdl.txt
このアドレスを確認してください

夜の 8 時にオンライン、夕食のために家に帰りましょう

struct getDepartInfo { string strXml;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
から、
$client->__soapCall('getDepartInfo', array('strXml' => $xml));
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
を次のように呼び出す必要があることがわかりますthis

struct getDepartInfo { string strXml;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
から、この
$client->__soapCall('getDepartInfo', array('strXml' => $xml));
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

のように呼び出す必要があることがわかります。

报错






Could not connect to host

SoapFault Object
(
[message:protected] => Could not connect to host
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /www/wwwroot/default/p.php
[line:protected] => 29
[trace:Exception:private] => Array
(
[0] => Array
(
[function] => __doRequest
[class] => SoapClient
[type] => ->
[args] => Array
(
[0] =>


[1] => http://****:80/axis2/services/WS4SZ.WS4SZHttpSoap11Endpoint/
[2] => urn:getDepartInfo
[3] => 1
[4] => 0
)

)

struct getDepartInfo { string strXml;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
可知,要这样调用
$client->__soapCall('getDepartInfo', array('strXml' => $xml));
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


帮我调试一下,联系我QQ 我给你文件。改天请你吃饭

Could not connect to host 无法连接到主机
你在 wsdl 中隐去了目标 url ,这就没法帮你了

vs2010 的 wsdl 工具生成的方法是

    public string getDepartInfo([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)] string strXml) {        object[] results = this.Invoke("getDepartInfo", new object[] {                    strXml});        return ((string)(results[0]));    }
ログイン後にコピー
ログイン後にコピー
可知并没有搞错

生成的 url 是
this.Url = "http://***:80/axis2/services/WS4SZ.WS4SZHttpSoap11Endpoint/";
ログイン後にコピー
ログイン後にコピー

Could not connect to host 无法连接到主机
你在 wsdl 中隐去了目标 url ,这就没法帮你了

vs2010 的 wsdl 工具生成的方法是

    public string getDepartInfo([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)] string strXml) {        object[] results = this.Invoke("getDepartInfo", new object[] {                    strXml});        return ((string)(results[0]));    }
ログイン後にコピー
ログイン後にコピー
可知并没有搞错

生成的 url 是
this.Url = "http://***:80/axis2/services/WS4SZ.WS4SZHttpSoap11Endpoint/";
ログイン後にコピー
ログイン後にコピー

发你短信信息里,因为这个不能公开

モデレータ様、ありがとうございます。相手がポートをパブリック IP に変更してからもう一度試してみます。
いつか蘇州に行ったら試してみます。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート