php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29109 Uncaught SoapFault exception: [WSDL] Out of memory
Submitted: 2004-07-12 17:09 UTC Modified: 2004-07-19 15:58 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: lafriks at hello dot lv Assigned:
Status: Closed Package: SOAP related
PHP Version: 5.0.0RC3 OS: Windows 2000
Private report: No CVE-ID: None
 [2004-07-12 17:09 UTC] lafriks at hello dot lv
Description:
------------
If I refresh page I get the same error only all the time number of bytes are diffrent.


Reproduce code:
---------------
cli.php:
<?php

$client = new SoapClient("http://localhost:81/test.asmx?wsdl");

$test = $client->HelloWorld();
print $test;
?>
http://localhost:81/test.asmx?wsdl:
<?xml version="1.0" encoding="windows-1257"?>
<definitions xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s0="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" name="test" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="HelloWorld">
        <xs:complexType />
      </xs:element>
      <xs:element name="HelloWorldResponse">
        <xs:complexType>
          <xs:sequence>

            <xs:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="string" type="xs:string" />
    </xs:schema>
  </types>
  <message name="HelloWorldSoapIn">
    <part name="parameters" element="s0:HelloWorld" />

  </message>
  <message name="HelloWorldSoapOut">
    <part name="parameters" element="s0:HelloWorldResponse" />
  </message>
  <message name="HelloWorldHttpGetIn" />
  <message name="HelloWorldHttpGetOut">
    <part name="Body" element="s0:string" />
  </message>
  <message name="HelloWorldHttpPostIn" />

  <message name="HelloWorldHttpPostOut">
    <part name="Body" element="s0:string" />
  </message>
  <portType name="testSoap">
    <operation name="HelloWorld">
      <input message="s0:HelloWorldSoapIn" />
      <output message="s0:HelloWorldSoapOut" />
    </operation>
  </portType>

  <portType name="testHttpGet">
    <operation name="HelloWorld">
      <input message="s0:HelloWorldHttpGetIn" />
      <output message="s0:HelloWorldHttpGetOut" />
    </operation>
  </portType>
  <portType name="testHttpPost">
    <operation name="HelloWorld">
      <input message="s0:HelloWorldHttpPostIn" />

      <output message="s0:HelloWorldHttpPostOut" />
    </operation>
  </portType>
  <binding name="testSoap" type="s0:testSoap">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="HelloWorld">
      <soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
      <input>
        <soap:body use="literal" />

      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <binding name="testHttpGet" type="s0:testHttpGet">
    <http:binding verb="GET" />
    <operation name="HelloWorld">

      <http:operation location="/HelloWorld" />
      <input>
        <http:urlEncoded />
      </input>
      <output>
        <mime:mimeXml part="Body" />
      </output>
    </operation>
  </binding>

  <binding name="testHttpPost" type="s0:testHttpPost">
    <http:binding verb="POST" />
    <operation name="HelloWorld">
      <http:operation location="/HelloWorld" />
      <input>
        <mime:content part="" type="application/x-www-form-urlencoded" />
      </input>
      <output>
        <mime:mimeXml part="Body" />

      </output>
    </operation>
  </binding>
  <service name="test">
    <port name="testSoap" binding="s0:testSoap">
      <soap:address location="http://localhost:81/test.asmx" />
    </port>
    <port name="testHttpGet" binding="s0:testHttpGet">
      <http:address location="http://localhost:81/test.asmx" />

    </port>
    <port name="testHttpPost" binding="s0:testHttpPost">
      <http:address location="http://localhost:81/test.asmx" />
    </port>
  </service>
</definitions>


Expected result:
----------------
Hello World

Actual result:
--------------
Fatal error: Uncaught SoapFault exception: [WSDL] Out of memory: cannot allocate -261794784 bytes! in C:\Program Files\Apache Group\Apache2\htdocs\soap\cli.php:3 Stack trace: #0 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\soap\cli.php on line 3

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-07-12 17:15 UTC] lafriks at hello dot lv
btw webservice server is using mono .net
test.cs:

using System;
using System.Data;
using System.Web;
using System.Web.Services;

namespace nix
{
	/// 
	/// Summary description for Service1.
	/// 
    public class test : System.Web.Services.WebService
	{
		public test()
		{
			//InitializeComponent();
		}

		[WebMethod]
		public string HelloWorld()
		{
			return "Hello World";
		}
	}
}
 [2004-07-19 15:58 UTC] dmitry@php.net
Fixed in CVS HEAD.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC