簡體   English   中英

SOAP UTF-8編碼

[英]SOAP UTF-8 encoding

我有一個奇怪的問題。 PHP我想使用SOAP與Web服務進行通信。

$soapURL = "http://www.somedomain.com/xyz.asmx?WSDL";
$soapParameters = Array('login' => "123", 'password' => "pwd", 'soap_version' => SOAP_1_2, 'exceptions' => True) ;
$client = new SoapClient($soapURL, $soapParameters);

使用XAMPP,它可以在本地正常工作。

在Web服務器上嘗試該操作時,出現以下錯誤消息:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.somedomain.com/xyz.asmx?WSDL' : Input is not proper UTF-8, indicate encoding ! Bytes: 0xFC 0x6C 0x74 0x69 in ...

錯誤出現在我的代碼示例的最后一行。

有任何想法嗎?

  • mb_detect_encoding($soapURL); 說字符串是ASCII格式
  • 我試圖用utf8_encodeiconv和mb_convert_encoding將每個字符串轉換為UTF-8 ...
  • php文件的第一行是: header('Content-type: text/html; charset=utf-8');

我終於解決了它。 問題是來自Windows服務器和Linux客戶端的通信。 我不知道為什么它可以在某些Linux機器上運行,但是沒關系。

我在源代碼處添加了本地wsdl文件,並將其用於SOAPClient。 對於服務器,我使用了__setLocation函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM