我有数据:
POST /Reseller.asmx HTTP/1.1
Host: server.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://server/FunctionOnDemand"
<?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:Header>
<AuthHeader xmlns="http://server/">
<UserName>string</UserName>
<Password>string</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<OrderServicesExport xmlns="http://server/" />
</soap:Body>
</soap:Envelope>
我需要使用PHP向“someURL?WSDL”发送soap请求。
有人可以帮忙吗?
答案 0 :(得分:1)
希望它可以帮到你,
1启用PHP扩展。 --enable-libxml
2启用SOAP支持,使用--enable-soap
配置PHP。
示例PHP代码,
<?php
$soapClient = new SoapClient("https://soapserver.example.com/blahblah.asmx?wsdl");
// Prepare SoapHeader parameters
$sh_param = array(
'Username' => 'username',
'Password' => 'password');
$headers = new SoapHeader('http://soapserver.example.com/webservices', 'UserCredentials', $sh_param);
// Prepare Soap Client
$soapClient->__setSoapHeaders(array($headers));
// Setup the RemoteFunction parameters
$ap_param = array(
'amount' => $irow['total_price']);
// Call RemoteFunction ()
$error = 0;
try {
$info = $soapClient->__call("RemoteFunction", array($ap_param));
} catch (SoapFault $fault) {
$error = 1;
print("
alert('Sorry, blah returned the following ERROR: ".$fault->faultcode."-".$fault->faultstring.". We will now take you back to our home page.');
window.location = 'main.php';
");
}
if ($error == 0) {
$auth_num = $info->RemoteFunctionResult;
if ($auth_num < 0) {
....
// Setup the OtherRemoteFunction() parameters
$at_param = array(
'amount' => $irow['total_price'],
'description' => $description);
// Call OtherRemoteFunction()
$trans = $soapClient->__call("OtherRemoteFunction", array($at_param));
$trans_result = $trans->OtherRemoteFunctionResult;
....
} else {
// Record the transaction error in the database
// Kill the link to Soap
unset($soapClient);
}
}
}
}
?>
基础教程:http://www.sitepoint.com/web-services-with-php-and-soap-1/
更多信息:http://www.php.net/manual/en/book.soap.php
参考:http://www.appsntech.com/2012/05/how-to-write-soap-web-service-using-php.html