добавлять пользователей в liferay из .net с помощью веб-сервисов liferay - PullRequest
0 голосов
/ 17 апреля 2011

У меня есть несколько пользователей в CSV-файлах, которые нужно импортировать в liferay. Я понятия не имею о гиперзвуковых sql. Вот и подумал вставить пользователей из .net.

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

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

Есть идеи, как это сделать? или любой другой лучший подход для вставки пользователей в LifeRay. Я знаю SQL Server и C #, нет Java

Ответы [ 2 ]

1 голос
/ 20 октября 2011

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

Полученное вами сообщение вызвано проблемой в проксиклассы, сгенерированные инструментом:

RPC Сообщение 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 {

и изменить значение WrapperNameto "updateUser1":

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

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

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

0 голосов
/ 05 августа 2011

Сначала необходимо добавить веб-ссылку на конкретный веб-сервис в вашем проекте .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

Надеюсь, это поможет.

...