2013-03-14 1 views
19

더 나은 PHP SOAP 또는 NuSOAP은 무엇입니까? 제발 도와주세요. 물론 몇 가지 미묘한 차이가 있지만더 나은 PHP SOAP 또는 NuSOAP은 무엇입니까?

+0

자세한 정보를 제공 할 수 있습니까? PHP SOAP는 PHP 5.0.1부터 사용할 수 있습니다. PHP4에 있다면 NuSOAP을 사용해야합니다. – Raptor

+0

아니요 PHP 5.0.1을 사용하고 있습니다. –

+0

WCF 서비스를 사용하려면 PHP SOAP을 사용하십시오. 그렇지 않으면 많은 함정에 직면 할 수 있습니다. 아마 그들은 나중에 그것을 고칠 것이다.하지만 지금은 두통이있다. (요청시 기본 콜렉션의 문제점, 다른 네임 스페이스에 선언 된 복합 형의 문제, 단일 요소 배열이 객체로 변환되도록한다.) – Uriil

답변

24

PHP SOAP은 PHP 5.0.1부터 사용할 수 있습니다. PHP4를 사용하는 경우 NuSOAP을 사용해야합니다.

네이티브 PHP 코드는 일반적으로 상대적으로 버그가 발생하지 않으므로 &에 버그가 없으므로 PHP SOAP를 사용할 수있는 경우 사용하십시오. NuSOAP은 공식 웹 사이트에 많은 문서가 없습니다.

+5

이 예제는 정말 좋은 질문과 대답의 쌍입니다. 잠재적으로 역시 '기본'이라고 할 수 있음). 실제로 우리 모두는 그 해답을 알고 있습니다. 우리가 Google로 결정하기 전에 우리는 그것을 알고있었습니다. 그러나 지금 우리가 놓치고있는 도서관의 놀랍도록 특별한 특징이 없다는 것을 안심할 수 있습니다. 우리가 전에 이것을 점검했을지라도. – lol

+0

누군가가 최신 NuSOAP을 시도 했습니까? https://sourceforge.net/projects/nusoapforphp53/ (웹 페이지에 "http://sourceforge.net/projects/nusoap/의 버전이 최신 버전입니다.") –

12

, 나는 NuSoap 더 나은 생각 :

  1. Nusoap 비누를 사용하는 경우에 당신이 당신의 자신의 일부를 작성해야 몇 가지 미리 정의 된 방법이있다.
  2. SOAP 성능 병목 현상은 서버 응답 시간이기 때문에 Nusoap처럼 미리 정의 된 클래스를 사용할 염려가 없습니다.
  3. Nusoap에서 UTF-8 처리가 훨씬 더 쉽습니다.
  4. Nusoap은 SOAP 서버를 만드는 데 좋은 기능을 제공합니다.
+0

당신은 PHP SOAP가 UTF-8을 지원하지 않는다는 것을 의미합니까? – Raptor

+4

아니요 확실히 지원합니다. 하지만 PHP SOAP에서 여러 날 동안이 문제에 도전했습니다. NUSOAP에서는 설정 변수가 있습니다! 나에게 그것은 PHP mysql 함수 또는 adodb 드라이버 중에서 선택하는 것과 같다. 나는 병목 현상을 클래스 자체가 아니라 adodb를 사용합니다. Mysql 응답 시간은 클래스가 서버에서 가져 오는 모든 리소스 이상입니다. – HPM

+0

감사합니다. –

1

Nusoap을 사용하는 또 다른 이점은 얻은 결과가 이미 배열에 있다는 것입니다. 일반 PHP는 객체를 가져오고 배열로 직접 변환해야합니다. 그리고 작은 벤치 마크를 만들었습니다. Nusoap은 배열로 변환하는 것을 포함하여 내 자신의 구현보다 빠릅니다. nusoap을 사용하여 Nusoap = -1370852340.1761 기본 PHP = -1370852340.2057

public function objectToArray($obj) 
{ 
    if(!is_array($obj) && !is_object($obj)) 
    return $obj; 

    if(is_object($obj)) 
    $obj = get_object_vars($obj); 

    return array_map(array($this, 'objectToArray'), $obj); 
} 
4

, WSDL 파일

+0

php- wsdl-creator. https://code.google.com/p/php-wsdl-creator/ –

2

Nusoap이 더 이상 유지를 작성할 필요가 없습니다. PHP 버전 4.X까지 지원됩니다. 최신 버전으로 문제가 발생할 수 있습니다.