掲示板

Opensocial service SOAP

13年前 に Cesar William によって更新されました。

Opensocial service SOAP

Junior Member 投稿: 34 参加年月日: 10/06/07 最新の投稿
I modified the opensocial portlet to expose the service via a SOAP service. When I was using liferay 6.0.2 consumption of the web service was working fine, but when I moved to liferay 6.0.3 when I try to run a service it returns:
<faultstring> java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration can not be cast to org.apache.xerces.xni.parser.XMLParserConfiguration </ faultstring>

Why?
I've tried to remove the libraries xerces and xml-apis but continued with the same error.
What can I do?
13年前 に Cesar William によって更新されました。

RE: Opensocial service SOAP

Junior Member 投稿: 34 参加年月日: 10/06/07 最新の投稿
My GadgetServiceSoap.java:


/**
 * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.opensocial.service.http;

import com.liferay.opensocial.service.GadgetLocalServiceUtil;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;


/**
 * <p>
 * This class provides a SOAP utility for the
 * {@link com.liferay.opensocial.service.GadgetServiceUtil} service utility. The
 * static methods of this class calls the same methods of the service utility.
 * However, the signatures are different because it is difficult for SOAP to
 * support certain types.
 * </p>
 *
 * <p>
 * ServiceBuilder follows certain rules in translating the methods. For example,
 * if the method in the service utility returns a {@link java.util.List}, that
 * is translated to an array of {@link com.liferay.opensocial.model.GadgetSoap}.
 * If the method in the service utility returns a
 * {@link com.liferay.opensocial.model.Gadget}, that is translated to a
 * {@link com.liferay.opensocial.model.GadgetSoap}. Methods that SOAP cannot
 * safely wire are skipped.
 * </p>
 *
 * <p>
 * The benefits of using the SOAP utility is that it is cross platform
 * compatible. SOAP allows different languages like Java, .NET, C++, PHP, and
 * even Perl, to call the generated services. One drawback of SOAP is that it is
 * slow because it needs to serialize all calls into a text format (XML).
 * </p>
 *
 * <p>
 * You can see a list of services at
 * http://localhost:8080/tunnel-web/secure/axis. Set the property
 * <b>tunnel.servlet.hosts.allowed</b> in portal.properties to configure
 * security.
 * </p>
 *
 * <p>
 * The SOAP utility is only generated for remote services.
 * </p>
 *
 * @author    Brian Wing Shun Chan
 * @see       GadgetServiceHttp
 * @see       com.liferay.opensocial.model.GadgetSoap
 * @see       com.liferay.opensocial.service.GadgetServiceUtil
 * @generated
 */
public class GadgetServiceSoap {
private static Log _log = LogFactoryUtil.getLog(GadgetServiceSoap.class);
	
	public static String addGadget(long companyId, java.lang.String name, java.lang.String url){
		
		try{
			GadgetLocalServiceUtil.addGadget(companyId, name, url);
		} catch(Exception e){
			_log.error(e, e);
			System.out.println("AddGaget Error: " + e.getMessage());
		}
		return "Gadget added";
	}
}


I created it with:
# ant build-service
# ant build-wsdd
# ant clean deploy

What's wrong?