2010-11-26 3 views
0

.NET STSとセキュリティで保護されたWebサービスに対してJava(Metroを使用)クライアントを実行する際に問題があります。しかし、.NETベースのクライアントを実行すると、常に動作します。WSIT/JAX-WSでのHTTPメタデータ要求

JAX-WSクライアントを実行すると、実行時に(たとえ既に設計時にwsimportが実行されていても)、サービスからメタデータが要求されます。しかし、このランタイムメタデータ要求は私の問題がどこにあるかのようです。

私が直面している問題は、メタデータの実行時要求中に、WCFサービスによってエクスポートされたWSDLの一部がmexリクエスト中にJavaクライアントを「ハングアップ」させたということです。ハングアップすると、RST要求を発行する時点まで到達しません。

たとえば、私は9 [OperationContract]属性を持つ場所に移動して動作します。しかし、10番目のサービスメソッドを追加すると、機能しません。しかし、もし私が9の1つを取り除くと、それは機能します。私はミックスマッチして同じパターンが成立するので、特定のメソッドに問題はないことを知っています。

私は、パターンや理由を推測しているようには見えません。私は、サービス方法の数に制限があることを強く疑う。しかし、これは、エクスポートされたWSDLの「全体的な複雑さ」に問題がありますか?

誰にもアイデアはありますか?前にこの問題に遭遇した人はいますか?

さらに詳しい情報が必要な場合は、投稿することができます。私はちょうど最初の投稿を管理しやすい長さに保とうとしています。

また、.NET 4でSTSとセキュリティで保護されたWebサービスを実行していることを追加します.WIFに基づいているため、セキュリティ設定について心配する必要はありません。私の.NETクライアントも.NET 4です。Java側では、Netbeans 6.9.1とMetro 2.1をGlassfish 3で実行しています.Metro 2.0でも同じ問題が発生していることを確認しました。

答えて

0

上記の例に従えば、MaxMessageReceivedSizeまたはMaxStringContentLengthの制限に達する可能性があります。バインディングのMaxMessageReceivedSizeとMaxStringContentLengthの値を増やしてみましたか? WCFトレースを有効にしてみると、そのような制限に達すると警告が記録されます。

+0

応答に感謝しますが、.NETでメタデータを取得するのに問題はありません(サービス参照を追加するか、直接svcutilを使用して)。私の問題は、実行時にJavaがメタデータを取得することです。あなたが指定した値を増やしてカスタムmexバインディングを作成しましたが、それでも動作しません。 – pdalbe01

関連する問題