2012-07-05 135 views
0
var soapre1 = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:glob=\"http://sap.com/xi/SAPGlobal20/Global\">"; 
    var soapre2 = "<soapenv:Header/><soapenv:Body><glob:EmployeeLeaveRequestByParticipantQuery><EmployeeLeaveRequestSelectionByParticipant><EmployeeLeaveRequestParticipantRoleCode listVersionID=\"?\">2</EmployeeLeaveRequestParticipantRoleCode>"; 
var soapre3 = "<!--Zero or more repetitions:--> <EmployeeLeaveRequestParticipantWorkAgreementIDInterval><IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode> <!--Optional:--> <LowerBoundaryWorkAgreementID schemeID=\"?\" schemeAgencyID=\"?\">1009</LowerBoundaryWorkAgreementID></EmployeeLeaveRequestParticipantWorkAgreementIDInterval>"; 
var soapre4 = " <!--Zero or more repetitions:--> </EmployeeLeaveRequestSelectionByParticipant></glob:EmployeeLeaveRequestByParticipantQuery> </soapenv:Body></soapenv:Envelope>"; 

    var soapRequest = soapre1+soapre2+soapre3+soapre4; 

    var authstr = 'Basic ' +Titanium.Utils.base64encode('S0009231839'+':'+ 'm8390967743!'); 

    var soapxhr = Ti.Network.createHTTPClient(); 
     soapxhr.setRequestHeader('SOAPAction',soapRequest); 
    soapxhr.open("POST","http://erp.esworkplace.sap.com/sap/bc/srt/pm/sap/ecc_empleavereqparctqr/800/default_profile/2/binding_t_http_a_http_ecc_empleavereqparctqr_default_profile"); 
     soapxhr.setRequestHeader('Authorization', authstr); 
     soapxhr.setRequestHeader('Content-Type','text/xml','charset=utf-8');  
     soapxhr.send(); 

     soapxhr.onload = function(e) 


    { 
     Ti.API.info('abcd');  
     //get the xml data and let it roll! 
     var doc = this.responseXML; 
     Ti.API.info(doc);  
    } 

    soapxhr.onerror = function (e){ 
     alert('Error'); 
     Ti.API.info(e); 
    } 

無法加載響應其直接收到錯誤無法加載的響應

[INFO] { 
    source = "[object TiNetworkClient]"; 
    type = error; 
} 

任何一個建議如何解決這個問題!

@在此先感謝

+0

Usualy,知道與請求問題的最佳方式是嘗試在幾個瀏覽器上查找Web控制檯。 只是一個問題,你的HTML文件,它託管在「http://erp.esworkplace.sap.com」域?如果不是這樣,則問題可能是由於相同原點策略:要執行從域/端口到另一個域/端口的XHR,您需要在接收服務器端設置http標頭以接受來自入站域/端口的請求,這是爲了安全問題。對於Firefox而言,什麼也不會說(並返回一個空的xhresponse),但Chrome例如會告訴你它是不允許的。 – Ricola3D

回答

0

在所有瀏覽器中它的說法錯誤!但我發現了一些wsdl和soap請求,以便打開我需要將方法名稱傳遞給http請求的響應!那麼它的工作

相關問題