2011-10-24 7 views
2

Acrobat JavaScriptからSharePoint Webサービスを呼び出そうとしていますが、回避できないエラーが発生しています。私がsharepointを呼び出すために間違っていることを助けるために願っています。Adob​​e Acrobat X JavascriptからWebサービスを呼び出す

ウェイ1:私は試してみて、自分のコードに置き換えたときに

var strURL = "http://www.webservicex.net/globalweather.asmx?wsdl"; 
     var service = SOAP.connect(strURL); 
     var sCountryName = "United States"; 
     var sCityName = "New York"; 
     var result = { 
        soapType: "xsd:string", 
       CountryName: sCountryName, 
        CityName: sCityName 
        //soapValue: 
        }; 
     var results = service.GetWeather(result); 

これは私が、私は直接コードをコピーしたときに動作しますが、私は、WebサービスへのSOAP呼び出しを行うための二つの方法を見てきましたエラーメッセージ「サービスが定義されていません」を取得:これは動作しませんでしたので

var strURL = "http://dev-dc:40570/branches/GHIS/XXXXXXX/_vti_bin/lists.asmx?wsdl"; 
     var service = SOAP.connect(strURL); 

     var sPageURL = "http://devdc:40570/branches/GHIS/XXXXXXX/Other%20Client%20Documents/XXXXXXX.pdf"; 
     var sCheckoutToLocal = "false"; 
     var sLastModified = ""; 
     var result = { 
        soapType: "xsd:string", 
        pageURL: sPageURL, 
        checkoutToLocal: sCheckoutToLocal, 
        LastModified: sLastModified 
        }; 
     var results = service.CheckOutFile(result); 

、私は、Webサービスを呼び出すための方法2を試してみました:

var oAuthenticator ={ UsePlatformAuth: "true"}; 
var cURL = "http://www.webservicex.net/globalweather.asmx"; 
var oRequest = {"http://www.webserviceX.NET:GetWeather":{CityName:"New York",CountryName:"United States"}}; 
var cAction = "http://www.webserviceX.NET/GetWeather"; 
var ver = SOAPVersion.version_1_2; 
SOAP.wireDump = "true"; 
var response = Net.SOAP.request({cURL:cURL,oRequest:oRequest,cAction:cAction,oAuthenticate:oAuthenticator,bEncoded:false,cVersion:ver}); 

CountryNameが指定されていないと言っても、このスタイルでエラーが発生しました。私のコードを使用して、私はPAGEURLが見つからないか、または無効たという同様のエラーを得た:

var oAuthenticator ={ UsePlatformAuth: "true"}; 
    var cURL = "http://dev-dc:40570/branches/GHIS/XXXXXXX/_vti_bin/lists.asmx?wsdl"; 
    var oRequest = { 
     "http://schemas.microsoft.com/sharepoint/soap:CheckOutFile":{ 
      pageUrl:"http://dev-dc:40570/branches/GHIS/XXXXXXX/Other%20Client%20Documents/XXXXXXX.pdf", 
      checkoutToLocal:"false", 
      lastmodified:"" 
      }}; 
    var cAction = "http://schemas.microsoft.com/sharepoint/soap/CheckOutFile"; 
    var ver = SOAPVersion.version_1_1; 
    SOAP.wireDump = "true"; 
    var response = SOAP.request({ 
     cURL:cURL, 
     oRequest:oRequest, 
     cAction:cAction, 
     oAuthenticate:oAuthenticator, 
     bEncoded:false, 
     cVersion:ver 
     }); 

誰かが、私はこのSharePointのWebサービスを呼び出すように見えるカント、なぜ私が把握助けることができますか?私はAcrobatのjavascriptの中からWebサービスと話すことができる限り、どのメソッドを使用するか気にしません。また、それが助け場合は、ブラウザで手動でWebサービスに移動したときにここで推奨呼び出しは次のとおりです。いくつかの実験を行った後

POST /_vti_bin/lists.asmx HTTP/1.1 
Host: dev-dc 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <CheckOutFile xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
     <pageUrl>string</pageUrl> 
     <checkoutToLocal>string</checkoutToLocal> 
     <lastmodified>string</lastmodified> 
    </CheckOutFile> 
    </soap12:Body> 
</soap12:Envelope> 
+0

これを成功させましたか?私は本当にこれで助けが必要です - 私は 'soap.request()'をAcrobat Readerで動作させることができません(私はこのメソッドが制限されているというエラーを受け取ります) – Shai

答えて

1

、私が代わりにコードの要求部分を構築するために、Acrobatを使用していることを学びました代わりに未処理のXMLを渡すことができ、入力したとおりにそのまま渡します。このため、私は、共有ポイントはXMLが構造化されている特定の方法を探していなければならないと判断しました。 XMLを渡すコードを変更することで、SharepointとAcrobatが正常に通信できるようになりました。修正されたコードは次のようになります。

/**WebService Call to the Sharepoint Lists service for Checking Out the current document**/ 
function CheckOutFile(myFileVal){ 
    var oAuthenticator ={ UsePlatformAuth: "true"}; 
    var cURL = GetDocLibraryWS(myFileVal.path); 
    var oRequest = { 
     soapValue: "<CheckOutFile xmlns='http://schemas.microsoft.com/sharepoint/soap/'>"+ 
         "<pageUrl>"+myFileVal.path+"</pageUrl>"+ 
         "<checkoutToLocal>false</checkoutToLocal>"+ 
         "<lastmodified/>"+ 
        "</CheckOutFile>"}; 
    var cAction = "http://schemas.microsoft.com/sharepoint/soap/CheckOutFile"; 
    var ver = SOAPVersion.version_1_2; 
    var response = SOAP.request({ 
     cURL:cURL, 
     oRequest:oRequest, 
     cAction:cAction, 
     oAuthenticate:oAuthenticator, 
     bEncoded:false, 
     cVersion:ver 
     });} 
/**derives the document library web service path from the file URL**/ 
function GetDocLibraryWS(myFile){ 
    var myString = myFile.substring(0,myFile.lastIndexOf("/")); 
    myString = myString + "/_vti_bin/Lists.asmx"; 
    return myString;} 
+0

このメソッドを使用しているときにファイルがチェックインまたはチェックアウトされていることを認識するので、チェックイン/チェックアウトプロセスの抑制に使用できません。 – Nikkoli

関連する問題