編輯︰這個問題是無效的,因爲我使用的服務器已經突然中斷。請忽略使用SOAP和PHP獲取PDF文件
我是新來的SoapClient在PHP中,我試圖通過傳遞三個參數並抓取結果來獲取PDF。這裏是我正在使用WSDL文件(我真的不太多/在這個部分的任何控件):
<!-- this WSDL file was automatically generated by 4D -->
<definitions name="A_WebService" targetNamespace="http://www.4d.com/namespace/default" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.4d.com/namespace/default" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<message name="WS_ME_StatementRequest">
<part name="FuneralHomeID" type="xsd:string"/>
<part name="Month" type="xsd:int"/>
<part name="Year" type="xsd:string"/>
</message>
<message name="WS_ME_StatementResponse">
<part name="StatementPDF" type="xsd:base64Binary"/>
</message>
<portType name="A_WebServiceRPC">
<operation name="WS_ME_Statement">
<input message="tns:WS_ME_StatementRequest"/>
<output message="tns:WS_ME_StatementResponse"/>
</operation>
</portType>
<binding name="A_WebServiceBinding" type="tns:A_WebServiceRPC">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
<operation name="WS_ME_Statement">
<documentation>Inputs: None
Outputs: text variable</documentation>
<soap:operation soapAction="A_WebService#WS_ME_Statement"/>
<input>
<soap:body use="encoded" namespace="http://www.4d.com/namespace/default" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://www.4d.com/namespace/default" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="A_WebService">
<documentation></documentation>
<port name="A_WebServicePort" binding="tns:A_WebServiceBinding">
<soap:address location="http://69.128.94.30:8080/4DSOAP/"/>
</port>
</service>
</definitions>
而且這裏是我到目前爲止這是剛剛返回404的:
<?php
header("content-type: application/pdf");
$client = new SoapClient('http://69.128.94.30:8080/4DSOAP/');
$result = $client->WS_ME_StatementRequest(array('FuneralHomeID' => '0008-00', 'Month' => 11, 'Year' => "2008"));
$pdfdoc = $result->WS_ME_StatementResponse->StatementPDF;
print($pdfdoc);
我做錯了什麼想法?
嘗試先將它寫入文件。 – 2010-07-12 20:23:47