Re: [SOAP] PHP SOAP WSDL rookie needs help
| From: | Jonathan Pitcher | Date: | Wed, 29 Dec 2010 16:29:48 +0000 |
| Subject: | Re: [SOAP] PHP SOAP WSDL rookie needs help | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-3196@lists.php.net to get a copy of this message | ||
Contacting the owner of the service is always a good idea, but while you wait for them to respond, if you can post us the XML structure they are expecting for that call and then use the soap client functions to get what structure you are sending to them, We can probably help you resolve the issue also, Keeps to paths to resolving the issue going.
Just a thought,
Jonathan
On Dec 29, 2010, at 9:54 AM, Mariaxx wrote:
unfortunately I don't have the access to the server. Only plain document listing the elements, types, values to be used. So you suggest, that I'll try to contact the the owner of the service? Ivan Rodriguez wrote:The service is programmed for you? Do you have access to the service code? I recommend using JAX-WS to generate the Java service, most likely the fault is in the service and not the client part written in PHP, the NullPointerException is a Java error, so we need to view the Java code ... On Wed, Dec 29, 2010 at 4:33 PM, Ivan Rodriguez <epplestun@gmail.com> wrote:__call('createAppli...',I'm looking de WSDL file and there are problems ... look this: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace=""https://www.sveadirekt.se/services/ApplicationForLoan""> " can not be used, you need a valid WSDL file to work with SOAP On Wed, Dec 29, 2010 at 4:10 PM, Mariaxx <sannamari28@gmail.com> wrote:Could I send it to you? I don't feel comfortble pasting it here. Maria Ivan Rodriguez wrote: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-__setSoapHeaders(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---View this message in context: http://old.nabble.com/PHP-SOAP-WSDL-rookie-needs-help-tp30516854p30552036.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-- 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-tp30516854p30551767.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-- 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-- PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php$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,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'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:-- 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.phpI'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