php加载php_soap.dll提示应用程序错误"0xx17a3183"指令引用的"0x02080236"内存.该内存不能为"written".

解决方案 »

  1.   

    再下一个soap 试试呗,看看错误出在哪!
      

  2.   

    我重新下了个最新版的:php_soap.dll,还是提示出错
      

  3.   

    if(extension_loaded("curl")){
      echo "it is ok";
     }else{
      echo "it is wrong";
     }
    如果不行的话,重装php apache吧!
      

  4.   

    看看 phpinfo里有没有,或者是用上面的试试,把curl 换成soap
      

  5.   

    这个扩展库需要 libxml-2.5.4 支持,检查你的系统中xml的版本
      

  6.   


    libxml
    libXML support  active  
    libXML Version  2.7.3  
    libXML streams  enabled  
    我的是2.7.3的行不?
      

  7.   

    操作系统:windows
    php版本: 5.2.13
      

  8.   

    问题应该是php_soap.dll的版本上 试试低版本的 别忘了重启Apache
      

  9.   

    谢谢各位,php_soap.dll可以加载了,
    试了二种解决方法:
    1、重装APAHCE和PHP,重新配置
    2、php.ini的配置。放到了C盘WINDOWS文件夹下一份
      

  10.   

    问题又来了,值传不过去,javapackage com.zzxy.mvc.service;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;import com.zzxy.mvc.common.SpringBeanUtils;
    import com.zzxy.mvc.dao.common.DaoCollection;
    import com.zzxy.mvc.entity.YjfwBdz;
    import com.zzxy.mvc.entity.YjfwByq;
    import com.zzxy.mvc.entity.YjfwCxxx;
    import com.zzxy.mvc.entity.YjfwGdb;
    import com.zzxy.mvc.entity.YjfwMx;
    import com.zzxy.mvc.entity.YjfwPds;
    import com.zzxy.mvc.entity.YjfwYdxx;
    import com.zzxy.mvc.service.common.AbstractService;//Generated by MyEclipse
    public class MainUserInfoServiceImpl extends AbstractService implements IMainUserInfoService {
      @Override
    public String getMainUserInfo(Map ydhh) throws DocumentException  {
      System.out.println("================================="+ydhh.get(ydhh)+"---");
    YjfwYdxx yjfwYdxx=new YjfwYdxx();
    this.DC = (DaoCollection) SpringBeanUtils.getBean("DC");
    //解析参数取用电户号,参数为XML格式的字符串
    //String inxml = "<?xml version='1.0' encoding='UTF-8'?><gt:getMainUserInfoInput xmlns:gml='http://www.opengis.net/gml' xmlns:gt='http://www.sgcc.com.cn/sggis/service/schema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.sgcc.com.cn/sggis/service/schemagistypes.xsd'><gt:ydhh>3015040641</gt:ydhh></gt:getMainUserInfoInput>";
    Document documentin=DocumentHelper.parseText(ydhh.get("ydhh").toString());   
    Element rootin=documentin.getRootElement();
    String text=rootin.elementText("ydhh");
    System.out.println("text======"+text);
    List<YjfwYdxx> listYdxx=DC.getYjfwYdxxDAO().findByYdhh(text);
    String outXML="<?xml version='1.0' encoding='UTF-8'?><gt:getMainUserInfoOutput xmlns:gml='http://www.opengis.net/gml' xmlns:gt='http://www.sgcc.com.cn/sggis/service/schema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.sgcc.com.cn/sggis/service/schemagistypes.xsd'></gt:getMainUserInfoOutput>";
    Document documentout=DocumentHelper.parseText(outXML);

    if(listYdxx != null && listYdxx.size()>0){
    //将返回的大用户数据转换成XML
    yjfwYdxx=(YjfwYdxx)listYdxx.get(0);
    Element rootout=documentout.getRootElement();
    Element bdzElm=rootout.addElement("gt:bdzid");
    Element mxElm=rootout.addElement("gt:mxid");
    Element gdbElm=rootout.addElement("gt:gdbid");
    Element xlElm=rootout.addElement("gt:xlid");
    Element fdkgElm=rootout.addElement("gt:fdkg");
    Element sjmxElm=rootout.addElement("gt:sjmxmc");
    if(yjfwYdxx.getBdzid() != null){
    YjfwBdz yjfwBdz = DC.getYjfwBdzDAO().findById(yjfwYdxx.getBdzid());
    if (yjfwBdz != null) {
    bdzElm.addText(yjfwBdz.getMc());//变电站
    }
    }
    if(yjfwYdxx.getMxid() != null){
    YjfwMx yjfwMx = DC.getYjfwMxDAO().findById(yjfwYdxx.getMxid());
    String sjmxmc=this.getSjmxmc(yjfwYdxx.getMxid());
    if(yjfwMx != null){
    mxElm.addText(yjfwMx.getMc());//母线
    }
    sjmxElm.addText(sjmxmc);//上级母线名称
    }
    if(yjfwYdxx.getGdbid() != null){
    YjfwGdb yjfwGdb =DC.getYjfwGdbDAO().findById(yjfwYdxx.getGdbid());
    if(yjfwGdb != null){
    gdbElm.addText(yjfwGdb.getMc());//供电板
    }
    }
    if(yjfwYdxx.getXlid() != null){
    YjfwCxxx yjfwCxxx=DC.getYjfwCxxxDAO().findById(yjfwYdxx.getXlid());
    if(yjfwCxxx != null){
    xlElm.addText(yjfwCxxx.getMc());//线路
    }
    }
    if(yjfwYdxx.getFdkg() != null){
    YjfwPds yjfwPds =DC.getYjfwPdsDAO().findById(yjfwYdxx.getFdkg());
    if(yjfwPds != null){
    fdkgElm.addText(yjfwPds.getMc());//配电室
    }
    }
    rootout.addElement("gt:ydhh").addText(yjfwYdxx.getYdhh());
    rootout.addElement("gt:ydhm").addText(yjfwYdxx.getYdhm());
    rootout.addElement("gt:ssfj").addText(yjfwYdxx.getSsfj());
    Element fjfzrElm=rootout.addElement("gt:fjfzr");
    if(yjfwYdxx.getFjfzr() != null){
    fjfzrElm.addText(yjfwYdxx.getFjfzr());
    }
    Element fzrlxfsElm=rootout.addElement("gt:fzrlxfs");
    if(yjfwYdxx.getGdfs() != null){
    fzrlxfsElm.addText(yjfwYdxx.getFzrlxfs());
    }
    Element gdfsElm=rootout.addElement("gt:gdfs");
    if(yjfwYdxx.getGdfs() != null){
    gdfsElm.addText(yjfwYdxx.getGdfs());
    }
    Element byqxzElm=rootout.addElement("gt:byqxz");
    if(yjfwYdxx.getByqxz() != null){
    byqxzElm.addText(yjfwYdxx.getByqxz());
    }
    Element byqrlElm=rootout.addElement("gt:byqrl");
    if(yjfwYdxx.getByqrl() != null){
    byqrlElm.addText(yjfwYdxx.getByqrl());
    }
    Element dydjElm=rootout.addElement("gt:dydj");
    if(yjfwYdxx.getDydj() != null){
    dydjElm.addText(yjfwYdxx.getDydj());
    }
    Element hfylElm=rootout.addElement("gt:hyfl");
    if(yjfwYdxx.getHyfl() != null){
    hfylElm.addText(yjfwYdxx.getHyfl());
    }
    Element gnhElm=rootout.addElement("gt:gnh");
    if(yjfwYdxx.getGnh() != null){
    gnhElm.addText(yjfwYdxx.getGnh());
    }
    Element lxscElm=rootout.addElement("gt:lxsc");
    if(yjfwYdxx.getLxsc() != null){
    lxscElm.addText(yjfwYdxx.getLxsc());
    }
    Element zxEml=rootout.addElement("gt:zx");
    if(yjfwYdxx.getZx() != null){
    zxEml.addText(yjfwYdxx.getZx());
    }
    Element yfElm=rootout.addElement("gt:yf");
    if(yjfwYdxx.getYf() != null){
    yfElm.addText(yjfwYdxx.getYf());
    }
    Element mgyhflElm=rootout.addElement("gt:mgyhfl");
    if(yjfwYdxx.getMgyhfl() != null){
    mgyhflElm.addText(yjfwYdxx.getMgyhfl());
    }
    Element gwyhElm=rootout.addElement("gt:gwyh");
    if(yjfwYdxx.getGwyh() != null){
    gwyhElm.addText(yjfwYdxx.getGwyh());
    }
    Element gwjbElm=rootout.addElement("gt:gwjb");
    if(yjfwYdxx.getGwjb() != null){
    gwjbElm.addText(yjfwYdxx.getGwjb());
    }
    Element zcfhElm=rootout.addElement("gt:zcfh");
    Element bafhElm=rootout.addElement("gt:bafh");
    if(yjfwYdxx.getZcfh() != null && !"".equals(yjfwYdxx.getZcfh()) ){
    zcfhElm.addText(yjfwYdxx.getZcfh().toString());
    }
    if(yjfwYdxx.getBafh() != null && !"".equals(yjfwYdxx.getBafh()) ){
    bafhElm.addText(yjfwYdxx.getBafh().toString());
    }
    Element lxrElm=rootout.addElement("gt:lxr");
    if(yjfwYdxx.getLxr() != null){
    lxrElm.addText(yjfwYdxx.getLxr());
    }
    Element lxdhElm=rootout.addElement("gt:lxdh");
    if(yjfwYdxx.getLxdh() != null){
    lxdhElm.addText(yjfwYdxx.getLxdh());
    }
    Element lxsjElm=rootout.addElement("gt:lxsj");
    if(yjfwYdxx.getLxsj() != null){
    lxsjElm.addText(yjfwYdxx.getLxsj());
    }
    Element ybElm=rootout.addElement("gt:yb");
    if(yjfwYdxx.getYb() != null){
    ybElm.addText(yjfwYdxx.getYb());
    }
    Element txdzElm=rootout.addElement("gt:txdz");
    if(yjfwYdxx.getTxdz() != null){
    txdzElm.addText(yjfwYdxx.getTxdz());
    }
    Element yyzElm=rootout.addElement("gt:yyz");
    if(yjfwYdxx.getYyz() != null){
    yyzElm.addText(yjfwYdxx.getYyz());
    }
    Element sdyElm=rootout.addElement("gt:sdy");
    if(yjfwYdxx.getSdy() != null){
    sdyElm.addText(yjfwYdxx.getSdy());
    }
    Element xlxzElm=rootout.addElement("gt:xlxz");
    if(yjfwYdxx.getXlxz() != null){
    xlxzElm.addText(yjfwYdxx.getXlxz());
    }
    Element cxwzElm=rootout.addElement("gt:cxwz");
    if(yjfwYdxx.getCxwz() != null){
    cxwzElm.addText(yjfwYdxx.getCxwz());
    }
    Element beizElm=rootout.addElement("gt:beiz");
    if(yjfwYdxx.getBeiz() != null){
    beizElm.addText(yjfwYdxx.getBeiz());
    }
    }
    //XML转成XML格式的字符串
    outXML=documentout.asXML();
    // System.out.println(outXML);
    return outXML;
    }
    //取上级母线名称的方法
        private String getSjmxmc(Long mxid){
         String sjmxmc="";
    YjfwByq yjfwByq=DC.getYjfwByqDAO().findSJByq(mxid);
    if (yjfwByq != null) {
    YjfwMx yjfwMx = DC.getYjfwMxDAO().findById(yjfwByq.getSjmxid());
    sjmxmc=yjfwMx.getMc();
    }
         return sjmxmc;
        }
    }
    PHP$str= array("ydhh"=>"343243243","ydhh2"=>"343243243","ydhh3"=>"343243243");  
     
      $client = new SoapClient("http://192.168.5.5:8888/MGYH/services/MainUserInfoService?wsdl");   
     try {   
        $result = $client->getMainUserInfo($str); // will cause a Soap Fault if divide by zero   
        print "The answer is: $result";   
      } catch(SoapFault $e) {   
        print "Sorry an error was caught executing your request: $e->getMessage()";   
      }  
      

  11.   

    页面错误:Sorry an error was caught executing your request: () 
    在线等
      

  12.   

    java取值:ydhh.get(ydhh)
    是null
      

  13.   

    $client = new SoapClient("http://192.168.5.5:8888/MGYH/services/MainUserInfoService?wsdl",,array( 'trace' => 1 ));   
     try {   
      $result = $client->getMainUserInfo($str); // will cause a Soap Fault if divide by zero   
      print "The answer is: $result";   
      } catch(SoapFault $e) {   
      print "Sorry an error was caught executing your request: $e->getMessage()";   
      } echo "<br/>";
     echo "Request :<br/>".htmlspecialchars($client->__getLastRequest())."<br/>"; 
     echo "<br/>";
     echo "Response :<br/>".htmlspecialchars($client->__getLastResponse())."<br/>"; 
    这样子测一下!!看看!
      

  14.   


    页面输出
    Sorry an error was caught executing your request: ()
    Request :
    <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://service.mvc.zzxy.com"><SOAP-ENV:Body><ns1:getMainUserInfo><ns1:in0 xsi:nil="true"/></ns1:getMainUserInfo></SOAP-ENV:Body></SOAP-ENV:Envelope> Response :
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Fault: java.lang.NullPointerException</faultstring></soap:Fault></soap:Body></soap:Envelope>
      

  15.   

    你的REQUEST 没有参数吧,
     $result = $client->getMainUserInfo('123','321','567'); // will cause a Soap Fault if divide by zero   
      

  16.   

    页面输出
    Sorry an error was caught executing your request: ()
    Request :
    <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://service.mvc.zzxy.com"><SOAP-ENV:Body><ns1:getMainUserInfo/><param1>321</param1><param2>567</param2></SOAP-ENV:Body></SOAP-ENV:Envelope> Response :
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Not enough message parts were received for the operation.</faultstring></soap:Fault></soap:Body></soap:Envelope>JAVA那部分写的行不?
      

  17.   

    你想要返回什么数据呀,我看到你的java的 getMainUserInfo返回的是xml
    我也没研究过java里的wsdl
      outXML=documentout.asXML();
        //    System.out.println(outXML);
            return outXML;
        }
    但是返回信息中说没有 收到足够的信息来操作! >Not enough message parts were received for the operation.</
    或者你 这么试一下 ,$clent-> getMainUserInfo(array('123','322','555'));
      

  18.   


    我想得一个数组,我不会JAVA,JAVA那边是我同事在做,她也不知道刚才写的方法对不
      

  19.   

    有没有实例参考下,PHP和JAVA端的最好都有,谢谢