問題タブ [gsoap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - gSoap: HTTP ヘッダー、Content-Length: 0
以下のコードを使用して、c++ クライアントで gSoap を使用して salesforce.com API にアクセスしようとしています。
これは問題なく準拠していますが、実行すると次のエラーが発生します。
パケット キャプチャを実行しましたが、HTTP ヘッダーの「Content-Length」が 0 を示していることを除いて、すべてが正しいように見えます。
私がどこで間違っているのかについて誰かが洞察を持っているなら、それは大歓迎です。
私は、g++ 4.4.5 を使用して Debian 6.0 で gSoap 2.7 を使用してコンパイルしています。
c - gSoap で生成されたクライアント側構造の初期化と使用
gSoap によって生成されたクライアント側構造体の初期化と使用 (ANSI C バインディングを使用)
例とドキュメントを読んだ後gSoap
、この問題に直接答えているものを見つけることができませんでした。それ以来、私はそれを整理しました。この投稿と回答のペアは、問題と私の解決策を示しています。
問題の説明:
gSoap で生成されたクライアント ソース コードを使用して、Web サービスにアクセスするための ANSI C バインディングを構築しています。アプリケーション インターフェイス ( で定義) として提供される「soap_call__」関数の引数 4 と 5 は、soapClient.c
多くの場合、複雑な (ネストされた) 構造として生成されます。(4 番目の引数) は入力構造であるためstruct ns3__send
、呼び出し元のアプリケーション内で宣言、初期化、割り当て、および解放する必要があります。
たとえば、次のgSoa
p 生成プロトタイプがあるとします。
で定義された次の構造体定義 (引数 4 のみを参照) を使用します。soapStub.h
注: 名前を短くし、単純化するために構造の元の内容からメンバーの数を減らしました。
質問:
この複雑な (ネストされた) 入力構造内のメンバーとポインターは、どのように適切に初期化され、メモリが割り当てられ、値が割り当てられ、メモリが解放されて、呼び出し元のアプリケーション内で使用できるようになっていますか?
gsoap - `soap_new' への GSoap QT 未定義参照?
QTでgSoapを使用しようとしています。プロジェクトをコンパイルすると、次のようになります。
私のサンプルプロには以下が含まれています:
何が問題なのですか?
私はファイルを作成しました:
c++ - VMware Web API クライアント コードを使用可能なオブジェクトにコンパイルする際の問題
「ServiceContent」オブジェクトのフィールドを単純に取得するために、VMware の Webアプリケーション APIを使用しています。これを実現する方法の例がvmware フォーラムにあります。そこに含まれる例は問題なくコンパイルされますが、単純な例を実行するとセグメンテーション違反が発生します。具体的には、トレースは soap_serializeheader() 関数に戻ります (これらは stdsoap2.cpp で定義されていると思います)。私の問題は、この segfault を回避する方法がわからず、なぜこれが発生しているのかわからないことです (ほぼ一語一句例に従っているため). OS X ツール チェーン (gcc バージョン 4.0.1 (Apple Inc. ビルド 5465)) と (gsoap リリース 2.7.16) を組み合わせて使用しています。gsoap 2.8 を試しましたが、同じ結果が得られました。以下は、私が今いる場所にたどり着くまでに使用した手順です。
これらは、wsdl を解析するために使用したコマンドです。
これが解析されたら、次のコマンドを使用してコンパイルしました。
これにより、ファイル vspC.cpp、vspClient.cpp、および vspVimBindingProxy.cpp が生成されます。内部的には、これらのファイルは関数に対して同じプレフィックス (ns1/ns2 など) を持っているため、私の呼び出しは例のものと同じです。
これは、vspC.cpp と vspClient.cpp をコンパイルするために使用しているコマンドです。
これは、stdsoap2.cpp をコンパイルするために使用するコマンドです (-DWITH_NONAMESPACES を使用してコンパイルしない場合、すべてをリンクすると、未定義のシンボル "_namepspaces" に関するエラーが発生します)。
次に、すべてをテスト コードと一緒にリンクします (ここでも、作成したファイルを正しく参照するように変更しただけで、例からほぼ同じようにコピーされます)。
これは正しくコンパイルされますが、もちろん実行に失敗します。このvmware フォーラムの投稿で、同じく問題を抱えていた OS X ユーザーについて読みました。gsoapガイドには、stdsoap2.cpp のヘッダーとエラーのシリアル化コードは使用できないため、個別にコンパイルする必要があると書かれているようです。OS Xの投稿のユーザーはこれを行ったようですが、それらをテストファイルに組み込む方法がわかりません(彼は空のenv.hファイルを作成し、soap2cppでコンパイルします)-envH.hを含める場合ファイル vspH.h との名前の競合について取得します。したがって、2 番目の質問は、soap2cpp を使用してすべてのスタブを正しくコンパイルし、名前空間の競合が発生しないようにする方法です(これが発生しているように見えます)。
ユーザー stumpr による最初のvwmare フォーラム リンクに表示されるため、ソースは提供しません。問題がソースにあるとは思いませんが、g++ でのコンパイル中に wsdl2h、soap2cpp、またはフラグの不適切な組み合わせを使用した方法に問題があります。
ご覧いただきありがとうございます。誰かが問題を解決できることを願っています。
編集私はこれを解決したかもしれないと思います-64ビットシステム(およびより多くのメモリを備えたシステム)を使用することにより。X.6 で -m32 を指定してコンパイルしようとしましたが、実行できませんでした (メモリの問題について不平を言っています)。
うまくいけば、誰かがこれに出くわし、答えを知って喜んでくれるでしょう.
c++ - gSOAPは、要求が終了した後、オブジェクト内の参照値を削除します
gSOAPを使用してSOAPWebサービスに情報を要求しています
SOAPWebサービスはオブジェクトを返します。「dataconnector」という呼び出しでリクエストを実行します
dataconnectorでは、返されたオブジェクトのすべての値を出力できますが、それ以外では、オブジェクト内のすべての参照値はnullです。
私はいくつかの検索を行いましたが、soap_unlink()を使用して割り当て解除チェーンから削除しない限り、gSOAPはすべてを削除します。
私は試しましたが、これは私のコードではありませんでした
私が間違っていることについてのアイデアはありますか?
編集
nvmは、オブジェクトの個別の値をすべてリンク解除する必要があります。
このような:
もっと簡単な方法はありませんか?
c++ - VMWare ESX/ESXi の CPU 使用率
Visual Studio 2010 と (ネイティブ) C++ を使用して、VMWare ホストの全体的な CPU 使用率と、実行中の各 VM の CPU 使用率を抽出しようとしています。
gSoap を使用して C++ インターフェイスを構築する VMWare Webservice SDK 4.1 を調べましたが、現実的な代替手段としては遅くて不格好です (結果の cpp ファイルはコンパイルに 4 時間かかり、最終的に 70 MB のバイナリになります。 1 回の呼び出しの実行に数分もかからない場合)。
代替ソリューション/sdk に関するヒントはありますか?
c++ - 名前空間への未定義の参照 - gsoap エラー
私はubuntu
、c++
コードで働いています。
gsoap
とを使用して、
とファイルの作成に成功しました。I and their files の場合、次のエラーが表示されます。wsdl2h -o header.h
http://link1 http://link2
.h
.cpp
.xml
#include proxy1.h
#include proxy2.h
nmsp
このエラーを解決するにはどうすればよいですか? 使用する場合: stdsoap2 -i -C -Iimport header.h
URL ごとに異なる名前空間を指定できませんか? stdsoap.cpp
コードをコンパイルするときに使用されることを言及したいと思います。名前空間ではstdsoap
、名前空間と呼ばれます。
どうも
gsoap - この gSoap 障害メッセージはどういう意味ですか?
gSoap を使用して Web サービスと通信しています。Qt を使用して、gSoap を使用するアプリケーションを作成しています。一部の通話で次の障害メッセージが表示されます
SOAP 1.1 エラー: "http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher":DeserializationFailed[サブコードなし] "メッセージを逆シリアル化しようとしているときに、フォーマッタが例外をスローしました: 要求本文の逆シリアル化でエラーが発生しました操作 'GetPendingCommands' のメッセージ。予期しないファイルの終わりです。次の要素が閉じていません: 本文、封筒。2 行目、位置 459。 "
サービスの何が問題なのか説明してもらえますか?
ありがとう
Dパテル
c++ - C++gSOAPで生成されたクラスでSSLを使用する方法
C ++でgsoapライブラリを使用する必要があり、httpsを使用する必要があります。ドキュメントには、CでHTTPSを使用する方法が記載されていますが、C ++では使用できません(http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.20)。特に、関数の計算エラーがありsoap_ssl_init();
ます。/ usr / lib / libgsoap *ファイルを調べて、ligsoapssl ++。aファイルを見つけ、それに対してリンクしました。このエラーはなくなりましたが、取得しerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ます。つまりsoap_ssl_client_context
、funcを呼び出す必要がありますが、C++で生成されたクラスにはありません。私は何をすべきか?
UPD:私はこの問題を自分で解決しました。しかし、それは風変わりで、非常に風変わりな方法です。gSOAPは、structsoapから継承されたC++クラスを生成します。これには、次の属性が含まれています。
そのため、OpenSSLライブラリのように必要な属性(フラグ、パラメータ)を自分で設定できます。soap_ssl_init()
単純なケースでは、一度呼び出して設定するだけで十分ssl_flags = SOAP_SSL_NO_AUTHENTICATION
です。わたしにはできる。誰かがより良い方法を知っているなら、私は見てうれしいです。
linux - gsoap++ リンク エラー
gsoap++ ライブラリを使用して SOAP クライアントを作成しました。これをスタンドアロンのテストアプリとしてコンパイルすると、問題なくコンパイルされましたが、プロジェクトに含まれるこれらのクラスをコンパイルしようとすると、多くのリンクエラーが発生します:
等々。コードブロックでは、リンクが罰金を科されました...これが私のMakefileです:
必要なすべてのライブラリ ( ) に対してリンクし-lgsoapssl++ -lssl -lcrypto
、これらのライブラリの要求関数をチェックアウトしました。
図書館にもあります。それで、どんな問題ですか?