2012-06-19 52 views
0
POST /accountapi/service.asmx HTTP/1.1 
Host: staging.prepaidfinancialservices.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "http://accountapi.internal/CardInquiry" 

<?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> 
    <CardInquiry xmlns="http://accountapi.internal/"> 
     <sClientLogin>string</sClientLogin> 
     <sClientPassword>string</sClientPassword> 
     <CardNumber>string</CardNumber> 
    </CardInquiry> 
    </soap:Body> 
</soap:Envelope> 

以上是SOAP请求,但是当我试着通过我的PHP代码将它张贴我收到一个错误,“无法解析主机“accountapi.internal” ......帮我plzzSOAP请求问题

<?php 
ini_set('display_errors', "1"); 
$a=fopen("test.xml",'r'); 
$mxml=fread($a,65536); 
$url='http://accountapi.internal/CardInquiry'; 
$yt =curl_init($url); 
$header = "POST /accountapi/service.asmx HTTP/1.1 <br>"; 
$header .= "Host: staging.prepaidfinancialservices.com <br>"; 
$header .= "Content-Type: application/soap+xml; charset=utf-8 <br>"; 
$header .= "Content-Length: ".strlen($mxml)."\r\n <br>"; 
$header .= "SOAPAction: 'http://accountapi.internal/CardInquiry' <br>"; 
echo $header."<br><br>"; 
//exit; 


$header .= $mxml; 
curl_setopt($yt, CURLOPT_SSL_VERIFYPEER,0); 
curl_setopt($yt, CURLOPT_URL, $url); 
curl_setopt($yt, CURLOPT_CUSTOMREQUEST, $header); 
curl_setopt($yt, CURLOPT_RETURNTRANSFER, true); 
$rxml=curl_exec($yt); 
echo "sent\n$mxml\n<br>"; 
echo "received\n$rxml\n"; 
echo curl_error($yt); 
?> 

这里是我的PHP代码....

+1

请添加您的PHP代码。否则你的问题不清楚。 – hakre

回答

0

我觉得URL http://accountapi.internal/CardInquiry属于某个LAN &是公众无法使用。所以当你打电话给这个URL时,它没有得到这个地址的任何名字服务器注册。因此您收到消息“无法解析主机”。尝试把IP地址,我认为它会工作。

+0

这里是“http://accountapi.internal/CardInquiry”API的链接..https://staging.prepaidfinancialservices.com/accountapi/service.asmx?op = CardInquiry –

+0

其实我试图实现'prepaidfinancialservices.com '付款方式在我的网站,而不是paypall付款方式.....我试图使用'prepaidfinancialservices.com' API 和卡查询我想发布SOAP请求像这样....'https:/ /staging.prepaidfinancialservices.com/accountapi/service.asmx?OP = CardInquiry' –