1

アプリケーションでは、LSとJavaの両方の設計要素でWebサービスConsumers\Providorsをかなり使用しています。

LotusScript Webコンシューマーデザイン要素にインポートしようとしているWebサービス(wcf)wsdlがあり、保存すると次のエラーが発生します。

メンバーではありません:INVOKE

...以下に示すオンライン。

関数GetCopyDestinations(service As XSD_STRING、ocsCode As XSD_STRING、Fault1 As InteropErrorInfoStruct_n1)As ArrayOfInteropMessageDestination_n1 Set GetCopyDestinations = Service.Invoke( "GetCopyDestinations"、service、ocsCode、Fault1)<<<<=====この行のエラー終了関数

私はこれを、wsdl->Webサービスクラストランスフォーマーがwsdlの構造を好まないということだと思います...?使用しているサービスを作成している開発者と協力しているので、構造を変更することができますが、上記のエラーから、どこから始めればよいのかよくわかりません。これは、オブジェクトサービスにメソッド.Invoke()があるとは思わないことを意味すると思います。

LSWebサービス要素に含まれているファイルlsxsd.lssを調べました。LS Webサービスの「スタブ」クラスはlsxsd.lssファイルにあるPortTypeBaseを継承し、PortTypeBaseにはinvoke()メソッドがないため、このメソッドがどこから継承されるのかよくわかりません。私たちが正常に使用している他のLSWebサービスは、まったく同じ構造を持っているため、これは正しいように見えます。

私が考えることができる唯一のことは、同僚にwsdlをむき出しの状態に戻し、1つのメソッドを追加して、インポートするかどうかを確認し、別のメソッドを追加するか、インポートするかどうかを確認することです。

ちなみに、私はwsをJavaコンシューマーにインポートしようとしましたが、正常にインポートされます。次に、他のすべてのJavaコンシューマーサービスに対して行うのとまったく同じ方法でスタブを構築します。これは正常に機能しているように見えます。テストハーネスエージェントを実行すると、スタブが作成されますが、アクションのいずれかを実行しようとするとエラーが発生します。

java.rmi.RemoteException:サービスの操作の説明が見つかりませんでした

これは、wsdlファイルなどでアクションが見つからないことを意味します...?実行中に出力すると、エンドポイントのURLとPortNameが正しく表示されます。

これに対する補足として...私が上記で利用しようとしているサービスは、現在本番環境で動作しているバージョンがあり、LS Webコンシューマーにありますが、新しいバージョンには新しいアクションが追加されています。次に、健全性チェックのために、「ライブ」wsdlをインポートしました...これは動作することがわかっています... LS Webコンシューマー設計要素にインポートし、テストハーネスエージェントを実行します。期待どおりに動作します...良好です。次に、「ライブ」wsdlをJavaコンシューマー設計要素にインポートしました。サービスを実行すると、同じエラーが発生します...!?

java.rmi.RemoteException:サービスの操作の説明が見つかりませんでした

だから今、私は本当に、本当に混乱しています。ここにwsdlを投稿したいのですが、NDAなどでは許可されないと思いますが、それが役に立ったら、次のようにスタブを作成しています。

ITKInteropV10Stubスタブ=(ITKInteropV10Stub)new ITKInteropServiceV10_ServiceLocator()。getITKInteropV10();

これは、私が使用する他のすべてのJavaWebサービスと同様のスタブコンストラクターパターンです。

私は数日間グーグルで検索していて、上記のエラーを検索していますが、前進する方法を見つけるのに本当に苦労しています。

バックエンドロジックは現在このサービスにアクセスするLSスクリプトライブラリにあるため、理想的には、LSWebコンシューマーでインポートを解決するのが最適です。Javaで動作させると、それも問題ありません。WebサービスからLSライブラリへのデータの取得が少し複雑になります。

コメント\提案は両手を広げて歓迎されます!

よろしく

ニック

4

1 に答える 1

3

LotusScriptでは大文字と小文字は区別されません。XSD_STRINGの「service」という変数と「Service」という別のオブジェクトがあります。これはNotesWebServiceEngineオブジェクトのように見えますか?(内部LSオブジェクト)。

于 2012-10-25T09:35:43.910 に答える