2010-02-16 5 views
0

리드를 보내는 PHP SOAP 클라이언트를 만들어야하지만 이전에는 SOAP로 작업 해본 적이 없으며 XML이 그리 좋지는 않습니다. 지금까지 작성한 코드는 여기 있습니다. . .PHP SOAP 클라이언트 도움말!

<?php 

    try { 

     $client = new SoapClient(null, array(
     'location' => "https://wwa.website.co.za/CallmasterTes/LeadService.asmx", 
     'uri'  => "urn:Website:Callmaster:InTuch/CreateLead", 
     'login'  => "username", 
     'password' => "password" 
     )); 

      $sysName = ' '; 
      $clientCode = ' '; 
      $expTimestamp = ' '; 
      $schedTimestamp = ' '; 

     $client->CreateLead("ExternalLead", 
         new SoapParam($sysName, "BusinessSystemName"), 
         new SoapParam($clientCode, "BusinessSystemClientCode"), 
         new SoapParam($_POST['Title'], "Title"), 
         new SoapParam($_POST['FirstName'], "FirstName"), 
         new SoapParam($_POST['Surname'], "Surname"), 
         new SoapParam($_POST['IdNumber'], "IdNumber"), 
         new SoapParam($_POST['Gender'], "Gender"), 
         new SoapParam($_POST['DateOfBirth'], "DateOfBirth"), 
         new SoapParam($_POST['Language'], "Language"), 
         new SoapParam($_POST['EmailAddress'], "EmailAddress"), 
         new SoapParam($_POST['HomeTelNumber'], "HomeTelNumber"), 
         new SoapParam($_POST['BusinessTelNumber'], "BusinessTelNumber"), 
         new SoapParam($_POST['MobileTelNumber'], "MobileTelNumber"), 
         new SoapParam($_POST['OtherTelNumber'], "OtherTelNumber"), 
         new SoapParam($_POST['PreferredTelNumberCode'], "PreferredTelNumberCode"), 
         new SoapParam($_POST['CampaignName'], "CampaignName"), 
         new SoapParam($_POST['ProductName'], "ProductName"), 
         new SoapParam($_POST['Comments'], "Comments"), 
              new SoapParam($expTimestamp, "ExpiryTimestamp"), 
              new SoapParam($schedTimestamp, "ScheduledTimestamp"), 
         ); 

    } 

    catch (SoapFault $fault) { 
     trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); 
    } 

?> 

다음은 개발자가 서버 측에서 제공 한 샘플 SOAP 1.2 요청 및 응답의 예입니다.

POST /CallmasterTest/LeadService.asmx HTTP/1.1 
Host: wwa.website.co.za 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <CreateLead xmlns="urn:Website:Callmaster:InTuch"> 
     <Lead> 
     <BusinessSystemName>string</BusinessSystemName> 
     <BusinessSystemClientCode>int</BusinessSystemClientCode> 
     <Title>Mr or Ms or Mrs or Miss...etc</Title> 
     <FirstName>string</FirstName> 
     <Surname>string</Surname> 
     <IdNumber>string</IdNumber> 
     <Gender>Male or Female</Gender> 
     <DateOfBirth>date</DateOfBirth> 
     <Language>string</Language> 
     <EmailAddress>string</EmailAddress> 
     <HomeTelNumber>string</HomeTelNumber> 
     <BusinessTelNumber>string</BusinessTelNumber> 
     <MobileTelNumber>string</MobileTelNumber> 
     <OtherTelNumber>string</OtherTelNumber> 
     <PreferredTelNumberCode>Business or Home or Mobile or Other</PreferredTelNumberCode> 
     <CampaignName>string</CampaignName> 
     <ProductName>string</ProductName> 
     <Comments>string</Comments> 
     <ExpiryTimestamp>dateTime</ExpiryTimestamp> 
     <ScheduledTimestamp>dateTime</ScheduledTimestamp> 
     </Lead> 
    </CreateLead> 
    </soap12:Body> 
</soap12:Envelope> 

응답은 :

HTTP/1.1 200 OK 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <CreateLeadResponse xmlns="urn:Website:Callmaster:InTuch"> 
     <CreateLeadResult> 
     <Success>boolean</Success> 
     <StatusMessage>string</StatusMessage> 
     <LeadGuid>guid</LeadGuid> 
     <Errors> 
      <LeadError ErrorLevel="Information or Warning or Error"> 
      <Message>string</Message> 
      <Field>string</Field> 
      </LeadError> 
      <LeadError ErrorLevel="Information or Warning or Error"> 
      <Message>string</Message> 
      <Field>string</Field> 
      </LeadError> 
     </Errors> 
     </CreateLeadResult> 
    </CreateLeadResponse> 
    </soap12:Body> 
</soap12:Envelope> 

난 정말 내가 작은 뭔가 것을 아마 확신, 모든 노력을, 높은 하늘로 인터넷 검색,하지만 난 그냥 일을 얻을 수있다 I 실종됐다, 고맙습니다. 고맙습니다.

답변

1

복사/붙여 넣기 오류인지 여부는 확실치 않지만 첫 번째 코드 예에서는 _POST이 모두 $_POST이어야합니다.

+0

이제 겨우 C/P 오류 여야합니다. 그것을 지적하기위한 고맙습니다. – Odyss3us

+0

또한''location '=> "https://wwa.website.co.za/CallmasterTes/LeadService.asmx"는''location'=> "https://wwa.website.co이어야합니다. .za/CallmasterTest/LeadService.asmx " – emmychan

+0

코드를 살펴 보겠습니다. – Odyss3us