#44686 [Com]: SOAP-ERROR: Parsing WSDL

2009-01-12 Thread simon at connexon dot com
 ID:   44686
 Comment by:   simon at connexon dot com
 Reported By:  dmittner at llnw dot com
 Status:   No Feedback
 Bug Type: SOAP related
 Operating System: Gentoo
 PHP Version:  5.2.5
 New Comment:

Hi,

I'm having the same problem... And it's a bit tough for me to
troubleshoot because I'm using a file package provided by a website.

http://www.nena.org/xml_schemas/NENAFiles/CurrentNENA/CurrentNENA.zip

I'm trying to get the validateAddress to work (from the v7 interface)
but so far no luck! I'm stuck on this undefined ref variable.


Previous Comments:


[2008-12-01 18:12:56] sergio dot aghemo at fiat dot com

having the same problem. Urgent fix needed!

follow extract of the WSDL



  

  

  

.


  
  

  


  
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  

  

  
  

  
  




  
  



[2008-11-30 18:22:10] olivier at quatrain dot com

Having the same problem happening with a valid WSDL on php 5.2.5 and
5.2.6, I tested it on the latest snapshot of PHP (5.2.7RC6) and got the
same error.

Hope it helps.



[2008-10-29 01:00:02] 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".



[2008-10-21 11:27:41] j...@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/





[2008-04-14 22:42:28] dmittner at llnw dot com

I've narrowed it down, I think.
Relevant excerpts from the WSDL:

  
 
   

   
 




 
  
   

...
   
   
   ...
  
  
 

No "name" is specified in the upper block of XML, for the line with the
"ref=". If I specify a name the WSDL parses. I believe the correct
behavior would be for PHP to acquire the name from the complexType
declaration. I don't know if this should always be the case for
references, or only when no name is provided - if providing a name is
even valid for them.

This is just a guess, though. I've dealt very little with references so
do not know the standards surrounding them; only what digging into the
XML has revealed.



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/44686

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



#47119 [NEW]: SOAP-ERROR: Parsing WSDL

2009-01-15 Thread simon at connexon dot com
From: simon at connexon dot com
Operating system: Windows XP
PHP version:  5.2.8
PHP Bug Type: SOAP related
Bug description:  SOAP-ERROR: Parsing WSDL

Description:

A bug was already opened on this but has been set to "No feedback" and the
person who opened the bug doesn't seem to be wanting to reopen it.

This bug addresses a problem in the XML parser part of the soapclient and
soapserver constructors. I've been using this for a few years now and it's
always been working fine, but this time I was using a pre-made .wsdl with a
ton of .xsd files for a project and the soap was always returning me this
precise error "Fatal error: Uncaught SoapFault exception: [WSDL]
SOAP-ERROR: Parsing
Schema: unresolved element 'ref' attribute."

This needs to be fixed.

package can be downloaded at
http://www.nena.org/xml_schemas/NENAFiles/CurrentNENA/CurrentNENA.zip

The crash occurs somewhere in this part: (if i remove this from the .xsd
file then it works fine + the original file doesn't display any errors in a
normal XML application)



A provider of either service or 
information.  The
target provider  type only specifies that a provider be identified by host
address or NENA identifier.  This type should be used by requesting hosts
when identifying the target host for the request.  This type is used to
identify the VPC in the ESR request and the ESCT messages where the full
details for the VPC are not known. 



















Reproduce code:
---
soap client code:
$args = array (
'trace' => 1,
'exceptions' => 1,
'location' => 'http://localhost/proj/server.php'
);

$clientSOAP = new SoapClient('CurrentNENA/I2/v7/v7.wsdl', $args);

$params= array (
"validateAddress" => array(
"MessageID" => "Blob",
"CustomerID" => "1992",
"StreetAddress" => array(
"HouseNum" => "200",
"HouseNumSuffix" => "200",
"PrefixDirectional" => "200",
"StreetName" => "200",
"StreetSuffix" => "200",
"PostDirectional" => "200",
"MSAGCommunity" => "200",
"StateProvince" => "200",
"PostalCode" => "200",
"Country" => "200"
)
));

$myres = $clientSOAP->__soapCall("validateAddress", $params);

