2017-04-11 4 views
0

foxpro 응용 프로그램과 함께 Nexmo-SMS를 보낼 수 없습니다. 응용 프로그램이 작동을 멈춘 후 2017 년 1 월까지 응용 프로그램이 작동했습니다. 내 응용 프로그램이 아래에 주어진다. 그것은 오류 메시지 404를 제공합니다. 정정이 있으면 프로그램을 필요로 할 때 친절하게 안내 해줍니다.Nexmo SMS with visual foxpro


mob = '39829374' 

mmessage = 'Hi' 

username='username' 

pwd='password' 

mmob1 =ALLTRIM(mmob) 

MMOB = '00973'+ALLTRIM(mmob) 


From='AMA Motors' 

to = '&mmob' 

lcMessage=mmessage 

lcNexmo = Textmerge("http://rest.nexmo.com/sms/xml?username=<<m.username>>|password=<<m.pwd>>|from=<<m.from>>|to=<<m.to>>|text=<<m.lcMessage>>") 

lcNexmo = Chrtran(m.lcNexmo, '|', Chr(38)) 

* Message parameters ready 


Local loXmlHttp As "Microsoft.XMLHTTP" 

loXmlHttp = Newobject("Microsoft.XMLHTTP") 


loXmlHttp.Open("POST" , m.lcNexmo, .F.) 

loXmlHttp.Send() 


If loXmlHttp.Status = 200 

    lcXML = 
StrExtract(loXmlHttp.responsetext,'<messages','</messages>',1,1+4) 

    XMLToCursor(m.lcXML,'myresult') 

* browse 

Else 

    MessageBox(Textmerge("An error occurred in SMS. Status <<loXmlHttp.STATUS>> (<<loXmlHttp.statustext>>).")) 

Endif 

답변

1

난 당신의 코드가 일한 적이했다고 생각합니다. 아마도 여기에 전혀 작동하지 않을 버전을 넣을 것입니다. 어쨌든, 문제는 당신이 https를 사용하지 않는다고 생각합니다. 난 당신의 코드를 약간 편집 (토큰 낭비 죄송) 3 메시지를 보내

NexmoKey = '1b37ecc8' 
NexmoSecret = 'df183c07' 
NexmoNumber = 'AMA Motors' 

mob = '39829374' 
mmessage = 'Hi' 
MMOB = '00973'+ALLTRIM(m.mob) 


to = m.mmob 
lcMessage = m.mmessage 

nexmoURL = Textmerge(; 
    "https://rest.nexmo.com/sms/xml?"+; 
    "username=<<m.NexmoKey>>|"+; 
    "password=<<m.NexmoSecret>>|"+; 
    "from=<<m.NexmoNumber>>") 

TrySendTTS(m.to,m.lcMessage, m.NexmoUrl) 

Procedure TrySendTTS(tcPhone,tcMessage, tcNexmoUrl) 
    tcMessage = Strtran(m.tcMessage, '%0A', '%0D%0A') 
    lcUrl = Chrtran(; 
     Textmerge("<<m.tcNexmoUrl>>|to=<<m.tcPhone>>|text=<<m.tcMessage>>"), '|', Chr(38)) 

    Local loXmlHttp As "Microsoft.XMLHTTP" 
    loXmlHttp = Newobject("Microsoft.XMLHTTP") 

    loXmlHttp.Open("POST" , m.lcUrl, .F.) 
* loXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") 
    loXmlHttp.Send() 

    ? loXmlHttp.Status = 200 
    ? loXmlHttp.responsetext 

Endproc 

그리고 이것이 내가 최신 전송에 도착 응답입니다 :

<?xml version='1.0' encoding='UTF-8' ?> 
<mt-submission-response> 
    <messages count='1'> 
     <message> 
      <to>97339829374</to> 
      <messageId>0B00000044C5B1ED</messageId> 
      <status>0</status> 
      <remainingBalance>6.23650000</remainingBalance> 
      <messagePrice>0.01740000</messagePrice> 
      <network>42601</network> 
     </message> 
    </messages> 
</mt-submission-response> 
관련 문제