2016-10-26 4 views
0

다음은 ProductSync에 대한 Volusion 지원 방법이지만 C#의 코드는 PHP로 구현하지만 구현 방법은 잘 모릅니다. volcing의 ProductSync에 대한 API 통합

https://support.volusion.com/hc/en-us/articles/209637767-API-Integration-ProductSync-Developer-

그래서 사람이 어떻게 전 C#에 대한 지식이없는 PHP 일하고 있기 때문에 어떻게 PHP에서 구현하는 나에게 도움이 될 수 있습니다. 난 그냥 내 PHP에서 붙여 넣기 에서이 코드를 복사 이런 오류가 날

Fatal error: Class 'XMLHTTP' not found in /home/tlztech/public_html/volusion/productSync.php on line 5.

그리고 내 코드로. 파일에는 XMLHTTP 클래스가없는

$xml_http = new Your\Namespace\XMLHTTP();

때문에 :

<?php 
 

 
$api_url = "http://tebkq.mvlce.servertrust.com/net/WebService.aspx?Login=mylogin&EncryptedPassword=mypass&API_Name=Generic\\Products&SELECT_Columns=p.ProductCode,p.ProductID,p.ProductName,p.StockStatus"; 
 

 
$xml_http = new XMLHTTP(); 
 
$xml_http.open("POST", $api_url, false, "", ""); 
 
$xml_http.send(null); 
 
$api_response = $xml_http.responseText; 
 

 

 

 
$api_url = "http://tebkq.mvlce.servertrust.com/net/WebService.aspx?Login=mylogin&EncryptedPassword=mypass&Import=Update"; 
 
$api_request = ""; 
 
$api_request = $api_request + "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; 
 
$api_request = $api_request + "<xmldata>"; 
 
$api_request = $api_request + " <Products>"; 
 
$api_request = $api_request + "  <ProductCode>0001</ProductCode>"; 
 
$api_request = $api_request + "  <StockStatus>5</StockStatus>"; 
 
$api_request = $api_request + " </Products>"; 
 
$api_request = $api_request + "</xmldata>"; 
 

 
$xml_http = new XMLHTTP(); 
 
$xml_http.open("POST", $api_url, false, "", ""); 
 
$xml_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
 
$xml_http.setRequestHeader("Content-Action", "Volusion_API"); 
 
$xml_http.send(api_request); 
 
$xml_http = $xml_http.responseText; 
 

 
$api_url = "http://tebkq.mvlce.servertrust.com/net/WebService.aspx?Login=mylogin&EncryptedPassword=mypass&API_Name=Generic\\Products&SELECT_Columns=p.ProductCode,p.ProductID,p.ProductName,p.StockStatus&WHERE_Column=p.ProductCode&WHERE_Value=0002"; 
 

 
$xml_http = new XMLHTTP(); 
 
$xml_http.open("POST", $api_url, false, "", ""); 
 
$xml_http.send(null); 
 
$api_response = $xml_http.responseText; 
 

 

 
?>

답변

0

난 당신이 XMLHTTP 클래스이야 당신이 네임 스페이스를 사용할 필요가 있기 때문에 생각합니다. 이

를 찾을 수없는 이유는 당신이 파일의 시작 부분에 사용을 추가해야 만 XMLHTTP()을 사용하려는 경우 그 다음입니다 :

use <NAMESPACE>;

이 클래스는 전역 네임 스페이스 단지 않는에서 경우 그것을 좋아해 : $xml_http = new \XMLHTTP();

+0

이 오류 "구문 분석 오류 ('in /home/tlztech/public_html/volusion/productSync.php on line 2'. 무엇을 의미합니까? –

+0

내가 ''이라고 말했을 때 정확하게 ''이 아니지만 실제 쓰는 것이 필요합니다. 네임 스페이스는'네 네임 스페이스 \ XMLHTTP 사용 '과 같습니다. – MounirOnGithub

+0

여전히 작동하지 않습니다 .. –

1

PHP에 존재하지 않는 Microsoft 클래스를 참조하려고합니다.

다른 최근 스레드에서 cURL을 사용하여 Volusion API를 호출하려고 시도했습니다. 이것은 PHP에서 사용하는 유효한 접근 방식입니다. C# 예제를 PHP에 적용 할 필요가 없습니다. 여기

은 컬하고 URL 예제를 사용하여 PHP에서 유효한 예입니다 : '구문 오류, 예기치 않은'< ', 기대 T_CONSTANT_ENCAPSED_STRING 나 :이 때

$api_url = "http://tebkq.mvlce.servertrust.com/net/WebService.aspx?Login=mylogin&EncryptedPassword=mypass&Import=Update"; 

$api_request = '<?xml version="1.0" encoding="utf-8" ?>'; 
$api_request .= '<xmldata>'; 
$api_request .= ' <Products>'; 
$api_request .= '  <ProductCode>0001</ProductCode>'; 
$api_request .= '  <StockStatus>5</StockStatus>'; 
$api_request .= ' </Products>'; 
$api_request .= '</xmldata>'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $api_url); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $api_request); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/x-www-form-urlencoded; charset=utf-8", "Content-Action:Volusion_API")); 

$head = curl_exec($ch); 
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
+0

I tr Volusion에 제품을 삽입하기위한 모든 방법을 썼지 만 성공할 수 없을 때까지는. 나는 아무도 정확한 대답을 줄 수없는이 이슈에 대해 많은 질문을 올린다. –

+0

당신은 나에게 cURL이나 코드 조각을 사용하는 참조를 줄 수 있습니까? –

+0

물론 - 위를 본다 –