問題タブ [webservices-client]
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.
java - クライアントが外部 Web サービスと通信するための SOAP メッセージを表示する必要がある - 方法は? (Eclipse/Netbeans/IDEA OK)
非常にうるさい外部 Web サービス (https 経由) に対して Java でクライアントを作成する必要があり、Eclipse Java EE の Web サービス エクスプローラーを介して Web サービスと通信できます。
残念ながら、クライアントに適切に質問させることができないので、SOAP メッセージが行き来するのを本当に見たいと思っています。Web サービスに慣れていないので、これはちょっとしたジャングルです。私は Eclipse に非常に精通しており、Netbeans と IntelliJ に時間を費やしてきました。
私は本当に、Metro スタックを使用することを本当に好みます。なぜなら、Metro スタックを使用すると、ストック Java 6 で実行でき、デプロイメントのサイズが重要になるからです。Metro にログを記録させたり、Eclipse や Netbeans の TCP/IP モニターを介して通信させたりする簡単な方法はありますか? Metro のドキュメントは、クライアントではなく、主に Web サービスの作成者を対象としているようです。
「ここに WSDL があります。トラフィックを確認できるクライアントを生成してください」というセットアップに関する提案はありますか?
c# - Web サービス プロキシ メソッドのアクセス修飾子が重要なのはなぜですか?
WSDL から生成された C# クライアントを使用して、外部 Web サービスへのインターフェイスを作成しています。そして、このクライアント クラスには、次のようなシグネチャを持つメソッドがあります
public ResponseType InvokeMethod(RequestType request)
。アクセス修飾子を に変更したいのですが、Web サービスが「Web サービス メソッド名が無効です」という例外protected
で応答します。なぜそうなのか知っていますか?メソッド名を維持することがいくつかの理由で重要であることは理解していますが、このアクセス修飾子を変更できないのはなぜですか? このメソッドにどのようなアクセス権を与えたいかは、私のコードの問題ではないでしょうか? 事前にすべての回答をありがとう。
asp.net - Web サービスの呼び出しが HTTP ステータス 400 Bad Request で失敗する
Web サービスを呼び出す Web アプリケーションでエラーが発生します。
'/zVersion2a' アプリケーションでサーバー エラーが発生しました。リクエストは HTTP ステータス 400: Bad Request で失敗しました。
これはWebサービス自体へのリンクです(これは機能します):
http://www.zipeee.com/Zipeeewebservice/
最初のページ読み込みで WS を呼び出す [本番] Web アプリへのリンクを次に示します。
これと同じ WS の呼び出しに失敗する [newVersion] Web アプリへのリンクは次のとおりです。
http://www.zipeee.com/zVersion2/
呼び出しページのソースは次のとおりです。
プロキシの Reference.vb のコードは次のとおりです。
最後に、 webserviceのコードは次のとおりです。
IIS 6.0 Windows 2003 を実行しているこの運用 Web サーバーでは、既定の Web サイト (Zipeee、zVersion2、ZipeeWebService) 内に 3 つの仮想ディレクトリがあります。
各仮想ディレクトリは、Web サーバーの c ドライブにある個別の物理ディレクトリを指します。製品 Zipeee と newVersion zVersion2 の両方が ProxyZipeeService.dll と呼ばれるプロキシ クラスを使用します。. メイン プロジェクトの Zipeee とそれに必要な Web サービスの公開には細心の注意を払ってきました。たとえば、Visual Studio2008 を使用する開発サーバーで、5 つのプロジェクト (webservice1、webservice2、primarywebapp (iezipeee)、proxyclassforWS1、proxyclassforWS2) をすべてビルドしてテストしました。これらすべての DLL の最新バージョンは、1.6 に選択されたアセンブリ バージョンでタグ付けされていました。それらはすべて私の開発マシンで動作し、WS1、WS2、および zipee をステージング サーバー (IIS 6.0) に発行しましたが、すべてそこで動作します。次に、上記の URL をホストしている公開サーバーに公開します。Web アプリの新しいバージョンは、c ドライブの個別のフォルダーに移動し、vDir zVersion2 によってポイントされます。動作するはずですが、この WS エラーのため、最初のページでさえレンダリングに失敗します。
zVersion2 の失敗を追跡しました (ページ読み込みイベントで webmethod GetMessageByType を呼び出し、すぐに失敗します)。ここにあります(それほど長くはありませんが、SO here でのフォーマットは少し面倒です):
System.Web.Services.Asmx 情報: 0 : XmlSerializer の呼び出し [XmlSerializer の作成] メソッド: System.Xml.Serialization.XmlSerializer#1669721556::FromMappings(System.Xml.Serialization.XmlMapping[]#40041277=[356], ProxyZipeeService. WSZipeee.Zipeee#50200644=ProxyZipeeService.WSZipeee.Zipeee) 呼び出し元: System.Web.Services.Protocols.SoapClientType#24827179::.ctor(ProxyZipeeService.WSZipeee.Zipeee#50200644=ProxyZipeeService.WSZipeee.Zipeee) ProcessStackId=1456 ThreadOperation =1 DateTime=2010-08-06T01:58:45.6541439Z Timestamp=47298006836 System.Web.Services.Asmx 情報: 0 : XmlSerializer からの戻り [XmlSerializer の作成] 呼び出し元: System.Web.Services.Protocols.SoapClientType#24827179:: .ctor(ProxyZipeeService.WSZipeee.Zipee#50200644=ProxyZipeeService.WSZipeee.Zipeee) ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:45.7791255Z Timestamp=47298376293 System.Web.Services.Asmx 情報: 0 : XmlSerializer の呼び出し [XmlSerializer の作成] メソッド: System.Xml.Serialization. XmlSerializer#1669721556::FromMappings(System.Xml.Serialization.XmlMapping[]#64844482=[160], ProxyEmergencyService.WSEmergency.Emergency#88831384=ProxyEmergencyService.WSEmergency.Emergency) 呼び出し元: System.Web.Services.Protocols.SoapClientType#46729429 ::.ctor(ProxyEmergencyService.WSEmergency.Emergency#88831384=ProxyEmergencyService.WSEmergency.Emergency) ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:45.8572390Z Timestamp=47298680452 System.Web.Services.Asmx 情報: 0 : XmlSerializer から戻る [XmlSerializer の作成] 呼び出し元:System.Web.Services.Protocols.SoapClientType#46729429::.ctor(ProxyEmergencyService.WSEmergency.Emergency#88831384=ProxyEmergencyService.WSEmergency.Emergency) ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:45.9353525Z Timestamp=47298924420 System.Web.Services.Asmx 情報: 0: XmlSerializer [書き込み要求] を呼び出しています メソッド: Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer192#13256970::Serialize(System.Xml.XmlTextWriter#52203868=.., System. Object[]#72766=[1], (null), (null)) 呼び出し元: ProxyZipeeService.WSZipeee.Zipee#654897::Serialize() ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58: 46.0915795Z Timestamp=47299598906 System.Web.Services.Asmx 情報: 0 : XmlSerializer からのリターン [書き込み要求] 発信者:ProxyZipeeeService.WSZipeee.Zipeee#654897::Serialize() ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp=47299606361 System.Web.Services.Asmx 情報: 0: WebRequest.GetResponse の呼び出しメソッド: System.Net.HttpWebRequest#5894079::GetResponse() 呼び出し元: ProxyZipeeService.WSZipeee.Zipee#654897::GetWebResponse() ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp= 47299607492WSZipeee.Zipeee#654897::GetWebResponse() ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp=47299607492WSZipeee.Zipeee#654897::GetWebResponse() ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp=47299607492 System.Web.Services.Asmx エラー: 0: ProxyZipeeService.WSZipeee.Zipeee#654897::GetWebResponse で例外がキャッチされました。 System.Net.WebException: リモート サーバーがエラーを返しました: (400) 要求が正しくありません。ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp=47299629487 System.Web.Services.Asmx エラー: 0: 例外の詳細: System.Net.WebException: リモート サーバーがエラーを返しました: (400不正な要求。System.Net.HttpWebRequest.GetResponse() で System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest 要求) ProcessId=1456 LogicalOperationStack= ThreadId=1 DateTime=2010-08-06T01:58:46.0915795Z Timestamp=47299654807 システム.Web.Services.Asmx 情報: 0: XmlSerializer の呼び出し [書き込み要求] メソッド: Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer192#13256970::Serialize(System.Xml.XmlTextWriter#53046711=.., System.
wcf - WCF クライアントとの接続
WCF .NET クライアントから Java ベースのサービスに接続しようとしています。サービスのアドレスはhttps://xxxxx:4444/myownserviceのようなものですhttps://servername:4444/myownservice/?WSDl で WSDL に正常にアクセスできます が、プロキシ クライアントを実行するとプロセスがタイムアウトし、このエラーメッセージが表示されました
「..... に接続できませんでした。TCP エラー コード 10060: 接続先が一定期間後に適切に応答しなかったため、接続の試行に失敗したか、接続されたホストが応答に失敗したため、確立された接続に失敗しました xxxxx:4444
xxxx はサーバー名です。
ポート番号を使用してサーバーに telnet しようとしましたが、telnet は失敗しました (サーバー名またはその IP アドレスを使用)。サーバーにpingできます。
私の質問は、 http://xxxxx:4444/servicename/?WSDLで wsdl を閲覧できる場合 、ポート 4444 が開いているということですか? または必ずしもそうではない
javascript - jsonp メモリ リーク
だから私は最近、ページを更新し、私が書いたjsonp Webサービスを呼び出すためにクロム拡張機能をセットアップしましたが、メモリリークがあります. 解決策を見つけるためにすべてのインターネットを検索しましたが、何も機能していないようです。「jsonp」を指定するプレーンな jQuery .ajax() 呼び出しを使用しました。http://code.google.com/p/jquery-jsonp/にある jquery-jsonp と、その他の多数のメソッドを使用しました。 ..メモリリークが消えません。誰かが私が探していることをする例を教えてくれますか、それとも正しい方向に向けてくれますか? スクリプトが常にjsonp呼び出しを呼び出し、メモリリークしないようにする必要があります。
私のコードを実行すると、このコードに到達するまでリークはありません:
そのコードを次のように置き換えるとcallback({ "d": "1", "pickCount": pickCount });
、リークはなくなります。
asp.net - パスワードを使用して webservice または aspx ページを呼び出すときのセキュリティ
次のようなWebサービスがあるかどうか疑問に思っています。
または次のようなページ
それらがデスクトップ アプリから呼び出された場合、より安全になります。私が読んだことから、スニファーはリクエストを読み取ってURLを把握できます。リクエストにパスワードを入れる前にパスワードをハッシュしていますが、誰かが params/query 文字列を含むリクエスト URL を見た場合、同じ値でリクエストを行うことができます!?
スニファがハッシュ化されたパスワードを割り出すのはどのくらい簡単ですか? パスワードとユーザー名を URL と Web サービスに入れる前に暗号化する必要がありますか? 他に選択肢はありますか?
データはそれほど機密ではありませんが、最小限のパフォーマンス コストで基本的なセキュリティが存在する必要があるため、質問しています。
注: SSL はオプションではありません
asp.net - asp.netアプリをGoogleアプリと統合できますか
IIS7ベースのWebサービスを使用して、GoogleAppsドメインに表示されるコンテンツを駆動しようとしています。「asp.netでGoogleガジェットを駆動するにはどうすればよいですか」と質問する方が生産的でしょうか。
vb.net - 異なるプラットフォーム間の非同期 Web サービス
VB.NET (2.0) で Web サービスを作成しています。クライアント側は、Java や Siebel などのさまざまなテクノロジーを使用します。では、非同期 Web サービスを記述した場合、異なるプラットフォームでそれらを使用することは可能でしょうか? コンシューマーが .NET プラットフォームを使用していれば非常に簡単であることはわかっていますが、プラットフォームが異なる場合はわかりません。非同期機能があれば十分ですか、それとも同様のプラットフォームにする必要がありますか?
blackberry - Blackberry アプリの Web サービス スタブ
私は現在、RPC 呼び出しを使用する概念実証の Blackberry アプリケーションを開発しています。また、送信された文字列にタイムスタンプを付けてクライアントに返す、.Net の非常に基本的なサーバー アプリケーションも開発しました。.Net クライアントと Java クライアントを使用してサーバー アプリに接続できたので、正しく動作することを確信しています。
Blackberry クライアント アプリケーションでは、Java Wireless Toolkit 2.5.2を使用して RPC 呼び出し用のスタブを生成しました。次に、基本的な Blackberry アプリでこれらの呼び出しを使用して、.Net および Java クライアントの結果を複製しようとしましたが、例外がスローされ続けました。スタブを正しく使用しているかどうかはわかりません。
現在、すべてをローカルで実行しています。サーバーは localhost として実行され、Blackberry アプリは Blackberry シミュレーターで実行されます。Blackberry ブラウザーを使用してサービスにアクセスできるかどうかを確認しましたが、ネットワーク接続に問題があるわけではありません。
スローされる例外は次のとおりです。
java.io.interruptedIOException: ~ 120000 後にローカル接続がタイムアウトしました
java - HttpsUrlConnection を再利用しています...毎回新しい接続を取得したくありません。どのように再利用しますか?
私が持っている証明書を使用して、安全な Web サービスを呼び出したい... サーバーが証明書で認証するのに長い時間がかかります。同じ「セッション」)、接続を再利用できるはずだと感じています。
次のコードがあります。
これはうまく機能します...しかし遅いです。認証だけで約10秒かかります。この内部認証はここでは一般的であり、高速化することはできません。でもなんとか再利用できないかな?
このコードの周りに、url.connection
と切断の間にループを配置しようとしましたが、何度でも思い出すことができると思っていましたが、失敗しました (500)。最初にコマンドの一部のみを実行するために、少し移動しようとしましたが、それでも失敗します。
キープアライブについて読みましたが、これが何であるか、およびその使用方法の良い例は見つかりませんでした (それが有効な方法でさえある場合)。HTML、Firefox、またはIEを介してこれらすべてを行うと、ブラウザは証明書をキャッシュできると思います。それをどうにかエミュレートできますか?