Re: Need help generating a response that matches wsdl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6 October 2010 09:14, nick.weavers <nickweavers@yahoo.co.uk> wrote:
>
> It appears that the response array should not contain the top output wsdl
> message element, but start with the first child element.... changing my
> server to the following solved my problem:
>
> [quote]
> function ConsumeLead($data)
>
> Â Â Â Â$response =
> Â Â Â Â Â Â Â Âarray('ConsumeLeadResult' =>
> Â Â Â Â Â Â Â Â Â Â Â Âarray(
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â'LeadReceived' => 'true'
> Â Â Â Â Â Â Â Â Â Â Â Â)
> Â Â Â Â Â Â Â Â);
>
> Â return $response;
> }
> [/quote]
> The response is now working:
> [quote]
> Response: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:ns1="http://www.paaleads.com/LeadConsumerService/";><SOAP-ENV:Body><ns1:ConsumeLeadResponse><ns1:ConsumeLeadResult><ns1:LeadReceived>true</ns1:LeadReceived></ns1:ConsumeLeadResult></ns1:ConsumeLeadResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
> [/quote]
> That only took me 4 hours to solve using the Monte Carlo problem solving
> technique %-|


I must admit, I've never had to build a server to match a wsdl file,
only a client (and then I use wsdl2php from sourceforge with the
mods/patches by RazorsEdgeUK).

But building a server. Well, the classes built by wsdl2php (ignoring
the client class) would act as the basis for this.

class ConsumeLead {
  public $request; // ConsumeLeadRequest
}

class ConsumeLeadRequest {
  public $LeadType; // LeadType
  public $LeadXml; // string
  public $AuthenticationUsername; // string
  public $AuthenticationPassword; // string
}

class LeadType {
  const Unknown = 'Unknown';
  const Mortgage = 'Mortgage';
  const TermAssurance = 'TermAssurance';
  const Travel = 'Travel';
  const PMI = 'PMI';
  const SecuredLoan = 'SecuredLoan';
  const CreditHelp = 'CreditHelp';
  const Stakeholder = 'Stakeholder';
  const TermPostal = 'TermPostal';
  const Pension = 'Pension';
  const Savings = 'Savings';
  const Investments = 'Investments';
  const UnsecuredLoan = 'UnsecuredLoan';
  const OverseasMortgage = 'OverseasMortgage';
  const Debt = 'Debt';
  const ASU = 'ASU';
  const LegalServices = 'LegalServices';
}

class ConsumeLeadResponse {
  public $ConsumeLeadResult; // ConsumeLeadResponse
}

>From there it is a case of building the appropriate framework.

My server classes deal with supplying the wsdl file and the end-user
docuementation (http://site.com/service, http://site.com/service?wsdl,
http://site.com/service?help or doc or documentation or man or manual,
etc.).

But I never build XML files by hand for anything more than the most
simplest of files.

-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux