php soap web服务无法在服务器上运行

时间:2012-07-18 07:10:53

标签: php web-services soap

我使用的是php webservice。当我单独使用它时,服务调用返回值,但当我使用多个函数时,它正在调用但不返回值。单个wsdl就像:对于MessageRS()

<?xml version ='1.0' encoding ='utf-8' ?>
<definitions name='shop'
  targetNamespace='http://localhost/soap/'
  xmlns:tns='http://localhost/soap/'
  xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
  xmlns:xsd='http://www.w3.org/2001/XMLSchema'
  xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
  xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
  xmlns='http://schemas.xmlsoap.org/wsdl/'>

    <message name='messageRQ'>
    <part name='sendXML' type='xsd:string'/>
  </message>
  <message name='messageRS'>
    <part name='Result' type='xsd:string'/>
  </message>

  <portType name='CatalogPortType'>

  <operation name='MessageRS'>
        <input message='tns:messageRQ'/>
        <output message='tns:messageRS'/>
    </operation>

    </portType>

    <binding name='CatalogBinding' type='tns:CatalogPortType'>
    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>

    <operation name='MessageRS'>
        <soap:operation soapAction='urn:localhost-catalog#MessageRS'/>
        <input>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
        </input>
        <output>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
        </output>
    </operation>
    </binding>

    <service name='CatalogService'>
    <port name='CatalogPort' binding='CatalogBinding'>
      <soap:address location='http://1mp1.viewthedemo.com/s/server/server.php'/>
    </port>
  </service>
</definitions>

一起使用时
<message name='getCatalogRequest'>
    <part name='catalogId' type='xsd:string'/>
  </message>
  <message name='getCatalogResponse'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='manufacturerRQ'>
    <part name='manufacturerRQxml' type='xsd:string'/>
  </message>
  <message name='mamufacturerRS'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='messageRQ'>
    <part name='sendXML' type='xsd:string'/>
  </message>
  <message name='messageRS'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='saveRQ'>
    <part name='SaveRQParameter' type='xsd:string'/>
  </message>
  <message name='saveRS'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='Product_list'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='SettingRQ'>
    <part name='xml' type='xsd:string'/>
  </message>
  <message name='SettingRS'>
    <part name='Result' type='xsd:string'/>
  </message>





  <portType name='CatalogPortType'>
    <operation name='getCatalogEntry'>
      <input message='tns:getCatalogRequest'/>
      <output message='tns:getCatalogResponse'/>
    </operation>
    <operation name='ManufacturerRS'>
      <input message='tns:manufacturerRQ'/>
      <output message='tns:mamufacturerRS'/> 
     </operation>
    <operation name='MessageRS'>
        <input message='tns:messageRQ'/>
        <output message='tns:messageRS'/>
    </operation>

    <operation name='SaveRS'>
      <input message='tns:saveRQ'/>
      <output message='tns:saveRS'/>
    </operation>
    <operation name='Product_list'>
      <input message='tns:Product_list'/>
      <output message='tns:Product_list'/>
    </operation>
    <operation name='SettingRS'>
      <input message='tns:SettingRQ'/>
      <output message='tns:SettingRS'/>
    </operation>


  </portType>

  <binding name='CatalogBinding' type='tns:CatalogPortType'>
    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
    <operation name='getCatalogEntry'>
      <soap:operation soapAction='urn:localhost-catalog#getCatalogEntry'/>
      <input>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>

    <operation name='ManufacturerRS'>
      <soap:operation soapAction='urn:localhost-catalog#ManufacturerRS'/>
      <input>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>

    <operation name='MessageRS'>
        <soap:operation soapAction='urn:localhost-catalog#MessageRS'/>
        <input>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
        </input>
        <output>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
        </output>
    </operation>

    <operation name='SaveRS'>
      <soap:operation soapAction='urn:localhost-catalog#SaveRS'/>
      <input>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>

    <operation name='Product_list'>
      <soap:operation soapAction='urn:localhost-catalog#Product_list'/>
      <input>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>

    <operation name='SettingRS'>
      <soap:operation soapAction='urn:localhost-catalog#Product_list'/>
      <input>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>

然后它没有在客户端页面中发送值。

1 个答案:

答案 0 :(得分:0)

我想首先你需要检查服务器上是否启用了soap扩展。你可以使用phpinfo()检查soap扩展。