axis返回一个结果,比如:
-----------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:findallAuthorityResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://webservice.alcatel.com">
<findallAuthorityReturn href="#id0" />
</ns1:findallAuthorityResponse>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
soapenc:arrayType="xsd:anyType[1]" xsi:type="soapenc:Array"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<multiRef href="#id1" />
</multiRef>
<multiRef id="id1" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:SysAuthority" xmlns:ns2="urn:BeanService"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<code xsi:type="soapenc:string">010101</code>
<context xsi:type="soapenc:string">userManager</context>
<flag href="#id2" />
<id href="#id3" />
<name xsi:type="soapenc:string">userManager</name>
</multiRef>
<multiRef id="id3" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="soapenc:int"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
1
</multiRef>
<multiRef id="id2" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="soapenc:int"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
1
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
----------------------------------------------------------------------
delphi2005中使用XMLTransformProvider无法解析出结果<注:字段可以出来,但结果出不来>,所以就不能生成Dataset,请各位做过的帮助下

解决方案 »

  1.   

    打开deploy.wsdd文件,将globalConfiguration里面的sendMultiRefs参数值改成false,然后再试一下。
      

  2.   

    thegreatbear(大熊),谢谢你的建议,但是还是不能解析,我已经把数据格式化成这样了:
    ---------------------------------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <ns1:findallAuthorityResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://webservice.alcatel.com">
    <findallAuthorityReturn soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <findallAuthorityReturn xsi:type="ns2:SysAuthority" xmlns:ns2="ns:SysAuthority">
    <code xsi:type="soapenc:string">010101</code>
    <context xsi:type="soapenc:string">
    userManager
    </context>
    <flag xsi:type="soapenc:int">1</flag>
    <id xsi:type="soapenc:int">1</id>
    <name xsi:type="soapenc:string">userManager</name>
    </findallAuthorityReturn>
    <findallAuthorityReturn xsi:type="ns3:SysAuthority" xmlns:ns3="ns:SysAuthority">
    <code xsi:type="soapenc:string">020202</code>
    <context xsi:type="soapenc:string">test</context>
    <flag xsi:type="soapenc:int">2</flag>
    <id xsi:type="soapenc:int">2</id>
    <name xsi:type="soapenc:string">test</name>
    </findallAuthorityReturn>
    </findallAuthorityReturn>
    </ns1:findallAuthorityResponse>
    </soapenv:Body>
    </soapenv:Envelope>
      

  3.   

    问题我已经解决,专门做了个xml的解析库来达到目的,谢谢各位!
      

  4.   

    我也碰到了相同的问题 axis2解析如LZ的SOAP响应时报错,axis2应该如何设置才能解析如LZ所带的含有herf=“#id0”这样的SOAP响应,或者请给一个XML的解析库用下 谢谢 邮箱为[email protected]
      

  5.   

    您好,我也遇到相同的问题,能否参考你做的xml解析库?,谢谢!