On 29 December 2010 15:33, Ivan Rodriguez <epplestun@gmail.com> wrote: > 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->__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 >>>> >>>> >>> >>> -- >>> 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 > > Yep. Bad wsdl file ... error on line 2 at column 204: xmlns:tns: '"https://www.sveadirekt.se/services/ApplicationForLoan"' is not a valid URI for https://www.sveadirekt.se/services/ApplicationForLoan?wsdl But, wsdl2php handles that just fine. http://pastebin.com/627hJjcp is the output of wsdl2php Interestingly, the createLoanApplication(createLoanApplication $parameters) method accepts 1 parameter of type createLoanApplication. So, $params = new createLoanApplication(); $params->applicationValues = array(...); $service = new ApplicationForLoan(); $service->createLoanApplication($params); MAY get you further along. You'll probably also need to the Soap Header code added in. If you do, I'd be amending the pastebin code to always populate that. -- 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