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を解決できませんでした」というエラーが表示されます...助けてくださいplzz

<?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コードです....

4

1 に答える 1

0

http://accountapi.internal/CardInquiryURLは一部のLANに属しており、公開されていないと思います。したがって、この URL を呼び出すたびに、このアドレスのネーム サーバー登録は取得されません。そのため、「ホストを解決できませんでした」というメッセージが表示されます。IPアドレスを入力してみてください。うまくいくと思います。

于 2012-06-19T05:18:57.047 に答える