我真的很喜欢编写php和soap。我想请求这项服务:http://www.artimesaj.com/services/artimesaj.asmx?op=TekMesajCokNumara但我不知道该怎么办。我对这个网站一无所知。
最后是什么?我应该怎么做:
POST /services/artimesaj.asmx HTTP/1.1
Host: www.artimesaj.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/TekMesajCokNumara"
答案 0 :(得分:1)
首先,您construct a SOAPClient object传递the machine-readable service description (WSDL)的网址:
$client = new SOAPClient('http://www.artimesaj.com/services/artimesaj.asmx?WSDL');
然后你需要为<securty>
部分添加“SOAP标题”:
$header = new SoapHeader(
'http://tempuri.org/',
'securty',
array(
'KullaniciAdi' => '???',
'Parola' => '???',
'Orijin' => '???'
)
);
$client->__setSoapHeaders($header);
然后,您可以拨打the defined "operations" (functions) in the service之一,例如TekMesajCokNumara
:
$response = $client->TekMesajCokNumara(array(
'message' => '???',
'numbers' => array(
'TelefonNo' => array(
'TelNo' => '???'
),
'TelefonNo' => array(
'TelNo' => '???'
)
),
'date' => '???'
));
然后,SOAP库将所有参数转换为适当的XML,将其发送到服务(使用类似问题的请求)并给出响应;如果一切顺利,你不需要知道这意味着什么,它就会起作用。
显然,您需要找到一些关于这些参数究竟应该是什么的文档。
根据我的经验,让SOAP进行正确的交互可能有点繁琐,我绝对不能保证上面的代码能够正常工作,或者承诺帮助你调试它,但希望它能给出一个例子。您应该期待编写的代码。