Re: [SOAP] PHP SOAP WSDL rookie needs help

From: Date: Wed, 29 Dec 2010 14:58:56 +0000
Subject: Re: [SOAP] PHP SOAP WSDL rookie needs help
References: 1 2 3 4 5 6  Groups: php.soap 
Request: Send a blank email to php-soap+get-3184@lists.php.net to get a copy of this message
Do you have the service code? On Wed, Dec 29, 2010 at 3:56 PM, Mariaxx <sannamari28@gmail.com> wrote: > > I tried, but still > > Fatal error: Uncaught SoapFault exception: [soap:Client] Fault: > java.lang.NullPointerException in /home/admin/public_html/uusi.php:99 Stack > trace: #0 [internal function]: SoapClient->__call('createAppli...', Array) > #1 /home/admin/public_html/uusi.php(99): > SoapClient->createApplication(Array) #2 {main} thrown in > /home/admin/public_html/uusi.php on line 99 > > line 99 being the line for the call, E.g. > > $client->serviceCall((array) $myObject); > > Though I changed the $myObject to be $form in your example. > > > Ivan Rodriguez wrote: >> >> Looking your code, there is a error in the array declaration, in the >> key Firstname, you have two ' >> >> One trick to pass objects to the service is doing the following: >> $client->serviceCall((array) $myObject); >> >> $form = array( >>       'myObject' => array( >>               'Loan' => array( >>                       'Product' => 1, >>                       'LoanAmount' => 10000, >>                       'PaymentTime' => 10, >>                       'Insurance' => 0, >>                       'Salary' => 40000, >>                       'Bank' => 'some' >>               ), >>               'PersonalInfo' => array( >>                       'FirstName' => 'Test', >>                       'LastName' => 'Example', >>                       'AddressCoName' => '', >>                       'StreetAddress' => 'Something 1', >>                       'ZipCode' => 12345, >>                       'City' => 'Some' >>               ), >>               'Living' => array( >>                       'ApartmentFee' => 0, >>                       'Rent' => 0, >>                       'StudyLoan' =>0, >>                       'Guarantee' => '' >>               ) >>       ) >> ); >> >> foreach($form as $className => $items) { >>       $cn = ucfirst($className); >> >>       if(class_exists($cn)) { >>               $$className = new $cn; >>               foreach($items as $item => $value) { >>                       if($value) >>                               $$className->$item = $value; >>               } >>       } else { >>               $$className = $items; >>       } >> } >> >> And them invoke service doing: >> >> $client->serviceCall((array) $myObject); >> >> Try with this trick, and good luck :) >> >> >> On Wed, Dec 29, 2010 at 2:34 PM, Richard Quadling <rquadling@gmail.com> >> wrote: >>> On 29 December 2010 11:43, Mariaxx <sannamari28@gmail.com> wrote: >>>> >>>> Ok, I'm still stuck with this one. >>>> >>>> headers seem to work, because  $ok = $client->__setSoapHeaders( >>>> $soapHeaders >>>> ); returns true, correct? >>>> >>>> However I'm getting "Fault: java.lang.NullPointerException" when I >>>> try >>>> to >>>> >>>> $result =  $client->createApplication(array(here starts extremely long >>>> array, see below...)); >>>> >>>> According to several threads on this forum, the above error suggests >>>> that >>>> the error is in the server and nullPointerException should never be >>>> returned. Does it mean, that my data in in the wrong format and the >>>> server >>>> can't handle it/error, when I try to connect? >>>> >>>> Maria >>>> >>>> Here's the call: >>>> $result =  $client->createApplication(array('Loan' => >>>> array('Product' => >>>> 1, >>>>                                                       >>>>  'LoanAmount' => >>>> 10000, >>>>                                                       >>>>  'PaymentTime' => >>>> 10, >>>>                                                       >>>>  'Insurance' => 0, >>>>                                                       >>>>  'Salary' => >>>> 40000, >>>>                                                       >>>>  'Bank' => >>>> 'some'), >>>>                                'PersonalInfo' => >>>> array(''FirstName' => >>>> 'Test', >>>>                                                       >>>>  'LastName' => >>>> 'Example', >>>>                                                       >>>>  'AddressCoName' >>>> => '', >>>>                                                       >>>>  'StreetAddress' >>>> => 'Something 1', >>>>                                                       >>>>  'ZipCode' => >>>> 12345, >>>>                                                       >>>>  'City' => >>>> 'Some'), >>>>                                'Living' => >>>> array('ApartmentFee' => 0, >>>>                                                       >>>>  'Rent' => 0, >>>>                                                       >>>>  'StudyLoan' =>0, >>>>                                                       >>>>  'Guarantee' => >>>> ''))); >>>> >>>> >>>> RQuadling wrote: >>>>> >>>>> On 22 December 2010 19:46, Mariaxx <sannamari28@gmail.com> wrote: >>>>>> >>>>>> I'm new to SOAP. I need to pass information via form to wsdl service.. >>>>>> >>>>>> I'm unable to understand few things: >>>>>> >>>>>> 1) Do I need to write <soapenv: Envelope... kind of tags, or do I just >>>>>> get >>>>>> them by using PHP functions such as $a = new SoapClient() ? >>>>>> >>>>>> 2) Do I still need to pass normal HTTP header with XML definition plus >>>>>> SOAP >>>>>> header + SOAP body with PHP >>>>>> >>>>>> I get response from the server saying that my Header is missing. >>>>>> Also what does this mean: "Uncaught SoapFault exception: [soap:Client] >>>>>> Fault: java.lang.NullPointerException " >>>>>> >>>>>> I'd really appreciate your help. I shouldn't have taken this job >>>>>> : | >>>>> >>>>> Take a look at >>>>> >>>>> http://old.nabble.com/forum/ViewPost.jtp?post=30277723&framed=y >>>>> and subsequent messages. They talk about getting taking a wsdl file >>>>> and creating a set of PHP classes from it, which allow you to talk to >>>>> the service without the need of creating any XML. >>>>> >>>>> The error message you are getting is the same as >>>>> >>>>> http://old.nabble.com/forum/ViewPost.jtp?post=30470719&framed=y >>>>> >>>>> A possibility to the cause was mentioned in >>>>> >>>>> http://old.nabble.com/forum/ViewPost.jtp?post=30480330&framed=y >>>>> and a >>>>> possible solution in >>>>> >>>>> http://old.nabble.com/forum/ViewPost.jtp?post=30480433&framed=y >>>>> >>>>> Richard. >>>>> >>>>> -- >>>>> 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 >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> >>>> http://old.nabble.com/PHP-SOAP-WSDL-rookie-needs-help-tp30516854p30550653.html >>>> Sent from the Php - Soap mailing list archive at Nabble.com. >>>> >>>> >>>> -- >>>> PHP Soap Mailing List (http://www.php.net/) >>>> To unsubscribe, visit: http://www.php.net/unsub.php >>>> >>>> >>> >>> I don't think the array() is correct. It has to be of a type passable >>> to the service. >>> >>> Where is the WSDL file? >>> >>> I'll show you how to build the classes. >>> >>> -- >>> 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 >> >> >> > > -- > View this message in context: > http://old.nabble.com/PHP-SOAP-WSDL-rookie-needs-help-tp30516854p30551650.html > Sent from the Php - Soap mailing list archive at Nabble.com. > > > -- > PHP Soap Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.soap (#3184) next »