soap server code:
$serveurSOAP = new SoapServer('CurrentNENA/I2/v7/v7.wsdl');
$serveurSOAP->addFunction(array("validateAddress"));

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$serveurSOAP->handle();
}
else
{
echo 'Please use the POST method.';
}

function validateAddress($params)
{
return array("MessageID" => "Blob", "ReturnCode" => "200", "Valid" =>
"Valid");
}

Expected result:

should give a normal xml response

RESPONSE:  http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns1="urn:nena:xml:ns:es:v7">Blob200Valid

Actual result:
--
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing
Schema: unresolved element 'ref' attribute.

-- 
Edit bug report at http://bugs.php.net/?id=47119&edit=1
-- 
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=47119&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=47119&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=47119&r=trysnapshot60
Fixed in CVS:
http://bugs.php.net/fix.php?id=47119&r=fixedcvs
Fixed in CVS and need be documented: 
http://bugs.php.net/fix.php?id=47119&r=needdocs
Fixed in release:

#41943 [NEW]: Soap Call causes CPU to go 100%

2007-07-09 Thread simon at connexon dot com
From: simon at connexon dot com
Operating system: Windows Server 2003
PHP version:  5.2.3
PHP Bug Type: Performance problem
Bug description:  Soap Call causes CPU to go 100%

Description:

We've been using soap for a while now and noticed that when we send a soap
request and it waits for a response, PHP goes in a sort of loop and takes
CPU load. Our average waiting time is 4 seconds.

A soap call once in a while is ok, because it doesn't take too much CPU
overall. But we noticed that the more we grow, the more CPU it takes, to a
point where we reach often 100% CPU if we do a loop of soap calls. (All
that caused by the waiting time of the soap call!!!).

Reproduce code:
---
x

Expected result:

Would it be possible that PHP goes into an idle mode when it waits for a
soap response instead of taking all the CPU ressources?

Actual result:
--
CPU goes crazy when we do too many soap calls in a row (we can do maximum
of 4 soap calls at once, else it would overload the server).

-- 
Edit bug report at http://bugs.php.net/?id=41943&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=41943&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=41943&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=41943&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=41943&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=41943&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=41943&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=41943&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=41943&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=41943&r=support
Expected behavior:http://bugs.php.net/fix.php?id=41943&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=41943&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=41943&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=41943&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=41943&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=41943&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=41943&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=41943&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=41943&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=41943&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=41943&r=mysqlcfg


#41943 [Fbk->Opn]: Soap Call causes CPU to go 100%

2007-07-09 Thread simon at connexon dot com
 ID:   41943
 User updated by:  simon at connexon dot com
 Reported By:  simon at connexon dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Performance problem
 Operating System: Windows Server 2003
 PHP Version:  5.2.3
 New Comment:

 "aaa");   

$this->result = $this->handle->__soapCall("ValA", $ws_params);

if ($debug) 
$this->displayMessageInfo();

$this->handleFault($this->result);

?>

When the code gets to "$this->handle->__soapCall..." we recognize the
fact that when PHP is waiting for a soap response the CPU is blocked.
However this is not a good behavior as of we need the CPU to do other
things also.


Previous Comments:


[2007-07-09 19:45:35] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



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

[2007-07-09 19:39:46] simon at connexon dot com

Description:

We've been using soap for a while now and noticed that when we send a
soap request and it waits for a response, PHP goes in a sort of loop and
takes CPU load. Our average waiting time is 4 seconds.

A soap call once in a while is ok, because it doesn't take too much CPU
overall. But we noticed that the more we grow, the more CPU it takes, to
a point where we reach often 100% CPU if we do a loop of soap calls.
(All that caused by the waiting time of the soap call!!!).

Reproduce code:
---
x

Expected result:

Would it be possible that PHP goes into an idle mode when it waits for
a soap response instead of taking all the CPU ressources?

Actual result:
--
CPU goes crazy when we do too many soap calls in a row (we can do
maximum of 4 soap calls at once, else it would overload the server).





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


#41943 [Fbk->Opn]: Soap Call causes CPU to go 100%

2007-07-13 Thread simon at connexon dot com
 ID:   41943
 User updated by:  simon at connexon dot com
 Reported By:  simon at connexon dot com
