我使用的是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>
然后它没有在客户端页面中发送值。
答案 0 :(得分:0)
我想首先你需要检查服务器上是否启用了soap扩展。你可以使用phpinfo()检查soap扩展。