2017-08-30 1 views
0

SOAPサービスを介してWebサービスから何かをダウンロードする必要があります。インターフェイスのドキュメントはかなり疎ですので、リクエストする方法を理解するのが難しいです。SOAPリクエストを作成する方法を理解するのに問題がある

This is the .wsdl specification.

This is the .xsd one.

考え方は次のとおりです。

  1. は、セッションキー(私は首尾よくこれをしなかった)
  2. 利用可能なデータを要求するためにセッションキーを使用して見るにはログイン(ここで、I問題あり)
  3. このキーを使用して特定のデータを要求する
  4. もう一度ログアウトします

セッションキーを取得してデータボックスのリクエストとともに使用しています。残念ながら、私は応答としてHTTP 404を取得しているに過ぎず、セッションキーが間違っている場合(たとえば "asdfg")に404が表示されるため、問題を見つける方法がわかりません。

これは私が遣わすXMLです:

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <getDatabox xmlns="https://finanzonline.bmf.gv.at/fon/ws/databox"> 
      <tid>${tid}</tid> 
      <benid>${benid}</benid> 
      <id>${sessionToken}</id> 
      <erltyp>${erltyp}</erltyp> 
      <ts_zust_von>20-08-2017</ts_zust_von> 
      <ts_zust_bis>25-08-2017</ts_zust_bis> 
     </getDatabox> 
    </soap:Body> 
</soap:Envelope> 

これは私が(私は例のための方法で初期化されxmlDataboxのように、そこからいくつかの醜さを取り除く)使用しています方法です:

function getDataBox(sessionToken, erltyp) { 
    return new Promise((resolve, reject) => { 
     var body = []; 
     var https = require("https"); 
     var req = https.request(optionsDatabox, res => { 
      res.setEncoding("utf8"); 
      res.on("data", chunk => { 
      console.log("daty"); 
      console.log(chunk); 
      body.push(chunk); 
      }); 
      res.on("end",() => { 
      console.log("STATUSCODE: " + res.statusCode); 
      resolve(body.join("")); 
      }); 
      res.on("error", err => { 
      reject(err); 
      }); 
     }); 
     req.write(xmlDatabox); 

     req.end(); 
     }); 
    } 

これで、すべて送信されるのですべて送信されます。また、メソッドとXMLは(重要なものを除いて)getDatabox()とloginRequest()(これは動作します)と同じです。唯一の応答はHTTPS 404です。

何が問題なのですか?

次回のこの欲求不満を防ぐにはどうすればよいですか? (どのメソッドを使用するかをすぐに知るなど)

EDIT:私はソープモジュールを使用していません。これは成功しなかったためです。

答えて

0

オーケー..私は私が.wsldとの.xsd形式についてあまり知らなかったので、要求は、のようになります方法を見つけるためにSOAPUIを使用

SoapUIはこれらの2つのファイルを読み込み、適切なxmlファイルを作成します。また、私は初めて知りませんでしたあなたの要求を送信する必要があるURLを示しています。

関連する問題