問題タブ [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.

0 投票する
1 に答える
1184 参照

c++ - gSoap、c++、クライアント アプリケーションで soapStub 宣言された引数を渡す方法

次の抜粋を含むプロジェクトは、gsoap で生成された c バインディングを使用するクライアント アプリケーションです ( gsoap - www.cs.fsu.edu/~engelen/soap.html )。プロジェクトは正常にビルドされますが、以下に示すメイン関数の行で中断します。

プロジェクト ヘッダー ファイルで次のように定義されています。

付属の .cpp ファイルで次のように定義されます。

main()で、読みやすくするためにサービスを宣言します。

これが私のmain.cppです

文字列を pInput に割り当てる際に私が間違っていることを知っている人はいますか?

ありがとう

0 投票する
3 に答える
3176 参照

c++ - gSoap: Webサービスアプリケーションを正常にシャットダウンする方法は?

gSoap を使用して Web サービスを作成しています。コンソール アプリケーションとして実行されます。私が見るすべてのgSoapの例では、リクエストはマルチスレッドバージョンでも for(;;;) のような無限ループでディスパッチされます。

しかし、たとえばユーザーがコンソールのスペースを押したときに、Web サービスを正常に終了させるにはどうすればよいでしょうか?

好ましい:

  1. 新しい接続の受け入れを停止します。
  2. 既存のものを提供します。
  3. アプリケーションを終了する
0 投票する
1 に答える
1303 参照

c++ - soapcpp2 バージョン 2.8.1 で欠落しているファイル

SOAP を使用して組み込みデバイスである SmartServer と通信する必要があるアプリケーションがあります。受け入れる SOAP メッセージには名前空間がありませんが、gSAOP はそれらを名前空間とともに送信します。したがって、それらは次のようになります。

これの代わりに:

最初に WSDL および XSD ファイルの修飾を非修飾に変更してから、ファイルを再生成し、非修飾を修飾に変更してみました。しかし、私が得た最高のものは

どちらの方が見栄えが良いですが、それでもリストには名前空間があります。

するとSOAP_XML_DEFAULTNSオプションを使わなければいけないというサイトを見つけたのでやってみましたこれは最初はうまくいきませんでしたが、2.7.9l-0.2 (Debian の標準バージョン) の代わりにバージョン 2.8.1 を使用する必要があることがわかりました。そこで、Debian バージョンをアンインストールし、2.8.1 をダウンロードしてファイルをコピーしました。しかし、soapcpp2 でファイルを生成しようとすると、soapClient.cpp、soapClientLib.cpp、soapProxy.h、および多くの *.req.xml および *.res.xml ファイルが見つかりません。プロジェクトをコンパイルするには、soapClient.cpp ファイルが特に必要です。

INSTALL.txt で説明されているように、 gsoap/bin ディレクトリから標準バイナリを試し、 gsoap ディレクトリから src および wsdl ファイルを再構築しましたが、どれも思い通りに動作しません。

誰かが私をもう少し助けてくれますか?

問題がある場合、私は Debian Linux バージョン 5.0.8 (Lenny、古い安定版) 32 ビットを使用しています。

0 投票する
1 に答える
4820 参照

c++ - gSOAP名前空間プレフィックスの問題

何人かの人がこの質問をしているのに気づきましたが、満足のいく答えを見つけることができませんでした。gSOAPを使用して、wsdlドキュメントからc++スタブを作成しています。問題は、soapメッセージを送信するときにgSOAPが名前空間の前にsoapメソッド名を付けることです。たとえば、送信<ns2:Inform></ns2:Inform>する必要があるときに送信します<Inform></Inform>

誰かがこの問題を解決する方法を知っていますか?

編集:

私はc ++プロキシバージョンを使用しているため、以下で選択した回答は最初は機能しませんでしたが、次のコードを使用してサービスオブジェクトを作成するだけでした。

exampleSOAPProxy service=exampleSOAPProxy(SOAP_XML_DEFAULTNS,SOAP_XML_DEFAULTNS);SOAP_XML_DEFAULTNSは、要素から名前空間プレフィックスを削除し、各要素に名前空間を明示的に追加するだけで、実際にはすべてにデフォルトの名前空間を使用しないため、紛らわしい名前です。

アプリケーションをコンパイルするときに、コンパイル/リンクステートメントに-DWITH_SOAPDEFS_Hを追加する必要がありました。-DWITH_SOAPDEFS_Hフラグを設定するとインポートされるため、/ usr / local /include/にsoapdefs.hというファイルを作成する必要があることに注意してください。stdsoap2.hにインクルードと宣言を追加するために使用する単なるヘッダーファイル

0 投票する
1 に答える
2336 参照

c - gsoap ANSI C - gsoap 定義の ANSI C クライアント側呼び出しスタブを正しく使用する

gsoap の使用は初めてです。私は c++ のみを使用して 4 つの小さな成功を収めましたが、現在のプロジェクトでは、純粋な ANSI C (c++ ではない) を作成するためのソース コード生成オプションを設定する必要があります。サービスを正常に呼び出すことができないようです。エラー リターンは 0xC0000005 であり、次のコード スニペットが与えられた場合、私が別の方法で行うべきことについて誰かが提案できます:

スニペットには、
1. クライアント側関数の定義、
2. ns7 構造体の定義、
3. 簡単な呼び出しアプリケーションが含まれます:
ありがとうございます。

クライアント側の呼び出しは次のとおりです。

ns7 構造は次のとおりです。

以下は、クライアント側呼び出しを使用した単純なアプリケーション呼び出しサービスです。

0 投票する
1 に答える
4368 参照

web-services - Ubuntu で gSOAP Web サービスをデプロイする方法は?

Ubuntu での Web サービスの展開について疑問があります。これは gSOAP を使用して実装されており、展開する必要があります。たとえば、Web サイト (たとえば ASP .NET で開発されたもの) からアクセスできるようにする必要があります。

CGI、Ubuntu、Apache のトピック全体に混乱してしまいました。これまで、ASP .NET で Web サービスを実装し、それを Microsoft ISS に展開することができました。それ以外にも、ASP .NET を使用して、WSDL で記述された gSOAP Web サービスにアクセスできます。

独自の Web サービスをデプロイする手順は? より具体的な質問がいくつかあります。

  1. WS を CGI としてコンパイルする必要がありますか?
  2. Apache を Ubuntu にインストールする必要がありますか? それともサービスが既に有効になっていますか?
  3. どの特定のディレクトリに、WS コンパイルから生成されたコードを配置する必要がありますか ("CGI" だと思います)。

私は、gSOAP と「Web サービスの世界」全体、特に Ubuntu に関してはまったくの初心者です...

事前にどうもありがとうございました!

0 投票する
2 に答える
3878 参照

qt - Win7でgsoapとQt4.6を使用してサンプルアプリケーションをコンパイルする

gsoapのWebサイトで説明されているcalcの例をコンパイルしようとしていますが、成功しません。これが私の.proファイルの外観です。

アプリケーションをコンパイルすると、93個の未定義の参照が取得されます。以下はそれらのいくつかです

ネットワークライブラリが不足しているようです。誰かが私がこの例をコンパイルするのを手伝ってくれませんか。

ありがとう。

0 投票する
1 に答える
906 参照

gsoap - gsoapを理解しようとしています

gsoapを使用して最初のWebサービスクライアントを作成しています。gsoapで提供されているcalcの例を実行することができました。

現在、WCFWebサービスからStringGetData()関数にアクセスしようとしています。wsdl2hとsoapcpp2の手順を実行し、.hファイルを生成しました。xxxxproxy.hでは、GetDataのプロトタイプは次のとおりです。

ありがとう。

0 投票する
1 に答える
5507 参照

multithreading - マルチスレッド gSOAP サービス

スタブ/スケルトン コンパイラがスレッド化されたサービスを生成する方法はありますか (つまり、要求ごとにスレッドを生成するか、スレッド プーリングによって)、または手動で soap_copy()、pthread_create() を追加する必要がありますか?

FAQ とユーザー ガイド 7.2.4 によると、gSOAP はスレッド セーフであり、マルチスレッド サービスをサポートしています。ただし、soapcpp2 -i フラグを使用すると、最終的には

ヒントはありますか?

0 投票する
1 に答える
5316 参照

c - gSoap-サービス呼び出しはSOAP_OKで返されますが、構造体は初期化されていません

これは、ヌルポインタの問題の逆参照です-ANSICドメインとgSoapドメインの両方で:

私は次のパブリックWSDLを使用しています:

そしてsoapUIを使用してその動作をテストしました。
wsdl2hおよびsoapcpp2ユーティリティを使用して、クライアント側のみのANSICバインディングを作成しました。

問題:

以前のgsoapプロジェクトでは、クライアントのsoap_call関数(5番目の引数)の結果構造には、次のようなもの以外の初期化は必要ありませんでした。

このプロジェクトまで、これは常に十分でした。
クライアントsoap_callは次のようになります。

pInこのプロジェクトでは、「us」や「nz」などchar *の2文字のIANAコードが入力されたとして定義されます。pOutこの特定の呼び出しの戻り構造は、次のような形になっています。

このns1__CountryDataような形で:

したがって、アプリケーションからのこの関数の呼び出しは、次のように設定されます。

エラーは、nullポインタpO->countryinfoの間接参照として発生します

GetCountryInfoはここで定義されます:

同様の出力構造形状を使用する他のgSoapプロジェクト(つまり、char *を含む構造を含む構造)は、上記で示したもの以外で初期化すると、完全に入力された結果を返しました。

何か案は?詳細をお知らせいただければお知らせください。ありがとう。