問題タブ [soap]

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 投票する
2 に答える
765 参照

java - Java 以外のクライアントで名前空間 java: への参照を含む WSDL を解釈するにはどうすればよいですか?

Apache Axis で実行されている SOAP Web サービスに対して統合しようとしています。WSDL は、次のような URI で名前空間を指定します。

クライアント側では PHP を使用しているため、名前空間xmlns:stnsは意味がありません。この名前空間に対応していると思われる Java クラス ファイル (およびそのソース) がいくつかあります。これを意味のある方法で処理するにはどうすればよいですか?

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

.net - DateTime が SOAP xsd:dateTime 要素にゾーン オフセットを含めないようにするにはどうすればよいですか?

私はいくつかのWSDLにこれを持っています:

その結果、SOAP エンベロープに次のテキストが表示されます。

ミリ秒とゾーン オフセットがあるのは一部の時間だけです。この例では 37 分 54 秒の範囲を取得しようとしているため、頭痛の種になりますが、オフセットのために 4 時間 37 分 54.65625 秒になってしまいます。これは DateTime の何らかの丸め誤差ですか? これを防ぐにはどうすればよいですか?

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

asp.net - クラシック ASP での SOAP の活用

明確化: これは、ページに対するユーザー エージェントの呼び出しに関するものではなく、ASP.NET を呼び出す従来の ASP に関するものです。

Classic ASP から ASP.NET への移行の途中にあるアプリケーションがあります。50 万行のコードがあるため、すべてを一度に完全に書き直すことは、まったく妥当ではありません。または、Classic ASP ページの大部分が問題なく動作することを考えると、率直に言って賢明ではありません。「かっこいい」という理由だけでなく、ページや機能が改訂のために出てきたときに翻訳します。

ページの約半分が変換されたので、重要な機能の一部を ASP.NET に移行しました。この機能の従来のバージョンを維持する代わりに (つまり、1 つではなく 2 つの場所を維持する必要があります)、SOAP を使用してこの機能を公開する方向に進んでいます。

ええと...そうではありません。代わりに、以前は「貧乏人の SOAP」と呼んでいたものを使用していますが、今日では REST と呼ぶのが流行になっています。ServerXMLHTTP を使用して宛先ページに接続し、XML のボールをまとめて ASP.NET 側に POST しています。その結果、いくつかの XML をまとめ、XPATH を使用してそれを変数に分解しました。

これらすべてが驚くほどうまく機能します。ただし、組み込みの ASP.NET SOAP 機能を検討しています。これにより、クロス プラットフォームの呼び出し用にランディング ページをカスタムで作成する必要がなくなるように思われます...減価償却された SOAP ツールキット。

質問は; この種のセットアップの経験がある人はいますか? もしそうなら、カスタム REST ページや Soap Toolkit よりも良い方法はありますか? より多くの ASP.NET 機能をより迅速に公開できれば、移行に役立つと思いますが、Soap Toolkit のようなレガシー テクノロジに不必要に取り込まれたくはありません。

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

c++ - ISAPI webapp と統合する SOAP ライブラリの選択

私が働いている会社には、ISAPI 拡張機能 (フィルターではない) として C++ で書かれた大規模な webapp があります。現在、SOAP インターフェイスを備えたいくつかのサードパーティ ツールと統合するために、システムを強化しています。独自に開発するよりも、SOAP ライブラリを使用した方がよいと思います。理想的には、それは無料でオープン ソースですが、クローズド ソースの商用ソフトウェアと互換性のあるライセンスが必要です。また、SOAP メッセージの着信と発信の両方で SSL をサポートする必要があります。

私が持っている最大の懸念の 1 つは、私が調べたすべての SOAP ライブラリに、スタンドアロン サーバーとサーバー モジュール (Apache モジュールまたは ISAPI フィルターのいずれか) という 2 つの操作モードがあるように見えることです。明らかに、スタンドアロン サーバーは使用できません。モジュールとして実行されている場合、それは私のアプリの一部ではないように思えます-残りのコードにアクセスできないため、データ構造などを共有できません. それは正しい仮定ですか? アプリによって処理される各 HTTP リクエストは、個別のスレッド (独自のスレッド プールを管理します) によって処理されますが、これらのスレッド間で共有される多くの永続データがあります。私が探している統合のタイプは、リクエスト URL を見て、SOAP サービスにアクセスしようとしていることを確認し、soapService のような関数を呼び出すコードをアプリに追加することだと思います。handleRequest()。この種の統合を提供するものは何も知りません。SOAP ハンドラー関数でメイン アプリのデータ構造を利用できる必要があります。

受信する SOAP リクエストを処理するだけでなく、それらを生成します (サードパーティとの双方向通信)。ほぼすべての SOAP ライブラリがその目的を果たしていると思いますよね?

これが可能な SOAP ライブラリを提案したり、別のパラダイムの使用方法を提案したりできる人はいますか? 私は既に Apache Axis2、gSOAP、AlchemySOAP を見てきましたが、おそらくこれらには見落としていた機能がいくつかあります。ありがとう。

0 投票する
5 に答える
49106 参照

c# - SOAP 応答にアクセスするにはどうすればよいですか

(ここで明確化/詳細が必要な場合はお知らせください。)

