我正在嘗試將用於汽車註冊在線查詢功能的SOAP/HTTP POST/XML API集成到我的網站中,我還沒有想到如何在PHP文件中插入此腳本,所有時間都會出錯。在PHP中集成SOAP API
腳本
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /api/reg.asmx HTTP/1.1
Host: www.regcheck.org.uk
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/Check"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Check xmlns="http://tempuri.org/">
<RegistrationNumber>string</RegistrationNumber>
<username>string</username>
</Check>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CheckResponse xmlns="http://tempuri.org/">
<CheckResult>
<vehicleJson>string</vehicleJson>
<vehicleXml>string</vehicleXml>
<numberOfSeats>string</numberOfSeats>
<carValue>string</carValue>
<immobiliser>string</immobiliser>
<vehicleData>
<ABICode type="NCName" />
<Description type="NCName" />
<RegistrationYear type="NCName" />
<ManufactureYearFrom type="NCName" />
<ManufactureYearTo type="NCName" />
<CarMake type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</CarMake>
<CarModel type="NCName" />
<BodyStyle type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</BodyStyle>
<EngineSize type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</EngineSize>
<NumberOfDoors type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</NumberOfDoors>
<Transmission type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</Transmission>
<FuelType type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</FuelType>
<MakeDescription type="NCName" />
<ModelDescription type="NCName" />
<Immobiliser type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</Immobiliser>
<NumberOfSeats type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</NumberOfSeats>
<IndicativeValue type="NCName" />
<DriverSide type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</DriverSide>
</vehicleData>
</CheckResult>
</CheckResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /api/reg.asmx HTTP/1.1
Host: www.regcheck.org.uk
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Check xmlns="http://tempuri.org/">
<RegistrationNumber>string</RegistrationNumber>
<username>string</username>
</Check>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CheckResponse xmlns="http://tempuri.org/">
<CheckResult>
<vehicleJson>string</vehicleJson>
<vehicleXml>string</vehicleXml>
<numberOfSeats>string</numberOfSeats>
<carValue>string</carValue>
<immobiliser>string</immobiliser>
<vehicleData>
<ABICode type="NCName" />
<Description type="NCName" />
<RegistrationYear type="NCName" />
<ManufactureYearFrom type="NCName" />
<ManufactureYearTo type="NCName" />
<CarMake type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</CarMake>
<CarModel type="NCName" />
<BodyStyle type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</BodyStyle>
<EngineSize type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</EngineSize>
<NumberOfDoors type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</NumberOfDoors>
<Transmission type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</Transmission>
<FuelType type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</FuelType>
<MakeDescription type="NCName" />
<ModelDescription type="NCName" />
<Immobiliser type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</Immobiliser>
<NumberOfSeats type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</NumberOfSeats>
<IndicativeValue type="NCName" />
<DriverSide type="NCName">
<CurrentValue xsi:nil="true" />
<CurrentTextValue xsi:nil="true" />
</DriverSide>
</vehicleData>
</CheckResult>
</CheckResponse>
</soap12:Body>
</soap12:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.
GET /api/reg.asmx/Check?RegistrationNumber=string&username=string HTTP/1.1
Host: www.regcheck.org.uk
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<Vehicle xmlns="http://tempuri.org/">
<vehicleJson>string</vehicleJson>
<vehicleXml>string</vehicleXml>
<numberOfSeats>string</numberOfSeats>
<carValue>string</carValue>
<immobiliser>string</immobiliser>
<vehicleData>
<ABICode type="NCName" />
<Description type="NCName" />
<RegistrationYear type="NCName" />
<ManufactureYearFrom type="NCName" />
<ManufactureYearTo type="NCName" />
<CarMake type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</CarMake>
<CarModel type="NCName" />
<BodyStyle type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</BodyStyle>
<EngineSize type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</EngineSize>
<NumberOfDoors type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</NumberOfDoors>
<Transmission type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</Transmission>
<FuelType type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</FuelType>
<MakeDescription type="NCName" />
<ModelDescription type="NCName" />
<Immobiliser type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</Immobiliser>
<NumberOfSeats type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</NumberOfSeats>
<IndicativeValue type="NCName" />
<DriverSide type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</DriverSide>
</vehicleData>
</Vehicle>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /api/reg.asmx/Check HTTP/1.1
Host: www.regcheck.org.uk
Content-Type: application/x-www-form-urlencoded
Content-Length: length
RegistrationNumber=string&username=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<Vehicle xmlns="http://tempuri.org/">
<vehicleJson>string</vehicleJson>
<vehicleXml>string</vehicleXml>
<numberOfSeats>string</numberOfSeats>
<carValue>string</carValue>
<immobiliser>string</immobiliser>
<vehicleData>
<ABICode type="NCName" />
<Description type="NCName" />
<RegistrationYear type="NCName" />
<ManufactureYearFrom type="NCName" />
<ManufactureYearTo type="NCName" />
<CarMake type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</CarMake>
<CarModel type="NCName" />
<BodyStyle type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</BodyStyle>
<EngineSize type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</EngineSize>
<NumberOfDoors type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</NumberOfDoors>
<Transmission type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</Transmission>
<FuelType type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</FuelType>
<MakeDescription type="NCName" />
<ModelDescription type="NCName" />
<Immobiliser type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</Immobiliser>
<NumberOfSeats type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</NumberOfSeats>
<IndicativeValue type="NCName" />
<DriverSide type="NCName">
<CurrentValue type="NCName" />
<CurrentTextValue type="NCName" />
</DriverSide>
</vehicleData>
</Vehicle>
這些是示例SOAP請求。你是什麼意思你試圖將它們插入到PHP腳本中? – axblount 2015-03-31 19:44:11