Re: [SOAP] PHP SOAP WSDL rookie needs help
[email protected] (Mariaxx) Wed, 29 Dec 2010 06:56:00 -0800 (PST)
| Newsgroups | php.soap |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]>
> wrote:
>> On 29 December 2010 11:43, Mariaxx <[email protected]> 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 <[email protected]> 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.