2011-04-16 4 views
0

csvファイルの一部のユーザーがライフライフにインポートされています。私はHypersonic SQLについては何も考えていません。だから、.netからユーザーを挿入することを考えました。liferay webservicesを使用してlifterayにユーザーを追加する

私はgetUserById()を呼び出して試してみました。それは私にこのエラーを与える。

updateUser1操作のRPCメッセージupdateUserRequest1には、無効な本体名updateUserがあります。それはupdateUser1である必要があります

これを行う方法はありますか?ユーザーをより多くの人に迎え入れるための他の優れた方法もあります。私はSQL ServerとC#、no javaを知っています

答えて

0

まず、.netプロジェクト内の特定のWebサービスにWeb参照を追加する必要があります。特に、Portal_UserService Webサーバーを探しているユーザーの場合あなたはテスト目的のために、ローカルのLiferayを実行している場合は、Webサービスのための完全なアドレスは次のようになります。

http://127.0.0.1:8080/tunnel-web/axis/Portal_UserService?wsdl 

そうしないと、あなたはまだWebサービスへの正しいURLに従うことによって、ライブインストールを指すことができます。

あなたのプロジェクトが進行する限り、プロジェクトにWeb参照を追加したら、そのWebメソッドとインターフェイス/クラスを呼び出して、C#のすべてのコーディングを行うことができます。

は、ここであなたがしなければならない必要があるすべては、あなたのCVSファイルを読みとにユーザーを追加する方法を使用している

name_of_your_web_reference.UserServiceSoapService proxy = new name_of_your_web_reference.UserServiceSoapService(); 
proxy.addUser("testUser",...); 

も彼らの最新のAPIドキュメントへの参照です。ここでは小さな一例です。追加の問題がある場合は、そこのメソッドを参照することができます。

Liferay 6.0.5 API Portal Services

はそれがお役に立てば幸いです。

1

私は、この応答が特にタイムリーなものではないことを認識していますが、私はこの同じ問題に遭遇しました。

あなたが受信したメッセージがツールによって生成されたプロキシクラスで問題が原因で発生します。操作updateUser1で

RPCメッセージupdateUserRequest1は、無効な身体名updateUserを持っています。

[System.ServiceModel.MessageContractAttribute(WrapperName="updateUser", 
WrapperNamespace="urn:http.service.portal.liferay.com", IsWrapped=true)] 
public partial class updateUserRequest1 { 

とWrapperName値に「updateUser1」に変更します。それはあなたが、生成されたソースコードにReference.csを行く、とupdateUserRequest1の部分クラス定義を探すことができますupdateUser1

でなければなりません。

[System.ServiceModel.MessageContractAttribute(WrapperName="updateUser1", 
WrapperNamespace="urn:http.service.portal.liferay.com", IsWrapped=true)] 
public partial class updateUserRequest1 { 

これにより、この問題が解決されます。生成されたUserServiceのプロキシクラスには別の問題がありますが、同じ方法で修正できます。

これ以外のいくつかの問題が発生しましたので、このblog postを作成しました。必要に応じてVS2010 .Netの完全なソリューションへのリンクがあります。がんばろう。

関連する問題