2011-04-16 7 views
0

У меня есть некоторые пользователи в файлах csv, которые нужно импортировать в liferay. Я не имею ни малейшего представления о Hypersonic sql. Так подумал о том, чтобы вставить пользователей из .net.добавить пользователей в liferay из .net с помощью liferay webservices

Я попытался вызвать getUserById() для проверки. Это дает мне эту ошибку.

Обновление RPC-сообщенияUserRequest1 в операции updateUser1 имеет недопустимое имя пользователя bodyUser. Это должно быть updateUser1

Любая идея, как это сделать? или любой другой лучший подход к вставке пользователей в liferay. Я знаю сервер sql и C#, нет java

ответ

0

Сначала вам нужно добавить веб-ссылку на конкретный веб-сервис в проекте .net. для пользователей вы специально ищете веб-страницу Portal_UserService. Если вы работаете в Liferay на местном уровне для целей тестирования, полный адрес веб-службы должен выглядеть следующим образом:

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

В противном случае, вы можете указать на живой установки, следуя правильный URL для веб-службы.

Теперь, насколько ваш проект идет, как только вы добавили веб-ссылку в проект, вы сможете вызвать его и его методы/интерфейсы/классы и сделать все кодирование на C#. Вот небольшой пример:.

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

Все вы должны сделать, это прочитать файл CVS и использовать метод для добавления пользователей в

Здесь также ссылки на их наиболее актуальные документы API , Вы можете найти методы там, если у вас есть дополнительные проблемы, вызывающие их.

Liferay 6.0.5 API Portal Services

Надеется, что это помогает.

1

Я понимаю, что этот ответ не является особенно своевременным, но я просто столкнулся с этой проблемой, и мне пришлось рассчитывать на продолжение работы.

Сообщение, которое вы получили вызвано проблемой в прокси-классов, генерируемых с помощью инструмента:

RPC Message updateUserRequest1 в операции updateUser1 имеет недопустимое имя тела updateUser. Он должен быть updateUser1

Вы можете перейти в исходный код, сгенерированный, Reference.cs, и искать для определения частичного класса для updateUserRequest1:

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

и изменить значение WrapperName на «updateUser1»:

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

Это позволит вам пройти мимо этой проблемы. Еще одна проблема в созданном прокси-классе для UserService, но она может быть исправлена ​​аналогичным образом.

Я столкнулся с парой других ошибок за пределами этого, поэтому создал это blog post. Там есть ссылка на полное решение VS2010 .Net, если оно вам нужно. Удачи.

 Смежные вопросы

  • Нет связанных вопросов^_^