SOAP を使用してサードパーティの Web サービスとやり取りするアプリケーション (C#、2.* フレームワーク) があります。提供された WSDL に対して thinktecture の WSCF アドインを使用して、クライアント側の実装を作成しました。私の手に負えない理由により、SOAP メッセージ交換はセキュリティのために WSE2.0 を使用します (Thinctecture の実装を変更して、WSE2.0 参照を含める必要がありました)。「通常の」データ パッケージに加えて、保存されている X509 証明書と、別の Web サービスへの以前の呼び出しからのバイナリ セキュリティ トークンを添付します。ある種の SSL 暗号化を使用しています - 詳細はわかりません。

必要なすべてのシリアライゼーション/デシリアライゼーションは Web サービス クライアントに含まれています。つまり、クライアントを呼び出した後に制御が返されたときに、SOAP 応答に含まれる XML 文字列全体を利用できず、デシリアライズされたコンポーネントだけを使用できます。誤解しないでほしいのですが、自分でやる必要がないということなので、これは良いことだと思います。

ただし、保存/アーカイブする価値のあるものを得るには、ルート要素でデータを再シリアル化する必要があります。私の結果はSOAP応答にあったので、これはリソースの無駄のようです。

ここで私の質問: ストレージ/アーカイブのためにすべてを再シリアル化する必要がないように、SOAP 応答の「クリア」バージョンにアクセスするにはどうすればよいですか?

編集 - 私のアプリケーションは、WebsphereMQ クライアント トリガー モニターによってトリガーされる、ネットワーク サービスとして実行される「フォームレス」Windows アプリです。ASP.NET ソリューションは適用されないと思います。

編集 - これまでのところ、私のアプリが ASP.NET であるかどうかは問題ではないというコンセンサスがあるため、CodeMelt (および Chris の拡張) のソリューションを試してみます。

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

c++ - ATL C++ クライアントから Axis2 Web サービスを呼び出す

Tomcat5.5 で Axis2 を使用して発行された単純な POJO Web サービスがあり、ATL C++ クライアントでそれを使用しようとすると失敗します。C# クライアントで同じことをするとうまくいきます。問題は、ATL クライアントが次のような SOAP 本体を送信することです。

真ん中の無効な要素に注目してください。C#はヘッダーを送信するため、UTF-8と関係があると思われます

ATL クライアントはそうではありません。また、ATL SOAP 内部の一部を調べると、構造体に szName と szwName の 2 つのメンバーがあることに気付きました。1 つ目は空で要素を生成し、2 つ目は testResponse という有効な (?) 名前を持っています (呼び出しているメソッドは「test」と呼ばれます)。

ここからどこへ行くべきかアドバイスが必要ですか?

詳細: ATL クライアントからの完全なメッセージ:

Axis2 からの応答:

ああ、これが C# クライアントからの適切な要求です。

C# の場合、soap:body は空白です。

0 投票する
5 に答える
10018 参照

http - HTTP POST の使用時に URL でパラメーターを渡す

POST メソッドを使用する場合、URL (疑問符の後) を介して Web ページにパラメーターを渡すことはできますか? 私の会社のwebappが頻繁にそれを行うので、それが機能することは知っていますが、実際に標準でサポートされているかどうか、またはこの動作に依存できるかどうかはわかりません。疑問符の後にパラメーターを使用して、それが SOAP 要求であり、通常の HTTP 要求ではないことを示す SOAP 要求ハンドラーの実装を検討しています。この理由は、webapp が IIS 拡張機能であるため、すべてが同じ URL (例: example.com/myisapi.dll?command) を介してアクセスされるため、SOAP 要求を処理するには、「コマンド」パラメータ。SOAP 用の汎用コマンドが 1 つあります。

基本的に、Apache Axis2/C ライブラリを webapp に統合しようとしています。これは、webapp に HTTP 要求を処理させ、受信 SOAP XML を Axis2 に渡して、それが SOAP 要求である場合に処理させます。さまざまなコンポーネントに関する限り、投稿先の URL は単なる任意の URL であるため、直観的には、これが機能しない理由はわかりません... に特別な意味を与えるのはサーバーですクエスチョンマークの後の部分。

あなたが提供できる助け/洞察に感謝します。

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

javascript - SOAP - Google マップと Javascript - Web サービスへの接続

JavaScript を使用して asmx Web サービスに接続する必要があります。Web サービスは SOAP 応答を受け入れて返します。javascriptを使用してWebサービスに接続する方法のサンプルコードを探しています。緯度と経度の詳細を返します。これを使用して、Google マップにマーカーをプロットします。クロスドメインスクリプティングの問題もあります...

石鹸応答の例を提供する必要がありますか?

ありがとう。

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

python - Python と SOAPpy を使用して WSDL を生成する

まず最初に、私は Web サービスの初心者であることを認めますが、HTML と基本的な Web の機能には精通しています。Python を使用して、MySQL データベース内のストアド プロシージャを呼び出し、単純に BIGINT 値を返す簡単な Web サービスを作成しました。この値を Web サービスで返し、Web 開発者に提供できる WSDL を生成したいと考えています。ストアド プロシージャは 1 つの値しか返さないことを付け加えておきます。

コード例を次に示します。

私は Web 関係者に提供できる WSDL を生成したいと考えています。また、SOAPpy で WSDL を生成するだけでよいのではないかと考えています。これは可能ですか?

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

.net - PHPを使用したWCFoverHTTPSは、「メソッドが許可されていません」という例外をスローします

常にHTTPS経由で使用することを目的とした.NETWCFサービスを作成しました。最初にサービススケルトンを作成してHTTPで実行したときは、正常に機能していました。PHP5を使用して、組み込みのSOAP関数との相互運用性をテストしました。ただし、HTTPSに切り替えた後、PHPから関数を呼び出そうとすると、「MethodNotAllowed」というメッセージと「http」の障害コードで障害が返されます。ただし、メソッドのリストを取得することはできます。メソッド「Test」を呼び出すとエラーが発生します。

WCFの構成は次のとおりです。

そして、これがPHPがそれをどのように呼んでいるかです:

テストに自己署名SSL証明書を使用していますが、PHPに信頼できる証明書が必要だとは思いません。

私は何が間違っているのですか?