PHP-使用SOAP WSDL与Web服务API连接



我的一位客户最近要求我将其Web服务与某些外部公司API集成。我必须在PHP中添加集成控制器,因为这就是他的形式的处理方式。

公司为我提供了:

1(WSDL Web服务的定义,

2(一个名为Contract.xml的示例,

3(两个用于数据验证的.xsd文件,

4(三个.xml示例(SOAP请求,响应真实和响应 - false(

我从未做过这样的事情,我想知道是否有任何意义,如果有人能为我提供一些知识,可以让我开始以自己的方式思考这个问题。

架构是什么样的:将"空白"请求设置为php var,并用表单输入对其进行更新是一个好的解决方案?还是我应该尝试在XML解析上了解更多信息并以这种方式进行?

如果您有WSDL(Web Service Documentation语言(XML文件,则不需要解析任何XML,或者您可以在线访问您要与之交流的服务的WSDL,您应该做的所有定义对象

$ mySoapClient = new SoapClient("路径/to/to/your/your/wsdl.xml",array("在这里您应该编写需要肥皂服务的参数"((;

也可能会有用户凭据,您可以使用

设置这些凭据
$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)); 

连接后,您将使用$ soapclient对象获取所有提供肥皂服务器的方法 像这样

$ soapclient-> somemethodthatprovidemysoapserver($ someparams(;

此方法SomeMethodthatprovidemysoapserver您在服务器中没有来自SOAP服务器的服务器,您可以使用它有关更多细节,您可以从这里学习http://php.net/manual/en/book.soap.phphttp://php.net/manual/en/class.soapclient.php使用XML主体

创建肥皂调用

相关内容

  • 没有找到相关文章

最新更新