Beim Aufruf der Soap-Schnittstelle durch PHP tritt ein Fehler auf

WBOY
Freigeben: 2016-10-11 14:23:28
Original
1124 Leute haben es durchsucht

<code>SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://27.148.153.106:9090/mpserver/services/CykProcService' : Extra content at the end of the document in /Users/haua/Desktop/zuji_web/www/quan.189go.cn/test2.php:47 Stack trace: #0 /Users/haua/Desktop/zuji_web/www/quan.189go.cn/test2.php
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Das Obige ist ein Fehlerbericht

<code>$client = new SoapClient("http://27.148.153.106:9090/mpserver/services/CykProcService");
print_r($client->__getFunctions());
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Das Obige ist mein Code, das Folgende ist wsdl

<code><?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://client.webservice.mpserver.ptnetwork.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://client.webservice.mpserver.ptnetwork.com" xmlns:intf="http://client.webservice.mpserver.ptnetwork.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->

   <wsdl:message name="doProcResponse">

      <wsdl:part name="doProcReturn" type="xsd:int"/>

   </wsdl:message>

   <wsdl:message name="doProcRequest">

      <wsdl:part name="seq" type="xsd:string"/>

      <wsdl:part name="userId" type="xsd:string"/>

      <wsdl:part name="type" type="xsd:int"/>

      <wsdl:part name="sign" type="xsd:string"/>

   </wsdl:message>

   <wsdl:portType name="CykProcService">

      <wsdl:operation name="doProc" parameterOrder="seq userId type sign">

         <wsdl:input message="impl:doProcRequest" name="doProcRequest"/>

         <wsdl:output message="impl:doProcResponse" name="doProcResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="CykProcServiceSoapBinding" type="impl:CykProcService">

      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="doProc">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="doProcRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://client.webservice.mpserver.ptnetwork.com" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="doProcResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://client.webservice.mpserver.ptnetwork.com" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="CykProcServiceService">

      <wsdl:port binding="impl:CykProcServiceSoapBinding" name="CykProcService">

         <wsdlsoap:address location="http://27.148.153.106:9090/mpserver/services/CykProcService"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Als ich das letzte Mal ihre http-Schnittstelle aufgerufen habe, habe ich auch den Header festgelegt (siehe Code unten). Ich weiß nicht, wie ich diese Soap einrichten soll

<code>$ch = curl_init();
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array (//不知道为什么一定要这个他们才能接收到post数据
    'content-type: text/html'
));</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

<code>SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://27.148.153.106:9090/mpserver/services/CykProcService' : Extra content at the end of the document in /Users/haua/Desktop/zuji_web/www/quan.189go.cn/test2.php:47 Stack trace: #0 /Users/haua/Desktop/zuji_web/www/quan.189go.cn/test2.php
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Das Obige ist ein Fehlerbericht

<code>$client = new SoapClient("http://27.148.153.106:9090/mpserver/services/CykProcService");
print_r($client->__getFunctions());
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Das Obige ist mein Code, das Folgende ist wsdl

<code><?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://client.webservice.mpserver.ptnetwork.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://client.webservice.mpserver.ptnetwork.com" xmlns:intf="http://client.webservice.mpserver.ptnetwork.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->

   <wsdl:message name="doProcResponse">

      <wsdl:part name="doProcReturn" type="xsd:int"/>

   </wsdl:message>

   <wsdl:message name="doProcRequest">

      <wsdl:part name="seq" type="xsd:string"/>

      <wsdl:part name="userId" type="xsd:string"/>

      <wsdl:part name="type" type="xsd:int"/>

      <wsdl:part name="sign" type="xsd:string"/>

   </wsdl:message>

   <wsdl:portType name="CykProcService">

      <wsdl:operation name="doProc" parameterOrder="seq userId type sign">

         <wsdl:input message="impl:doProcRequest" name="doProcRequest"/>

         <wsdl:output message="impl:doProcResponse" name="doProcResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="CykProcServiceSoapBinding" type="impl:CykProcService">

      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="doProc">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="doProcRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://client.webservice.mpserver.ptnetwork.com" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="doProcResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://client.webservice.mpserver.ptnetwork.com" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="CykProcServiceService">

      <wsdl:port binding="impl:CykProcServiceSoapBinding" name="CykProcService">

         <wsdlsoap:address location="http://27.148.153.106:9090/mpserver/services/CykProcService"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Als ich das letzte Mal ihre http-Schnittstelle aufgerufen habe, habe ich auch den Header festgelegt (siehe Code unten). Ich weiß nicht, wie ich diese Soap einrichten soll

<code>$ch = curl_init();
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array (//不知道为什么一定要这个他们才能接收到post数据
    'content-type: text/html'
));</code>
Nach dem Login kopieren
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage