使用 cURL 和 PHP 的 UPS API...格式良好的 XML 问题
UPS 服务器不断向我提供此响应:
HTTP/1.1 200 OK
Server: Apache
Content-Length: 429
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Type: application/xml
Expires: Wed, 31 Aug 2011 21:28:12 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Wed, 31 Aug 2011 21:28:12 GMT
Connection: keep-alive
出现此错误:
<AddressValidationResponse>
<Response>
<TransactionReference>
<XpciVersion>1.0001</XpciVersion>
</TransactionReference>
<ResponseStatusCode>0</ResponseStatusCode>
<ResponseStatusDescription>Failure</ResponseStatusDescription>
<Error>
<ErrorSeverity>Hard</ErrorSeverity>
<ErrorCode>10001</ErrorCode>
<ErrorDescription>The XML document is not well formed</ErrorDescription>
</Error>
</Response>
</AddressValidationResponse>
这是我发送到服务器的 PHP 代码。是否有我遗漏和忽略的错误?
$data = '<?xml version=\"1.0\" ?>
<AccessRequest xml:lang=\"en-US\">
<AccessLicenseNumber>$this->AccessLicenseNumber</AccessLicenseNumber>
<UserId>$this->UserId</UserId>
<Password>$this->Password</Password>
</AccessRequest>
<?xml version=\"1.0\" ?>
<AddressValidationRequest xml:lang=\"en-US\">
<Request>
<TransactionReference>
<XpciVersion>1.0001</XpciVersion>
</TransactionReference>
<RequestAction>XAV</RequestAction>
<RequestOption>3</RequestOption>
</Request>
<AddressKeyFormat>
<AddressLine>$address</AddressLine>
<PoliticalDivision2>$city</PoliticalDivision2>
<PoliticalDivision1>$state</PoliticalDivision1>
<PostcodePrimaryLow>$zip</PostcodePrimaryLow>
<CountryCode>US</CountryCode>
</AddressKeyFormat>
</AddressValidationRequest>';
任何帮助将不胜感激。谢谢。
The UPS server keeps giving me this response :
HTTP/1.1 200 OK
Server: Apache
Content-Length: 429
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Type: application/xml
Expires: Wed, 31 Aug 2011 21:28:12 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Wed, 31 Aug 2011 21:28:12 GMT
Connection: keep-alive
with this error:
<AddressValidationResponse>
<Response>
<TransactionReference>
<XpciVersion>1.0001</XpciVersion>
</TransactionReference>
<ResponseStatusCode>0</ResponseStatusCode>
<ResponseStatusDescription>Failure</ResponseStatusDescription>
<Error>
<ErrorSeverity>Hard</ErrorSeverity>
<ErrorCode>10001</ErrorCode>
<ErrorDescription>The XML document is not well formed</ErrorDescription>
</Error>
</Response>
</AddressValidationResponse>
Here is the PHP code I am sending to the server. Is there an error that I am missing and overlooking?
$data = '<?xml version=\"1.0\" ?>
<AccessRequest xml:lang=\"en-US\">
<AccessLicenseNumber>$this->AccessLicenseNumber</AccessLicenseNumber>
<UserId>$this->UserId</UserId>
<Password>$this->Password</Password>
</AccessRequest>
<?xml version=\"1.0\" ?>
<AddressValidationRequest xml:lang=\"en-US\">
<Request>
<TransactionReference>
<XpciVersion>1.0001</XpciVersion>
</TransactionReference>
<RequestAction>XAV</RequestAction>
<RequestOption>3</RequestOption>
</Request>
<AddressKeyFormat>
<AddressLine>$address</AddressLine>
<PoliticalDivision2>$city</PoliticalDivision2>
<PoliticalDivision1>$state</PoliticalDivision1>
<PostcodePrimaryLow>$zip</PostcodePrimaryLow>
<CountryCode>US</CountryCode>
</AddressKeyFormat>
</AddressValidationRequest>';
Any help would be greatly appreciated. Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用
"
而不是'
来包装您的 xml,如下所示:PHP 仅替换
"
内的变量You have to use
"
instead of'
to wrap your xml, like this:PHP only replaces variables inside of
"