nusoap No memory

php 用nusoap调用 Java 的webservice

php.ini 的内存1024M   java 1.5G

error: XML error parsing SOAP payload on line 1 :  No memory

请问这个错误怎么修改?

寻找原因

nusoap_client 类 --> function call --> function send -> class soap_transport_http

////////////

$http->send($msg,$timeout,$response_timeout,$this->cookies);    data

  $this->request = $http->outgoing_payload;

 $this->response = $http->incoming_payload;

///////////

-->nusoap_client 类中 parseResponse($data)  --> class nusoap_parser($data) ->

nusoap_parser(($xml)->  xml_parse($this->parser,$xml,true)

发现xml_parse 结果为false,发现问题。将$xml put 到文件里,文件名:xml.txt 大小10.7M


$xmlUrl = "./xml.txt";$xmlparser = xml_parser_create();

$data = file_get_contents($xmlUrl);

if(xml_parse($xmlparser, $data)){ 

   echo "1";

}else{    

  die( print "ERROR: "    . xml_get_error_code($xmlparser)    . "

"    . xml_error_string(xml_get_error_code($xmlparser))    . "

"    . "Line: "    . xml_get_current_line_number(  $xmlparser)    . "

"    . "Column: "    . xml_get_current_column_number($xmlparser)    . "

");

}




解决方案猜想:

1.设置xml parser 的内存 

2.修改nusoap文件:将nusoap关于解析XML的函数全部替换成其他解析方式

3.修改nusoap文件:将数据存入文件中,遍历读取数据!

4. nusoap  换成 php的soap扩展

5.Java服务器传输数据格式为json

6.减小数据量  (是最简单的,也是最没用的)


先看看xml parser 是否有关于内存的配置


然后并没有找到设置Xml parser 的内存的函数,无奈放弃!

但是2-3 实现起来太费时,决定用第四种方案!直接用php 的soap扩展取的数据。

哪位大神知道怎么设置xml parser的内存,记得留言啊。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,114评论 0 5
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 6,834评论 3 64
  • “小风,你看,这件夜行衣穿在我的身上,是不是很搭,很配,很有品味,”谭玄影对着镜子凝视了半晌,越看越觉得满意,越觉...
    影月666阅读 379评论 0 1