-Status:   Feedback
+Status:   Open
 Bug Type: SOAP related
 Operating System: Windows Server 2003
 PHP Version:  5.2.3
 Assigned To:  dmitry
 New Comment:

How do we do traces?

however I was able to isolate the problem. It's SSL that is causing CPU
spikes. I ran a soap location with HTTP://, then the CPU would "idle"
while it's waiting for a response, however using HTTPS:// the CPU really
goes nuts!

Is this a problem in the core of PHP itself?


Previous Comments:


[2007-07-11 07:08:46] [EMAIL PROTECTED]

Could you plese post strace of process or/and call-trace of PHP during
it eats CPU.



[2007-07-09 20:13:37] simon at connexon dot com

 "aaa");   

$this->result = $this->handle->__soapCall("ValA", $ws_params);

if ($debug) 
$this->displayMessageInfo();

$this->handleFault($this->result);

?>

When the code gets to "$this->handle->__soapCall..." we recognize the
fact that when PHP is waiting for a soap response the CPU is blocked.
However this is not a good behavior as of we need the CPU to do other
things also.



[2007-07-09 19:45:35] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



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

[2007-07-09 19:39:46] simon at connexon dot com

Description:

We've been using soap for a while now and noticed that when we send a
soap request and it waits for a response, PHP goes in a sort of loop and
takes CPU load. Our average waiting time is 4 seconds.

A soap call once in a while is ok, because it doesn't take too much CPU
overall. But we noticed that the more we grow, the more CPU it takes, to
a point where we reach often 100% CPU if we do a loop of soap calls.
(All that caused by the waiting time of the soap call!!!).

Reproduce code:
---
x

Expected result:

Would it be possible that PHP goes into an idle mode when it waits for
a soap response instead of taking all the CPU ressources?

Actual result:
--
CPU goes crazy when we do too many soap calls in a row (we can do
maximum of 4 soap calls at once, else it would overload the server).





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


#41943 [Fbk->Opn]: Soap Call causes CPU to go 100%

2007-07-30 Thread simon at connexon dot com
 ID:   41943
 User updated by:  simon at connexon dot com
 Reported By:  simon at connexon dot com
-Status:   Feedback
+Status:   Open
 Bug Type: SOAP related
 Operating System: Windows Server 2003
 PHP Version:  5.2.3
 Assigned To:  dmitry
 New Comment:

Hi dmitry, were you using apache or IIS under windows?

We are using IIS. Perhaps it is the source of the problem...

I will be doing more testing on this later this week. Please let me
know.

Thank you.


Previous Comments:


[2007-07-25 06:25:38] [EMAIL PROTECTED]

I am not able to reproduce this.

I created a simple client that accesses server over HTTPS:
 "https://tpl/~dmitry/soap/examples/server4.php";,
"uri" => "test://"));
  echo $client->getQuote("ibm");
?>

and server that sleeps for 15 seconds:
 98.42
);  

function getQuote($symbol) {
  global $quotes;
  sleep(15);
  return $quotes[$symbol];
}

//ob_start("ob_gzhandler");
$server = new SoapServer("stockquote1.wsdl");
$server->addFunction("getQuote");
$server->handle();
?>

and I don't see any CPU load:
[EMAIL PROTECTED] CGI-DEBUG]$ time sapi/cli/php
/home/dmitry/public_html/soap/examples/client8.php
98.42
real0m15.105s
user0m0.006s
sys 0m0.033s

I also run the same client on Windows looking into "perfmon" and CPU
load was about 0% during waiting.

Please provide a COMPLETE reproducable case (client that access
external SOAP server, or local client and srver), if you like me to fix
the behavior.


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

[2007-07-13 12:35:25] simon at connexon dot com

How do we do traces?

however I was able to isolate the problem. It's SSL that is causing CPU
spikes. I ran a soap location with HTTP://, then the CPU would "idle"
while it's waiting for a response, however using HTTPS:// the CPU really
goes nuts!

Is this a problem in the core of PHP itself?



[2007-07-11 07:08:46] [EMAIL PROTECTED]

Could you plese post strace of process or/and call-trace of PHP during
it eats CPU.



[2007-07-09 20:13:37] simon at connexon dot com

 "aaa");   

$this->result = $this->handle->__soapCall("ValA", $ws_params);

