Re: PHP SOAP WSDL rookie needs help

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

 



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:

$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




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

  Powered by Linux