掲示板
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?
<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:
I created it with:
# ant build-service
# ant build-wsdd
# ant clean deploy
What's wrong?
/**
* 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?