2012-10-01 3 views
0

SoapClient에 문제가 있습니다. 웹 서비스 요청에 @, $, '등의 특수 기호가 있습니다. $params 배열에 추가 할 때 SoapClient가 슬래시를 추가합니다. 그러나 원격 웹 서비스는 win-platform에서 작동하고 슬래시를 제거하지 않고 오류를 반환합니다.php SoapClient 슬래시를 제거하십시오.

답변

0

, 당신은 당신의 XML 요청을 구축하고 수동으로 보낼 수

위가 어떤 이유로 할 수없는 경우 ... 그들은 당신이 당신의 코드를 변경하기보다는 자신의 말에 해결해야 할 문제 같은데 그러나 그것은 나쁜 습관입니다. 또 다른 방법은 SoapClient에 대한 대안을 사용하는 것입니다. http://sourceforge.net/projects/nusoap (이 라이브러리는 사용하기가 정말 간단합니다). 100 % 특수 기호를 자동으로 이스케이프하지는 않지만 "<"및 ">"을 단독으로 이스케이프하지 않으므로 자신의 경우에 시도해 볼 가치가 있다고 말하고 싶습니다.

아니면 내가 또한 일을 변경하는 경우 볼 SoapClient에서 강제 UTF-8 변환을 가능하게하려고 것 : 나는 수정에게 제공 측면에서이 문제를 대답 할 수

$client = new SoapClient('http://foobar.com/webservice.asmx?WSDL', array('trace' => 1, 'encoding'=>' UTF-8')); 
+0

. : "수동 XML 요청"에 대한 의미는 내 클래스를 통해 수행하고 __doRequest 메서드를 재정의합니까? 감사합니다. nusoap을 사용합니다. 생각해 봅니다. 상자에서 클라이언트를 사용하고 싶습니다. – moka

+0

문자열로 자신의 XML을 작성하고 효율적으로 네, 자신의 구현을 작성 : (인코딩 '매개 변수를 시도한 적이 있습니까? – Yuriy

+0

예, 인코딩 시도했지만 아무 일도 : ( – moka

관련 문제