2011-01-11 6 views
1

PHP 개발자는 아니지만 PHP 호스팅을 사용하고 .NET 클라이언트가 사용하도록 PHP 웹 서비스를 만들고 싶습니다. NUSoap에서 WSDL을 사용하려고합니다.PHP 웹 서비스를 만드는 가장 좋은 방법은

또는

내가 쉬울 것 잘 모르겠습니다 더 현대적인 솔루션,

은 하나로, OData를 사용하는 것입니다. 어느 것이 더 쉬울까요?

+0

는 –

답변

4

가장 쉬운 방법은 C# 개발자가 WSDL로 SOAP 서비스를 개발하는 것입니다. 그것은 PHP에서 서비스를 만드는 고통이 될 것입니다.

더 나은 대안은 JSON을 사용하여 통신하는 REST 웹 서비스를 만드는 것입니다. 그것은 bit more code on the client side 걸릴 것이다,하지만 다른 플랫폼에서 쉽게 소비 될 것이며, PHP로 개발하는 스냅 것입니다.

다음은 PHP에서 제공되는 매우 간단한 REST-JSON 웹 서버의 예입니다.

function finder($person) 
{ 
    $data = array(); 

    $data['sue']['full_name'] = 'Sue Thompson'; 
    $data['sue']['location']['city'] = 'San Francisco'; 
    $data['sue']['location']['state'] = 'California'; 

    $data['jack']['full_name'] = 'Jack Black'; 
    $data['jack']['location']['city'] = 'San Anselmo'; 
    $data['jack']['location']['state'] = 'California'; 

    if (!isset($data[$person)) 
    { 
     return $data[$person]; 
    } 
    else 
    { 
     // make sure you document this 
     return array('error' => "An error has occured"); 
    } 
} 

// you can take parameters as url query strings or as json. 
// if your input is simple, query strings are easier. 
$person = $_GET['person']; 

echo json_encode(finder($person)); 
+0

하지 문제는 PHP를 지정 했 http://harmful.cat-v.org/software/xml/soap/simple? –

+0

그녀는 PHP 서버, .net 클라이언트를 말했다. REST 웹 서비스는 서버 측 코드를 쉽게 개발할 수 있으며 잘 알려져있다 (Google의 웹 서비스 작동 방식). .net 측에서 자동으로 작동하지 않습니다. –

+0

바로 그 서버 쪽은 PHP에 익숙하지 않으므로 덜 복잡합니다. 클라이언트 측은 .NET입니다. JSON은 실제로 좋은 아이디어입니다 ... – emalamisura

2

SOAP을 사용하지 마십시오. 그것은 끔찍하고 끔찍한 일입니다.

REST (또는 적어도 GET 및 POST)와 JSON을 사용하십시오. 훨씬 쉽습니다. 내가 원래 XML에으로 담보,하지만 그 자리가 있습니다

SOAP or REST for Web Services?

UPDATE를 참조하십시오. JSON은 더 낫지 만 (덜 장황하다).

+0

XML에 대한 정보가 있습니다. 잠재 고객에 따라 다릅니다. 파서를 둘러 본 후에 XML이 그렇게 나쁘지는 않습니다. SOAP은 거의 항상 실패합니다. 그러나 클라이언트가 .NET 인 경우에는 SOAP이 유용합니다. –

관련 문제