ID:               41151
 User updated by:  m dot necib at akrobat dot fr
 Reported By:      m dot necib at akrobat dot fr
-Status:           Bogus
+Status:           Closed
 Bug Type:         SOAP related
 Operating System: Windows XP
 PHP Version:      5.2.1
 Assigned To:      dmitry
 New Comment:

Hi !

Thanks for your help.
We found the problem, the service provider had changed 
the namespace URI without notifying us.
it is working with the correct URI.


Previous Comments:
------------------------------------------------------------------------

[2007-05-10 14:15:14] [EMAIL PROTECTED]

Not reprodusable.

Reproduce code:
---------------
<?php
class Loan {
        public $startingDate = "01-Jan-2007";
        public $amount;
        public $duration;
}
class LoanPersoItem {
        public $year;
        public $amount;
}
class LoanPerso extends Loan {
        public $loans;
}

$client = new
SoapClient("http://213.41.94.84/wsPricing/services/PricingSNC?wsdl";,
        array(
                "location" => "test://",
                "trace" => 1,
                "exceptions" => 0,
        )
) ;

$v = new LoanPerso();
$v->loans = new LoanPersoItem();
$var = new SoapVar($v , SOAP_ENC_OBJECT, 'WSLoanPerso',
'http://pricing.aigvienet/gb/snc/' ) ;

$client->processPricingSNC(
        array(
                "insured" => array(
                        "name" => "Aaa",
                        "firstname" => "Bbb",
                        "birthdate" => "01-Jan-2006"
                ),
                "premiumMode" => 0,
                "loan" => $var,
                "option" => array(),
                "productCode" => "XXX"
        )
) ;
echo $client->__getLastRequest();
?>

Output:
-------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns1="http://pricing.aigvienet/gb/snc/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><SOAP-ENV:Body><ns1:processPricingSNC><parametres><ns1:insured><ns1:name>Aaa</ns1:name><ns1:firstname>Bbb</ns1:firstname><ns1:birthdate>01-Jan-2006</ns1:birthdate><ns1:profession
xsi:nil="true"/></ns1:insured><ns1:premiumMode>0</ns1:premiumMode><ns1:loan
xsi:type="ns1:WSLoanPerso"><ns1:startingDate>01-Jan-2007</ns1:startingDate><ns1:amount
xsi:nil="true"/><ns1:duration xsi:nil="true"/><ns1:loans><ns1:year
xsi:nil="true"/><ns1:amount
xsi:nil="true"/></ns1:loans></ns1:loan><ns1:option/><ns1:promotional
xsi:nil="true"/><ns1:quotity xsi:nil="true"/><ns1:couple
xsi:nil="true"/><ns1:smoker xsi:nil="true"/><ns1:ds
xsi:nil="true"/><ns1:productCode>XXX</ns1:productCode></parametres></ns1:processPricingSNC></SOAP-ENV:Body></SOAP-ENV:Envelope>


------------------------------------------------------------------------

[2007-05-10 10:24:07] m dot necib at akrobat dot fr

Hello Dmitry,

Our situation is a bit different than what you have tested.
Here is the link to the WSDL :

http://213.41.94.84/wsPricing/services/PricingSNC?wsdl

Look at the complexType named "WSParameters".
It contains an element "loan" which type is "WSLoan".
But two types extend WSLoan : "WSLoanClassic" and "WSLoanPerso".

The Web Service expects us to send either of the inherited type.
WSLoan is an abstract type.

So in our case the correct type is not directly defined like in your
test case.

We are using SoapVar to specify the correct type of our object.
Then the generated SOAP request references the correct type.
But the fields are in the wrong order.

As you can see the WSDL file is generated by Apache Axis.

------------------------------------------------------------------------

[2007-05-10 01:00:00] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------

[2007-05-02 08:40:33] [EMAIL PROTECTED]

I just committed test file ext/soap/tests/schema/schema085.phpt, that
demonstrates proper element ordering. In your example you probably do
somthing wrong. I cannot say that exactly is wrong as you didn't provide
full reproduce case, probably you object isn't encoded using WSDL.
In case if you like me to look into problem please provide full example
(without ...) including full WSDL file.

------------------------------------------------------------------------

[2007-04-20 16:55:19] m dot necib at akrobat dot fr

WSDL :

<complexType name="A">
    <sequence>
      <element name="a" type="xsd:int"/>
    </sequence>
</complexType>

<complexType name="B">
  <complexContent>
     <extension base="impl:A">
        <sequence>
          <element name="b" type="xsd:int"/>
        </sequence>
     </extension>
  </complexContent>
</complexType>

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/41151

-- 
Edit this bug report at http://bugs.php.net/?id=41151&edit=1

Reply via email to