問題タブ [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.
soap - gsoap - SOAP ヘッダーの WS-Addressing 要素
Soap ヘッダーに WS Addressing を追加する必要があります (gsoap フレームワークを使用しています)。それを自動的に追加する方法はありますか?gsoap のドキュメントを調べましたが、それに関する情報は見つかりませんでした。そのため、以下に示すように、SOAP_ENV_Header に WS-Addressing を手動で追加しました。
しかし、wsdl/xsd ファイルから自動生成される他の構造体を Soap ヘッダーに追加する必要があるため、自動的に生成したいと考えています。
ありがとう
web-services - WCF と gSOAP - 相互運用可能なコード?
SOAP 1.2 プロトコルを使用して、単純な WCF サーバー + gSOAP クライアントの概念実証アプリケーションを作成しようとしています。サーバーコードは次のとおりです。
次に、サービスを起動し、次のコマンドを使用してコードを生成します。
次に、次の C++ コードをコンパイルします。
これにより、エラー 8 (SOAP_MUSTUNDERSTAND) が生成されます。作業中の WCF から gSOAP へのリンクを生成した人はいますか? 私は何を間違っていますか?
xml - WSDL への準拠とパフォーマンスを考慮して、gsoap で配列を実行する最良の方法
私は gsoap を使用して XML SOAP パーサーと WSDL 文法を生成していますが、解析が高速で、すべての検証テスト (Eclipse WSDL Validator など) に合格する対応する WSDL を生成する静的配列を表現するための推奨される方法を知りたいまたは NetBeans Validate XML)。
この入力を gsoap に使用すると、次のようになります。
この結果の WSDL を取得します (definitions/types/schema タグ内):
これを NetBeans の「Validate XML」で実行すると、次のエラーが発生します。
- エラー: src-resolve: 名前 'SOAP-ENC:Array' を (n) 'type definition' コンポーネントに解決できません。
Eclipse WSDL Validator は、次の 2 つのエラーを返します。
- WS-I: (BP2108) Array 宣言で soapenc:Array 型が使用 (制限または拡張) されているか、wsdl:arrayType 属性が型宣言で使用されています。
- WS-I: (BP2122) wsdl:types 要素に、XML スキーマ定義ではないデータ型定義が含まれていました。
gsoap コードを変更して動的配列を次のように定義することで、これらのエラーをクリーンアップできます。
(対応する WSDL を使用:)
しかし、静的配列を使用することによるパフォーマンスの向上を失ってしまいました。コンプライアンスを維持しながらパフォーマンスを維持する別の方法はありますか?
c++ - gSOAP サーバーのテスト
通常のクライアント/サーバー設計では、クライアントはサーバー側に実装された機能を実行できます。追加のクライアントを接続して gSOAP サーバーをテストすることは可能ですか?
soap - どこで gSOAP を使用しましたか?
gSOAP をどのように使用したか、既存のアーキテクチャにどのように統合されたか、例を挙げていただけますか? gSOAP で開発のボトルネックを見つけましたか?
web-services - Web サービス ポート 質問なし
gsoap を使用して Web サービス プロジェクトに取り組んでいます。私は Web サービスに不慣れで、いくつかの基本的な質問があります。
ポート番号は何ですか。私のWebサービスの?現在、この Web サービスは、ハードコーディングされたポート番号をリッスンするスタンドアロン サービスです。クライアントはこのポートに接続し、すべて正常に動作します。このアプローチは大丈夫ですか?このアプローチの長所/短所は何ですか?
または、Web サービスを Apache Web サーバーのプラグインにする必要がありますか? その場合、どのように機能しますか?Apache httpd はポート 80 でリッスンするため、クライアントはこのポートにリクエストを送信します。では、リクエストはどのように Web サービスにルーティングされるのでしょうか?
これらに関する適切なオンライン リソースは見つかりませんでした。どんな指針も素晴らしいでしょう。
xml - gsoap クラス生成の問題
JIRA 課題追跡システム WSDL の gsoap クラスを生成しようとしています。次のコマンドを実行して、必要なクラスを生成します。
soapcpp2 コマンドを実行すると、次の出力が得られますが、修正方法は示されません。
これらは(ほとんどの)エラーです:
JIRASoap.h の関連部分 (928 ~ 947 行目) は次のとおりです。
プログラムをコンパイルしようとすると、次のエラーが発生します。
soapStub.h:2799: エラー: ISO C++ は型のない 'ArrayOf_USCORExsd_USCOREbase64Binary' の宣言を禁止します
WSDL の関連セクションは次のとおりです。
私が知る限り、ほとんどの型は soapStub.h で定義されていますが、ArrayOf_USCORExsd_USCOREbase64Binary は定義されていません。
C のみのファイルを生成すると、「ArrayOf_USCORExsd_USCOREbase64Binary」ではなく「struct /*?*/」が表示されます。
c++ - WS-Securityを使用したSOAPWebサービスへのVS2003/ C ++アクセスにgSOAPを使用しますか?
C ++ / VS 2003でのみ拡張可能な古いプラットフォームが、WS-Securityを使用するSOAPベースのWebサービスを呼び出すことができるようにするプロジェクトが予定されています。
私のGoogleの調査によると、gSOAPが最善の方法である可能性があります。
検証や代替案を探しています。
c++ - ネットワークプログラミング:XMLライブラリを使用したSOAPとDIYのマーシャリング?
私は、SOAP、肥大化、XML、およびRESTのような代替メカニズムについてSOについてすでに多くの議論があることを知っています。
これが状況です。新しいチームメンバーは、プロトコルを手動で実装することの難しさに基づいて、SOAPについて実際に話し合っています。彼はgSOAPを推奨しています(プロジェクトはすべてC ++です)。彼は、WSDLが多くの厄介な手書きのC++をクリーンアップするようなことを述べています。
現在、私はXMLベースのテキストメッセージとexpatXMLライブラリを使用してほとんどのネットワークを処理しています。そのため、メッセージ形式の変更やパラメータリストへの追加に関連するプログラミング作業(それほど多くはありません)があります。送信者側で、XML要求をパッケージ化し、それを単純な古いTCPソケットを介して送信します。受信者では、DOMまたはSAXを使用してXMLを解析します。などこれまでは問題なく動作しました。XMLメッセージは非常にコンパクトで、平均して最大で数百文字です。そして、私はそれらのメッセージのすべての項目を理解しています。
PHPを使用してコード化されたWebサイトから製品の一部(サーバー)にアクセスできるようにする必要があります。これは、SOAPインターフェイスがスクリプト作成者にとって「より簡単」になるというこの考えを部分的に推進しています。このプロジェクトの誰もがSOAPが彼らの救いであると信じています。
gSOAPのような新しい大規模なライブラリの導入は、成熟したプロジェクトの勢いを大きく損なうものだと思います。
私が疑問に思っているのは、SOAPが提供するものを実行するための別のよりコンパクトな方法があるかどうかです。そして、gSOAPまたは他のSOAPツールの主張のバランスを取り、ハードリアリティに対して開発作業を容易にする方法。
IE、XMLライブラリを使用してC ++を手動でコーディングするよりも、WSDLの方が優れていて、簡単で、より巧妙であると言われています。C++オブジェクトのセマンティクスをネットワークメッセージの宣言に直接配置すること。重要なのは、私が定義したXMLメッセージの多くは、受信側で1対1を1つの別個のオブジェクトにマップしないということです。
または、何も心配していない可能性があります。
しかし、ここでメッセージをスキャンするときの現実は、私が地元で言われたことと矛盾しているようです。
soap - gSOAPによって生成されたWSDLファイルはどこにありますか
gSOAP / 2.7で実行されているWebサービスのURLを受け取りました(HTTPヘッダーから決定)。問題は、WSDLファイルが提供されなかったことです。サービスアドレスがhttp://www.host.com/の場合、WSDLを探す必要があるデフォルトのURLは誰でも知っています。