if ($debug) 
$this->displayMessageInfo();

$this->handleFault($this->result);

?>

When the code gets to "$this->handle->__soapCall..." we recognize the
fact that when PHP is waiting for a soap response the CPU is blocked.
However this is not a good behavior as of we need the CPU to do other
things also.



[2007-07-09 19:45:35] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.





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/41943

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


#40884 [NEW]: Cannot specify port range in pasv mode

2007-03-21 Thread simon at connexon dot com
From: simon at connexon dot com
Operating system: Windows Server 2003
PHP version:  5.2.1
PHP Bug Type: FTP related
Bug description:  Cannot specify port range in pasv mode

Description:

Ok, I searched everywhere for this but could not find anything... And I
think it should be there. When using pasv_mode for a ftp connection, we
should allowed to specify the port range that the passive mode will be
using. In our case, the place where we need to upload some files accept
only pasv connections with ASCII data, and a range of ports between 49000
and 5.

So ftp_connect does connect to port 21, however there is no way to specify
that the pasv_mode will be using a range of ports. So the changes of it
using a port in the range is quite slim!

Any ideas?

Reproduce code:
---
$conn_id = ftp_connect(_FTP_SERVER_, 21, 15) or die("Could not connect to
FTP");

ftp_pasv($conn_id, true);

$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_ASCII) or
die("Could not upload the desired file.");

Expected result:

The file being uploaded

Actual result:
--
Well since it's not using a valid port, it fails.
But I guess it's normal since we can't specify a port range!

Can this be integrated in PHP?

-- 
Edit bug report at http://bugs.php.net/?id=40884&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=40884&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=40884&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=40884&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=40884&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=40884&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=40884&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=40884&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=40884&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=40884&r=support
Expected behavior:http://bugs.php.net/fix.php?id=40884&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=40884&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=40884&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=40884&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=40884&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=40884&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=40884&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=40884&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=40884&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=40884&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=40884&r=mysqlcfg


#41356 [NEW]: Cannot retrieve global from a class in a soap server

2007-05-10 Thread simon at connexon dot com
From: simon at connexon dot com
Operating system: Windows
PHP version:  5.2.2
PHP Bug Type: SOAP related
Bug description:  Cannot retrieve global from a class in a soap server

Description:

For our application we use a $db which represents the database connection
object.

In the class, instead of creating a new object every time, we do : global
$db, which retrieves the database connection from outside the class.

That works good! 

However, when we call that class from a soap server, for some reason it
does not get the $db variable (its blank)...

Reproduce code:
---
// Code
$db = new MySQL();


// class

class X extends A
{
public function __construct($params)
{
global $db;
$this->db = $db;
$this->init($params);
}

Expected result:

that the global $db; in the constructor contains the db connection

Actual result:
--
blank variable

-- 
Edit bug report at http://bugs.php.net/?id=41356&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=41356&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=41356&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=41356&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=41356&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=41356&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=41356&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=41356&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=41356&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=41356&r=support
Expected behavior:http://bugs.php.net/fix.php?id=41356&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=41356&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=41356&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=41356&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=41356&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=41356&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=41356&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=41356&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=41356&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=41356&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=41356&r=mysqlcfg


#41356 [Opn->Csd]: Cannot retrieve global from a class in a soap server

2007-05-10 Thread simon at connexon dot com
 ID:   41356
 User updated by:  simon at connexon dot com
 Reported By:  simon at connexon dot com
-Status:   Open
+Status:   Closed
 Bug Type: SOAP related
 Operating System: Windows
 PHP Version:  5.2.2
 New Comment:

using $GLOBALS instead of global seems to fix the problem


Previous Comments:


[2007-05-10 17:18:22] simon at connexon dot com

Description:

For our application we use a $db which represents the database
connection object.

In the class, instead of creating a new object every time, we do :
global $db, which retrieves the database connection from outside the
class.

That works good! 

However, when we call that class from a soap server, for some reason it
does not get the $db variable (its blank)...

Reproduce code:
---
// Code
$db = new MySQL();


// class

class X extends A
{
public function __construct($params)
{
global $db;
$this->db = $db;
$this->init($params);
}

Expected result:

that the global $db; in the constructor contains the db connection

Actual result:
--
blank variable





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